【Linux学习】day7 用户身份与权限

用户身份与权限

UID

管理员UID为0:系统的管理员用户。

系统用户UID为1~999: Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。

普通用户UID从1000开始:是由管理员创建的用于日常工作的用户。

:在RHEL5/6上系统用户UID事1-499,而普通用户是500-65535。

【Linux学习】day7 用户身份与权限_第1张图片

useradd

新建用户

useradd [参数] 用户名
参数 作用
-d 指定用户的家目录
-e 指定账户到期时间
-u 指定用户的默认ID
-g 指定用户一个初始的用户基本组(必须存在)
-G 指定一个或者多个扩展用户组
-N 不创建与用户同名的基本用户组
-s 指定用户的默认shell解释器

groupadd

新建用户组

groupadd [参数] 用户组名

【Linux学习】day7 用户身份与权限_第2张图片

usermod

修改用户的属性

usermod [参数] 用户名
参数 作用
-c 填写账户的备注信息
-d -m 两个参数连用,可以重新指定用户的家目录并自动将旧数据迁移过去
-e 指定用户到其时间 格式为YYYY-MM-DD
-g 变更所属用户组
-G 变更扩展用户组
-L 锁定用户禁止其登陆系统
-U 解锁用户,允许其登陆系统
-s 变更默认终端
-u 修改用户的UID

chown

改变某个文件或目录的所有者所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组.

chown	[参数] [用户/:用户组] [文件/目录]

实例:chown -r :root /test
注释:将/test目录与目录下的文件所属组更改为root用户组
注:不加:则表示更改的是所有者,加:则为修改所属组。

参数 作用
-R 递归处理
-v 显示命令处理过程
-f 静默模式
-h 只对符号连接文件作修改,而更改其他任何其他相关文件
-c 类似‘-v’,但仅汇报更改的部分

chmod

改变文件或目录的权限.

chmod 	[参数]	[权限]	[文件/目录]

实例:chmod -r 775 /test
注释:修改/test目录及目录下的文件权限为775(rwxrwxr-x)

三种修改权限的方式:

  1. 权限数字:chmod 775 test.txt
  2. 权限字符:chmod rwxrwxr-x
  3. 单次模式:chmod u+rwx test (每次只能对用户权限/目录权限/其他权限的单个进行操作权限)
    注:单次模式的参数u表示修改文件所有者权限,g代表修改文件所属组权限,o代表修改其他用户权限。通过+为添加权限,-为取消权限,=为修改指定权限。

参数与chown相同。

【Linux学习】day7 用户身份与权限_第3张图片

权限项 执行 执行 执行
字符表示 r w x r w x r w x
数字表示 4 2 1 4 2 1 4 2 1
权限分配 文件所有者 文件所属组 其他任务

三种特殊权限

SUID

作用:
对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)

chmod u+s [文件名/目录]

SGID

作用:
1. 让执行者临时拥有所属组的权限(只对二进制文件程序进行设置)
2. 在某个目录中创建的文件自动继承目录的用户组(只对目录进行设置)

chmod g+s [文件名/目录]

SBIT

作用:
粘滞位、保护位;SBIT特殊权限位可确保用户只能删除自己的文件,而不能删除其他用户的文件。

chmod o+t [文件名/目录]

查看是否有特殊权限:

SUID SGID SBIT
rws rws rwt
rwS rwS rwT

数字表达:7777
7666
:如果对应位没有x执行权限,那么特殊权限应该改为大写表示。
数字表达则在普通权限前面增加一位。
【Linux学习】day7 用户身份与权限_第4张图片
【Linux学习】day7 用户身份与权限_第5张图片
【Linux学习】day7 用户身份与权限_第6张图片

文件的隐藏属性

chattr

用于设置文件的隐藏权限。

chattr +/-[参数] [文件]
参数 作用
i 无法对文件进行修改,如果对目录设置该参数,则仅能修改其中的子文件夹内容而不能新建或删除文件
a 仅能补充(追加)内容,无法覆盖或者删除内容
S 文明考吗更改后立即同步到硬盘
s 彻底从硬盘中删除,不可恢复
A 不在修改这个文件或目录的最后访问时间(a time)
b 不在修改文件或目录的存取时间
D 检查压缩文件中的存取时间
d 使用dump命令备份时忽略本文件/目录
c 默认将文件或者目录进行压缩
u 当删除该文件后依然保留其再硬盘中的数据,以便日后恢复
t 将文件系统支持尾部合并(tail-merging)
x 可以直接访问压缩文件中的内容

lsattr

用于显示文件的隐藏权限

lsattr	[参数]	[文件/目录]
  • i 参数为取消权限

文件访问控制列表(File Access Control List)

对某个指定的用户进行单独的权限控制。基于普通文件或目录设置ACL其实就是针对指定的用户或用户组设置文件或目录的操作权限。设置完成后使用ls -l参数查看该文件,文件权限后的.会变成+
(类似“精准扶贫”)

setfacl

用于管理文件的ACL规则。

setfacl	[参数]	[对象]	[文件名称]

注:此处对象可以为用户也可以为用户组,先用u/g定义,然后接对象,最后接着权限内容,格式如下
用户:u:username:rwx
用户组:g:groupname:rwx
其他:o:other:rwx
实例:
【Linux学习】day7 用户身份与权限_第7张图片

setfacl -Rm u:username:rwx test.txt
参数 作用
-b 删除所有扩展的acl规则
-d 设置默认acl规则(只能对目录文件使用)
-R 递归操作,对目录使用
-m 修改文件或目录的acl规则

| -L | 跟踪符号链接,默认情况下只跟踪符号链接文件,跳过符号链接目录 |
| -P | 跳过所有符号链接,包括符号链接文件 |

getfacl

用于显示文件上设置的ACL信息

getfacl	[文件名称]

你可能感兴趣的:(linux学习笔记)