首先,用ls -i 查看文件的信息:
红框框起来的部分:-rw-r--r-- 一共是10位,第一位表示文件类型,-表示文件,d表示文件夹/目录;后面9位则表示权限
其中前三位是该文件/目录所属者的权限,中间三位是该文件/目录所属组的权限,最后三位是其他用户权限
权限用rwx表示:
r表示读;如果是目录,则只能浏览目录就目录下结构,即ls,不能进入目录,即cd
w表示新增修改(不包含删除,删除受上级目录权限控制);如果是目录,可增加。修改。删除目录内文件名的权限(不是文件内容)。但是需要x权限,只能先cd进去,才能操作
x表示执行,但同时也得有r,否则也执行不了。但是对于root用户不需要x权限也能执行,如果是目录,就是cd
权限的修改用chmod命令,可用数字表示法或者字符表示法。数字表示法则是根据计算机的二进制进行换算的。三位rwx分别用0和1代替,又这个权限则为1,没有则为0,这样算下来,如果rwx都有,则是111,即7;只有r_x则是101,即5;以此类推
一、chmod改变用户权限
数字表示法:
chmod 777 ./a.txt 给文件a.txt赋予777权限,相当于rwxrwxrwx,即对于这个文件,拥有者、所属组、其他用户都可对他进行读、写、执行操作
chmod 555 ./a.txt 给文件a.txt赋予555权限,相当于r_xr_xr_x,即对于这个文件,拥有者、所属组、其他用户都可对他进行读、执行操作,不能进行写操作
字符表示法:
字符表示法中,所属者为a.所属组为g,其他用户为o,所有人为a
chmod u+x,o+w ./a.txt 给文件的所属者增加x权限,给其他用户增加w权限
chmod u-x,g+w,o-x ./a.txt 为文件的所属者去掉x权限,给所属组增加w权限,给其他用户去掉x权限
chmod u=rwx,g=wx ./a.txt 给文件的所属者更新权限为rw,给所属组更新权限为wx
-R参数,递归修改
二、chown该表用户属组
chown 用户 文件或目录 更改文件或目录的所属用户
chown :组 文件或目录(冒号也可以写成点.) 更改文件或目录的所属组,也可以写成chgrp 组 文件或目录
chown 用户:组 文件或目录(冒号也可以写成点.) 更改文件或目录的所属用户和组
-R参数,递归修改
文件的属性都放在inode中,文件名放在上级目录的block中
删除文件的时候,删的是文件名,文件名在上级目录的block中放着,指向上级目录的inode(属性信息放在inode中,属性信息包括权限),所以删除的时候要看上级目录的相应权限
3、默认权限umask
root默认的umask是022
root用户:
文件夹的权限默认是755
文件的权限默认是644
普通用户:
文件夹的权限默认是775
文件的权限默认是664