linux下文件的权限
第2位到第4位是表示文件拥有者对该文件所拥有的权限,第5位到第7位是文件拥有者所在工作组中其他用户对该文件所拥有的权限,最后3位是其他用户的对该文件所拥有的权限。
假设我要修改文件夹权限为777,则在终端输入 chmod 777 /var/home/userid/cc
文件夹的权限就变为了777。
如果是递归处理所有的文件及子目录权限可以用 chmod -R 777 /var/home/userid/cc
具体的权限(例如777的含意等)在下面解释下:
1.777有3位,最高位7是设置文件所有者访问权限,第二位是设置群组访问权限,最低位是设置其他人访问权限。
其中每一位的权限用数字来表示。具体有这些权限:
r(Read,读取,权限值为4):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目 录的权限。
w(Write,写入,权限值为2):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
x(eXecute,执行,权限值为1):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
2.首先我们来看如何确定单独一位上的权限数值,例如最高位表示文件所有者权限数值,当数字为7时,7用“rwx”表示–{4(r)+2(w)+1(x)=7}–
又如果数值为6,则用“rw-”表示–{4(r)+2(w)+0(x)=6}–,”-”表示不具备权限,这里表示不具备“执行”权限。
假如我们设定其他用户的访问权限为 “r–”,则数值为4+0+0=4
一开始许多初学者会被搞糊涂,其实很简单,我们将rwx看成二进制数,如果有则用1表示,没有则有0表示,那么rwx则可以表示成为:111
而二进制的111就是7。
谁拥有这个权限 | 文件所有者 | 组内用户 | 公共用户 |
可读=4 | 0 | 0 | 0 |
可写=2 | 0 | 0 | 0 |
可执行=1 | 0 | 0 | 0 |
实际权限,纵向相加 | 0 | 0 | 0 |
文件夹只可文件所有者有全部权限,组内用户、公共用户可读和执行(755)。一般web根目录文件夹都要这样设置,才安全。再次提示:文件夹没有执行权限,则该用户无法打开。
如果php需要在某文件夹下创建文件,请把该文件的权限全部设置:即可都可写和可执行777
为了安全起见,正常的php文件应该设置成:所有者可读可写,组用户可读,公共用户可读 644