全部博文(212)
分类:
2007-09-18 17:34:27
我们知道,1024以下的端口只有用root才能进行一些操作,包括要启动一些程序,比如apache 等,都需要有root的权限,但如果应用了Solaris中的least privilege的特性,这样就可以对特定的普通用户来赋予特定权限,比如对于有客户要求可以让一个普通用户来监听1024以下端口,可以用命令:
#usermod -K defaultpriv=basic,net_privaddr test
来实现,其中test是用户名,赋予的权限为net_privaddr, 这个权限的具体含义可以参见privileges的man page.
PRIV_NET_PRIVADDR
Allow a process to bind to
a privileged port number. The privilege port numbers are 1-1023 (the
traditional UNIX privileged ports) as well as those ports marked as
"udp/tcp_extra_priv_ports" with the exception of the ports reserved for
use by NFS.
但问题是,我怎么知道就需要赋予这个权限那,那需要你先好好看看这个文章
简单来说,就是要用命令#ppriv -D -e
来检测你还需要什么权限。另外还有几篇好的文章可以做为参考
http://developers.sun.com/solaris/articles/program_privileges.html
1. vi /etc/user_attr。
2. 增加“appuser::::defaultpriv=basic,net_privaddr”至最后一行。
3. 重新使用appuser登录,运行应用即可。
[S8] [S9]不支持以上的方法,使用setuid或直接用root运行应用。