linux的文件权限
用户身份与用户组记录 | 路径 |
用户的账号及root用户信息 | /etc/passwd |
用户的密码信息 | /etc/shadow |
用户组的组名信息 | /etc/group |
二、linux的文件属性
举例:-rw-r--r-- 1 root root 42304 Sep 4 11::23 install.log
第一列代表文件的类型和权限
①第一个字符代表文件的类型:文件、目录、链接文件等
d代表目录
-代表文件
l代表链接文件
b代表设备文件里的可以提供存储的借口设备
c代表设备文件里的串行接口设备,键盘鼠标等
②接下来的字符,以3个为一组,分别是读写执行。
解释:每个文件都对应一个inode,一个i-node可以被多个文件使用,这就是所谓的hard link。而你看到那列就是文件对应的inode的hard link的数量。执行下面的指令,也许可以稍微明白些吧
- cd /tmp
- touch f1
- ls -l f1
- ln f1 f2
- ls -l f1 f2
第三列表示文件的所有者的账号
第四列表示文件的所属用户组
第五列表示这个文件的大小,默认单位是B。
第六列表示这个文件的创建日期或者最近修改的时间。
第七列为该文件的文件名。
注意:这里存在一个问题就是文件类型是文件或者目录的情况下权限的意义是有差别的。如-rwxr-xr--其他用户可以对文件有阅读的权限,但是drwxr-xr--中虽然其他用户的权限中有可读权限,但是由于没有执行权限,所以others的用户是进不了这个目录的。一定要注意这一点。
三、改变文件的属性与权限
1.chgrp:改变文件所属的用户组。(被改变的用户组名必须在/etc/group文件内)
格式:chgrp -R 用户组 dirname/filename
-R 进行递归的持续更改,连同子目录的所有文件及目录
2.chown:改变文件的所有者。(被改变的用户必须在/etc/passwd文件内存在)
格式:chown -R 账号:用户组 文件/目录
上面:用.也行,但是像文件名中有小数点了,就会产生误判,还有一个妙用就是可以用chown单纯的修改所属用户组,如chown .chang install.log 就是修改install.log的用户组。
3.chmod:改变文件的权限。
r:4 w:2 x:1
格式:①chmod -R xyz 文件/目录
②chmod -R [u/g/o/a(all)][+/-/*//][r/w/x] 文件/目录
例:chmod u=rwx,go=rx .bashrc
chmod a-x .bashrc (所有人去掉可执行权限)