明目标
Linux 文件的访问权限
探情景
在部署一个动态的网站(论坛)新闻站点时,如选用Linux+Apache+MySQL+PHP组合的论坛、门户等。
Apache+PHP会生成一些临时文件,如验证码图片,用完就失效,都会存放在临时目录中,/var/www/tmp/
存在的问题是:
- 安装LAMP的时候,创建
/var/www/tmp/
的用户是 root.root - 每个服务进程都有一个对应的服务用户(不登陆),如Apache+PHP的对应的服务器用户 www ,要对
/var/www/tmp/
有写权限 - 但对
/var/www/tmp/
目录来说,它是other, 不是root, 也不是 root群组。
学新知
一、对文件(或目录)的访问权限
进入Shell,切换到根目录,用ls -l
或ll
命令来查看文件访问权限
- 三类用户,分别设置访问权限
- 文件的所有者u;所有者同群组(朋友)g;其他用户o
- 每用户对应一组权限:rwx
仿示范
一、设置tmp权限
(一)创建tmp目录,用root用户
drwxr-xr-x 2 root root 4096 Mar 15 20:05 tmp
u: rwx (421) => 7
g: r-x (401) => 5
o: r-x (401) => 5
目的是将other: rwx (421) == > 7
(二)安装LAMP时候, 为Apache服务器创建的服务用户www
www用户对于 root.root来说,是other:r-x, 没有w权限。
(三)
u: rwx (421) => 7
g: r-x (401) => 5
o: r-x (401) => 5
目的是将other: rwx (421) == > 7
u: 7 g:5 o:5
u: 7 g:5 o:7
[]# chmod 757 tmp
原来的:
rwx r-x r-x tmp
[] # chmod o+w tmp
(四) 为other用户去掉 w权限
[] # chmod o-w tmp
为所有用户类型都去掉w权限
[] # chmod a-w tmp