MENU

Linux笔记04-权限管理

[TOC]

1.设置文件目录的权限

通过root用户使用chmod命令修改文件或目录权限。

chmod命令设置权限时可以采用两种形式:字符形式/数字形式

1.字符形式的chmod命令

chmod [ugoa][+-=][rwx] 文件或目录

“ugoa”代表用户类别:

  • “u”表示文件所有者
  • “g”表示文件所属组
  • “o”表示其他用户
  • “a”表示所有用户
  • “+”表示增加权限
  • “-“表示去除权限
  • “=”表示设置权限

2.数字形式的chmod命令

chmod nnn 文件或目录

nnn代表三位八进制数,r,w,x权限字符分别表示为八进制数字4,2,1.

表示一个权限组合时需要将数字累加。

2.设置文件/目录的归属

使用chown命令设置文件或目录归属

chown 所有者 文件或目录
chown :所属组 文件或目录
chown 所有者:所属组 文件或目录

3.设置facl

setfacl [选项] u:用户名:权限 文件或目录名
  • -m:设置一个facl规则
  • -x:取消一个facl规则
  • -b:取消所有的facl规则

4.查看facl规则

getfacl 目录或文件名

5.启用facl规则

例:将/dev/adb1分区挂载到/home目录,并启用facl支持

mount -o acl /dev/adb1 /home

6.设置SET位权限

SET位权限针对可执行的程序文件或者目录设置分为SUID和SGID。

  • SUID表示对用户所有者添加SET位权限
  • SGID表示对所属组内的用户添加SET位权限

给文件用户设置SET位权限

chmod u+s 文件名

给目录用户组设置SET位权限

chmod g+s 目录名

当为目录设置了SGID后,所有用户在该目录中创建的文件都将属于同一个用户组,这样只要是该组的成员都将自动用于对文件的相应权限。

7.粘滞位权限SBIT

chmod o+t 目录名

只能删除自身文件

8.设置umask值

普通用户默认的umask值为0022;普通用户默认的umask值为0002。

使用umask命令查看当前用户的umask值。

创建目录的默认权限为777-umask

创建文件的默认权限为666-umask

临时修改umask值

umask 新的umask值

9.find命令按照所属关系查找

  • -user 用户名:根据所有者查找
  • -group 组名:根据所属组查找
  • -uid UID:根据UID查找
  • gid GID:根据GID查找
  • nouser:查找没有所属者的文件
  • nogroup:查找没有所属组的文件

10.find命令按照基本权限查找

精确匹配:

find 目录 -perm mode

模糊匹配:

find 目录 -perm /mode
find 目录 -perm -mode

mode指权限

区别:-perm /mode是或的关系;-perm -mode是与的关系

11.find命令按照特殊权限查找

对于特殊权限,SUID对应的数字是4,SGID对应的数字是2,粘滞位SBIT对应的数字是1。位置位于最高位。

12.设置扩展属性

chattr [-R] +/- i/a 文件
  • -R:递归修改所有的文件及子目录,这是一个可选项
  • +:表示增加扩展选项
  • -:表示减少扩展属性
  • i:表示只读属性,增加该属性后,任何人包括root用户也无权写入更改
  • a:表示追加属性,增加该属性后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全

    lsattr 文件名

查看文件扩展属性

13.sudo命令提权

普通用户不切换用户情况下,使用sudo命令提升至root权限,需要管理员密码。

在/etc/sudoers文件中授权用户使用sudo命令

用户 主机名列表=命令程序列表

授权用户组使用sudo命令

%用户组 主机名列表=命令程序列表

保存时使用wq!强制保存退出

命令程序列表需要使用命令文件路径,添加NOPASSWD:每次使用sudo命令不用输入密码


版权属于:LeeYD · Blog
本文标题:Linux笔记04-权限管理
本文链接:https://www.leeyiding.com/archives/13/
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 4.0 许可协议
若转载本文,请标明出处并告知本人

最后编辑于: 2020 年 01 月 18 日
返回文章列表 文章二维码 打赏
本页链接的二维码
打赏二维码