Linux系列之——用户身份与文件权限

前言

每天更新一点 Linux 系统操作的命令,巩固自己的 Linux 的基础操作命令,学习 Linux 很久了,很多东西都忘的差不多了,是时候回顾回顾。

用户管理相关文件

家目录

  • 普通用户 /home/用户名/ 权限:700
  • 超级用户 /root/ 权限:550

用户的邮箱

  • /var/spool/mail/用户名

用户模板文件

  • /etc/skel/

用户管理命令

useradd

释义:添加用户
格式:useradd [选项] [用户名]
选项:
-u 指定UID
-d 指定用户家目录,默认/home/用户名
-c 用户说明
-g [组名] 指定初始组,默认与用户名同名的基本用户组
-G [组名] 指定附加组
-s 指定shell,默认/bin/bash
-e 用户到期时间
-N 不创建与用户名相同的基本用户组

groupadd

释义:创建用户组
格式:groupadd [选项] [组名]
选项:
-g [GID] 指定组 GID

usermod

释义:修改用户信息
格式:usermod [选项] [用户名]
选项:
-u 修改UID
-c 修改用户说明
-G 修改组名
-L 临时锁定用户
-U 解锁用户锁定

groupmod

释义:修改用户组
格式:groupmod [选项] [组名]
选项:
-g [GID] 修改组GID
-n [新组名] 修改组名

gpasswd

释义:把用户加入组或者从组中移除
格式:gpasswd [选项] [用户名]
选项:
-a [用户名] 加入
-d [用户名] 移除

passwd

释义:修改用户密码
格式:passwd [选项] [用户名]
选项:
-l 锁定用户,禁止登录
-u 解除锁定,允许用户登录
--stdin 允许通过标准输入修改用户密码
-d 使该用户可以空密码登录系统
-e 强制用户在下次登录的时候必须修改密码
-S 显示用户的密码是否被锁定,以及密码所采用的加密算法名称

chage

释义:修改用户密码状态
格式:chage [选项] [用户名]
选项:
-l 列出用户的详细密码状态
-d [日期] 修改密码最后一次更改日期
-m [天数] 两次密码修改时间间隔
-M [天数] 密码有效期
-W [天数] 密码过期警告天数
-I [天数] 密码过期后宽限天数
-E [天数] 账户实效时间

userdel

释义:删除用户
格式:userdel [选项] [用户名]
选项:
-r 删除用户的同时删除用户的家目录
-f 强制删除用户

groupdel

释义:删除组

su

释义:切换用户身份
格式:su [选项] [用户名]
选项:
- 代表连带用户的环境变量一起切换
-c 仅执行一次命令,而不切换用户身份

sudo

释义:用于给普通用户提供额外的权限来完成本来需要root管理员才能完成的任务
格式:sudo [参数] [命令]
选项:
-h 列出帮助信息
-l 列出当前用户可执行的权限
-u [用户名或UID] 以指定的用户身份执行命令
-k 清空密码的有效时间,下次执行sudo时需要再次进行密码验证
-b 在后台执行指定的命令
-p 更改询问密码的提示语

sudo 具有功能

  • 限制用户执行指定的命令
  • 记录用户执行的每一条命令
  • 配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数
  • 验证密码的后5分钟内(默认值)无需让用户再次验证密码

visudo

释义:仅root用户可以执行,该命令用来编辑sudo服务的配置文件
格式:配置文件内

#谁可以使用 允许使用的主机=(以谁的身份) 可执行命令的列表
#Allow root to run any commands anywhere
root    ALL=(ALL)                ALL
//用户  被管理主机=(可使用的身份)  授权命令(绝对路径)
%where  ALL=(ALL)                ALL
//组名  被管理主机=(可使用的身份)  授权命令(绝对路径)
#username  ALL=NOPASSWD: /usr/sbin/poweroff
//不需要验证密码

文件权限

文件类型

- 普通文件
d 目录文件
l 链接文件
b 块设备文件
c 字符设备文件
p 管道文件

普通权限

image-20201203222304186

权限更改

chown 更改所属用户所属组

格式:chown [选项] [所属用户:所属组] [文件或目录名称]
选项:
-R 递归更改

chgrp 更改用户所属组

格式:chgrp [权限] [文件或目录名称]

chmod 更改用户权限

格式:chmod [选项] [权限] [文件或目录名称]
选项:
-R 递归更改

文件特殊权限

SetUID

SUID是一种对二进制程序设置的普通权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)

SUID,必须满足普通用户可执行的文件,其他人必须有可执行权限

  • other 变成拥有这个文件的最高权限
  • passwd 文件去掉s位普通用户不能配置密码

数字表示为4,字符表示为文件所有者的执行权限位为s,如果该文件没有执行权限则为S

SetGID

SGID功能

让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置)

在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)

  • 文件不管谁创建,都属于当前文件夹的所属组
  • 数字表示为2,字符表示为文件所属组的执行权限位为s,如果该文件没有执行权限则为S

SetBit

  • SBIT,粘滞位。谁创建,谁删除。
  • 数字表示位1,字符表示为其他用户的执行权限位为t,如果该文件没有执行权限则为T

ACL权限

setfacl

释义:管理文件的ACL规则
格式:setgacl [参数] [文件名]
参数:
-R 针对目录递归
-m 针对普通文件使用
-b 删除所有ACL权限
-x 删除指定的ACL权限
-d 设置默认ACL权限

getfacl

释义:查看设置的ACL信息
格式:getfacl [文件名]

最大有效权限

  • umask

隐藏权限

chattr

释义:设置文件的隐藏权限
格式:chattr [+/-][选项] [文件]
选项:
i 无法对文件进行修改
a 仅允许追加内容,无法覆盖删除内容
S 文件内容在变更后立即同步到硬盘
s 彻底从硬盘中删除,不可恢复
A 不再修改这个文件或目录的最后访问时间
b 不再修改文件或目录的存取时间
D 检查压缩文件中的错误
d 使用dump命令备份时忽略本文件/目录
c 默认将文件或者目录进行压缩
u 当删除该文件后依然保留其在硬盘中的数据,方便日后恢复
t 让文件系统支持尾部合并
X 可以直接访问压缩文件中的内容

lsattr

释义:用于显示文件的隐藏权限
格式:lsattr [选项] [文件]

版权声明:
作者:Joker 链接:http://456787.xyz/archives/88
文章版权归作者所有,转载请注明出处。
THE END
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录

Linux 入门系列笔记

用户管理相关文件

家目录

用户的邮箱

用户模板文件

用户管理命令

useradd

groupadd

usermod

groupmod

gpasswd

passwd

chage

userdel

groupdel

su

sudo

visudo

文件权限

文件类型

普通权限

权限更改

文件特殊权限

SetUID

SetGID

SetBit

ACL权限

setfacl

getfacl

最大有效权限

隐藏权限

chattr

lsattr

关闭
目 录