Linux 文件权限管理

权限管理就是对不同用户设置不同的文件访问权限,例如新建,删除,修改等

权限管理是针对文件而言的

1.权限分类

读权限(read)(r)(4)

  • 对目录:可以查看该目录内容(ls)
  • 对文件:可以查看文件内容(cat/more/less...)

写权限(write)(w)(2)

  • 对目录:可以在该目录中创建、删除、移动等操作 (mkdir/touch/mv/rm...)
  • 对文件:可以修改该文件内容(vim/vi...)

执行权限(execute)(x)(1)

  • 对目录:可以进入或切换到该目录(cd)
  • 对文件:可以执行该文件(命令/脚本)

没有权限(-)(0)

2.用户身份 UGO A

U the user who owns it

文件的拥有者/创建者

G other users in the file's group

在文件所属组中的用户

O other users not in the file's group

其他人,既不是文件的创建者也不在问阿金属组中的用户

A all users

表示所有用户,包含UGO

3. 修改文件权限 chmod

修改文件权限 (Change file mode bits)

选项全称作用
-Rrecursive递归修改目录和目录中文件的权限
  • 使用字母形式修改

添加权限:# chmod o+r,o+w,g+x 文件名

删除权限:# chmod o-r,g-w 文件名

设置权限:# chmod g=rw,o=rwx 文件名

  • 使用数字形式修改

设置权限:# chmod 777 文件名

4.修改文件属主和属组 chown

修改文件的属主和属组(Change file owner and group)

选项全称作用
-Rrecursive递归修改
  • 修改所有者: # chown 用户名 文件名
  • 修改所有组 :# chgrp 组名 文件名 或者 # chown .组名 文件名 或者 chown :组名 文件名
  • 修改所有者和所有组:# chown 用户名.组名 文件名 或者 # chown 用户名:组名 文件名

5. ACL 访问控制策略

(Access Control Lists ),它可以对某个用户或者某个组在特定文件上设置权限

设置ACL 策略 setfacl

选项全称作用
-mmodify修改或者设置ACL策略
给单个用户添加策略:# setfacl -m u:用户名:rwx 文件名
给单个组添加策略:# setfacl -m g:组名:rwx 文件名
-Rrecursive递归授权,之后新加的文件不继承该acl策略
-xremove去掉某个用户或者组的权限
去掉某个用户的策略:# setfacl -x u:用户 文件名
去掉某个组的策略:# setfacl -x g:组名 文件名
-bremove删除所有acl策略
语法:# setfacl -b 文件名
-ddefault默认acl策略,只针对目录,新建的文件也会继承acl策略

查看ACl策略 getfacl

getfacl 文件名

6.高级权限

冒险位(SETUID)

针对命令,让执行命令的人具有和该命令拥有者相同的权限,使用 s S 4表示

  • 设置冒险位:# chmod u+s 文件名 或者 # chmod 4xxx 文件名

强制位(SETGID)

针对目录,当目录拥强制位,该目录中所创建的任何文件的属组都和该目录的属组一致,使用 s S 2表示

  • 设置强制位:# chmod g+s 文件名 或者 # chmod 2xxx 文件名

粘滞位 (STICKY)

针对公共目录,当某个目录具有粘滞位,该目录下的文件只有创建者能够删除,root除外,使用 t T 1表示

  • 设置粘滞位: # chmod o+t 文件名 或者 # chmod 1xxx 文件名

7.默认权限

指得是用户创建文件后,文件的默认权限

通过umask控制,是针对用户设置的,不同用户mask值不同

mask 值计算方式

Linux系统中,默认创建目录的最大权限是0777,文件的最大权限是0666保证系统安全,不让文件默认具有可执行权限');计算mask值时,当值不够时,向上取最近的权限值

  • 目录:mask值=目录最大权限(0777)- 默认权限
  • 文件:mask值=文件最大权限(0666)- 默认权限

umask

控制用户创建文件的默认权限

临时控制 :

# umask 权限值

永久控制:

修改配置文件,全局控制 /etc/bashrc ,局部控制 ~/.bashrc ,在文件的最后追加: umask 0007

Last modification:April 27th, 2019 at 10:47 pm