能否为非文件所有者赋予 chmod 权限
正常情况下,
好像只有文件所有者及root用户才可以通过chmod修改文件的mode. 那有没办法让其它用户也有这个权限呢?
就像 通过acl让其它非所有者有权修改文件一样
目的是在web站点的ftp权限设定下用的,
web站点的文件的所有者是root, 而php_fpm以nobody用户运行。这样即使php程序的有漏洞,也不至于被cracker利用而修改root用户的文件。
但这样情况下,通过ftp客户端修改文件的mode就没办法了(ftp设置的不允许root用户登录)
于是想,是否有像acl一样设置非所有者就可以修改文件mod的方案?
[解决办法]
谁说root才可以。。文件的用户主对文件的模式具有修改权利。
php以nobody运行比较安全了,只能说比较安全,毕竟nobody对于其他文件是other用户,说不定还是有权限的。
ftp非root的话,你可以提供一个s权限的C程序my_chmod:
chown root my_chmod
chmod u+s+x o+x
my_chmod里面调用chomd修改命令行传入的文件名的权限mode即可。
在php里:
system('./mychmod ' . "'" . escapeshellcommand(filename) . "' '" . escapeshellcommand(mode) . "'");
[解决办法]
学习的 来看看