当前位置: 技术问答>linux和unix
能否为非文件所有者赋予 chmod 权限
来源: 互联网 发布时间:2017-02-24
本文导语: 正常情况下, 好像只有文件所有者及root用户才可以通过chmod修改文件的mode. 那有没办法让其它用户也有这个权限呢? 就像 通过acl让其它非所有者有权修改文件一样 目的是在web站点的ftp权限设定下用的, web站点的...
正常情况下,
好像只有文件所有者及root用户才可以通过chmod修改文件的mode. 那有没办法让其它用户也有这个权限呢?
就像 通过acl让其它非所有者有权修改文件一样
目的是在web站点的ftp权限设定下用的,
web站点的文件的所有者是root, 而php_fpm以nobody用户运行。这样即使php程序的有漏洞,也不至于被cracker利用而修改root用户的文件。
但这样情况下,通过ftp客户端修改文件的mode就没办法了(ftp设置的不允许root用户登录)
于是想,是否有像acl一样设置非所有者就可以修改文件mod的方案?
好像只有文件所有者及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) . "'");
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) . "'");
|
学习的 来看看
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。