CentOS上搭建的lamp环境经常碰到上传到htdocs目录权限不足的问题,每回像这种temp目录,runtime目录都得给个权限…… chmod 777 -R tempchmod 777 -R runtime烦…… 用setfacl命令就可以轻松搞定,下面介绍一下setfacl命令和chmod命令的区别: setfacl命令可以用来细分Linux下的文件权限。chmod命令可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限。 比较常用的用法如下: setfacl –m u:apache:rwx file 设置apache用户对file文件的rwx权限 setfacl –m g:market:rwx file 设置market用户组对file文件的rwx权限 setfacl –x g:market file 删除market组对file文件的所有权限 getfacl file 查看file文件的权限现在进入主题,网站根目录权限的问题刚装好的环境apache的运行者为daemon用户组也是daemon。首先我们把apache所属用户给apache groupadd mysqluseradd -g apache apache当然在装的过程中apache用户已经存在了 vi /etc/httpd/httpd.conf将user daemongroup daemon改成user apachegroup apache然后敲命令 setfacl -m u:apache:rwx -R /usr/local/apache2/htdocssetfacl -m d:u:apache:rwx -R /usr/local/apache2/htdocs现在web服务器的运行就交给apache用户了,并且它对/usr/local/apache2/htdocs下所文件目录拥有权限,现在查看文件看和原来比有什么变化: ll总计 64-rwxr-xr-x+ 1 zhengzs root 2205 2005-12-15 apache_pb22_ani.gif-rwxr-xr-x+ 1 zhengzs root 2410 2005-12-15 apache_pb22.gif-rwxr-xr-x+ 1 zhengzs root 1502 2005-12-15 apache_pb22.png-rwxr-xr-x+ 1 zhengzs root 2326 2004-11-21 apache_pb.gif-rwxr-xr-x+ 1 zhengzs root 1385 2004-11-21 apache_pb.png-rwxr-xr-x+ 1 zhengzs root 44 2004-11-21 index.html.bak-rwxr-xr-x+ 1 zhengzs root 17 02-01 23:18 phpinfo.phpdrwxr-xr-x+ 19 zhengzs root 4096 02-02 00:25 ThinkPHP312权限后面多了一个+(加号),说明acl已经生效了。*用acl来让apache用户对/usr/local/apache2/htdocs有所有权限,这样上传的文件就不用繁琐去chmod给权限,上传到根目录的文件网站都有权利运行,维护起来相当省事。
|