皓月如我的专栏

皓月当空夜 技术点滴星辰

普通用户程序使用保留端口 && error while loading shared libraries

Linux系统中,1024及更小的端口号是不对没有root权限的用户开放的。但是也有一些办法可以绕开这个限制。
以执行程序my_proc为例进行说明:

chown root:root my_proc
chmod ug+s my_proc

将my_proc的用户和组改为root,并且为其(运行用户和运行组)赋予su权限,既可以在当前用户非root的情况下,以root用户身份调用my_proc程序了。


如果程序my_proc引用了动态库my_lib.so,运行时可能会出现以下错误:

error while loading shared libraries: my_lib.so: cannot open shared
object file: No such file or directory

这是因为my_lib.so所在路径没有被加入到环境变量LD_LIBRARY_PATH中。
一般情况下可以通过修改环境变量的方法来修复:

export LD_LIBRARY_PATH=/my/lib/path:$LD_LIBRARY_PATH

但涉及到这种跨用户的情况,上述方法并不管用,因为export命令只对当前Session生效。所以需要修改共享库配置文件/etc/ld.so.conf
在其中添加动态库所在目录,然后执行以下命令即可。

ldconfig
阅读更多
版权声明:本文为博主原创文章,转载请注明【转载自皓月如我的CSDN博客】,并贴出原始链接地址。 https://blog.csdn.net/fm0517/article/details/52353263
个人分类: Unix shell&bat
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

普通用户程序使用保留端口 && error while loading shared libraries

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭