呃...我可以重新解释一下你的要求吗?
1.要求你的特定用户有足够的权限
2.要求一个目录下建立的内容自动获得父目录的权限.
比如 你所要共享的目录为/var/pub
1.你可以利用组权限进行管理
gruopadd group_name
添加一个组,group_name为你要添加的组名
cd /var
chgrp pub group_name
改变你的目录的属组,group_name为你所设定的组名
chmod g+rwx group_name
更改所属组的权限
gpasswd -a user_name group_name
将user_name添加为组group_name的成员.
这样你所用的账户就自动有组的操作权限了
2.很简单,系统系统sgid位
cd /var
chmod g+s pub
这样pub目录就有了s位
pub目录下的所有新建内容自动继承pub的操作权限设定.
nobody 用户变成 root 权限?
Linux 下面没有这样的。
服务器这样就是找死。
你正确的做法是看你的程序建立的文件夹是用什么用户权限的。案例上说,真个程序运行在什么用户 ID 下,这个文件就是什么 ID 的。之后你的网站也要对应运行对应的 id 。就可以了。
如果这样不可能,新建目录的程序,chown 把自己的文件夹转给网站运行的服务器程序所运行的 id 就行了。
给 nobody 直接全 root 权限,还不如让网站服务器程序运行在 root 用户状态下,之后你的服务器就可以直接送给黑客干任何事情了。
如果真的是这样被黑,有极大的可能只有重装系统后你才能重新拿到服务器的控制权。
更改nobody权限
chmod 777 /home/nobody
查看权限
ls -l |grep /home/nobody
chmod g+s /directory
在/directory下创建的目录具有和父目录相同的属性
程序中自动建立文件夹的命令中加入umask 022试试
用ROOT权限