CentOS上搭建的lamp环境经常碰到上传到htdocs目录权限不足的问题,每回像这种temp目录,runtime目录都得给个权限……
chmod 777 -R temp chmod 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 mysql useradd -g apache apache
当然在装的过程中apache用户已经存在了
vi /etc/httpd/httpd.conf 将 user daemon group daemon 改成 user apache group apache
然后敲命令
setfacl -m u:apache:rwx -R /usr/local/apache2/htdocs setfacl -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.php drwxr-xr-x+ 19 zhengzs root 4096 02-02 00:25 ThinkPHP312
权限后面多了一个+
(加号),说明acl已经生效了。*
用acl来让apache用户对/usr/local/apache2/htdocs
有所有权限,这样上传的文件就不用繁琐去chmod
给权限,上传到根目录的文件网站都有权利运行,维护起来相当省事。
暂无评论
写评论