三个文件(重要)
1./etc/passwd 用于存放用户的信息
root: x:0:0:root:/root:/bin/bash 每个字段通过:分割
1.用户名
2.用户密码占位符
3.UID
4.GID
5.用户的描述
6.当前用户的家目录
7.登录shell信息 /bin/bash 允许登录 /sbin/nologin 不允许登录
二./etc/shadow用于存放用户密码信息
root:$6$jZgHRs.98dnSK/gS$ke4.NeFqChWeMcdPgYZ.CvoHCHMUsdRTz9ZYU0sZ.ipkWEHKBz4oYLMg7Tshe3poqAiZh.EnsjsWFkPAWVSsN1::0:99999:7:::
1.用户名
2.加密后的用户密码 sha512
3.上次修改密码的时间 如果更改会显示天数 距离1970.1.1多少天
4.密码的最短有效天数(默认0)
5.最长有效天数
6.提前多少警告修改密码
7.在密码过期多少天禁用此用户
8.用户过期的时间
三./etc/group 存放用户组的信息
root:x:0:
1.用户组名称
2.用户组密码占位符
3.用户的GID
4.当前用户包含的用户(用户列表)
用户管理命令
useradd 创建用户
格式:useradd 选项 用户名
选项:
-u 指定UID useradd -u 2000 bb
-g 指定基本组或者是GID 更改GID 基本组也会发生更改
useradd -g 0 ee 指定ee的GID和基本组,基本组为root用户组
-G 指定用户的附加组
注意:-g -G 指定GID和用户组时 必须是存在的
-d:指定用户的家目录
-s:指定用户的登录shell信息 /bin/bash 允许登录 /sbin/nologin 不允许登录
id 查看用户的信息
格式:id+用户名称
批量修改相同密码用户的密码 --stdin 标准输入
echo redhat | passwd --stdin wangwu
userdel 删除用户
选项: -r 删除家目录
usermod 修改用户的信息
-u 更改UID useradd -u 2000 bb
-g 更改基本组或者是GID 更改GID 基本组也会发生更改
-G 更改用户的附加组
对那个用户更改 就把谁放在最后
-aG:添加附属组
注意:-g -G 指定GID和用户组时 必须是存在的
-d:指定用户的家目录
-m:将原有的家目录一起更改 -md
-n:
-s:指定用户的登录shell信息 /bin/bash 允许登录 /sbin/nologin 不允许登录
change 查看并修改用户的密码策略
Last password change : Nov 27, 2023 上次修改密码的时间
Password expires : never 有效期
Password inactive : never 密码禁用时间
Account expires : never 用户过期时间
Minimum number of days between password change : 0 最短有效天数
Maximum number of days between password change : 99999 最长有效天数
Number of days of warning before password expires : 7 提前几天警告
选项:
-l 列出密码策略
-M:密码最长有效天数 #
-m:密码最短有效天数 #
-W:密码警告天数
-I:密码的禁用时间 有效期过了几天之后不能登录账号
-E:账号的过期时间 #
-d:更改时间
#可能会考
创建用户组
groupadd 创建用户组
选项:
-g 指定GID
gpasswd 添加用户、去除用户
选项:
-a 添加
-d 删除
例子:gpasswd -a yy aa 将yy用户添加到aa组中
gpasswd -d yy aa 将yy用户在aa组中删除
权限
用户能否访问资源,取决于用户对资源的权限
访问权限:
文件
读取(r):允许查看文件内容,目录列表 cat less
写入(w):vim echo
可执行(x):shell脚本执行
目录
读取(r):ls
写入(w):cp 、rm、 mv、touch
可执行(x):cd
用户身份:
属主(所有者) aa用户 aa文件 拥有该文件完全控制权
数组:该文件属主的基本组
注意:目录内的文件权限取决于父目录的权限
d rwx r-x r-x. 2 root root 6 Nov 27 10:17 Desktop
目录 属主的权限 属组 其他用户 属主 属组
用户权限命令
chmod 更改权限
格式一: chmod 【ugoa】【+-=】【rwx】 文件或目录
u:所有者(属主)
g:用户组(属组)
o:其他用户
a:全部
例子:chmod u+x /aa 指定属主增加x权限
格式二: chmod xxx 文件或目录 x:数字
读:4 写:2 执行:1
chmod 421 /aa 属主:读 属组:写 其他:执行
选项:
-R:同时修改目录内的内容
chown 更改文件的所有者和属组
格式
chown 用户 文件 更改文件的属主
chown :用户组 更改文件和数组
chown 用户:用户组 更改所有者和数组
选项:
-R:同时修改目录内的内容
chgrp 只能该文件属组
chgrt 用户组 更改文件和数组
ACL:可以对不同的用户设置不同的权限
对象:
user
group
命令:
setfacl 选项 文件 #设置文件ACL权限
选项:
-m 指定权限
-x 删除acl选项
-b 清楚所有acl权限
例子:
set -m u:zhangsan:rwx /aa
set -m u:lisi:r /aa
set -m u:王五:rwx /aa
特殊权限
特殊权限
SET位权限:SUID、SGID s:SET 必须要有执行权限
SUID:针对文件的所有者进行操作
如果配置了SUID之后,其他用户使用该文件时,会临时具有属主的权限
/etc/shadow 普通用户没有权限查看、修改
SGID:如果SGID是设定在目录上面,则在该目录内所建立的文件或目录的所属组,将会自动成为此目录的所属组
chmod u+s 设置SUID
chmod g+s
粘滞位: t 存在执行权限
用户不能删除该目录中其他用户文件
chmod o+t
zhangsan lisi wangwu /aa
zahngsan:rwx
lisi:w
wangwu:x
创建用户zhangsan,lisi,wangwu,更改密码redhat
echo redhat | passwd --stdin wangwu
echo redhat | passwd --stdin lisi
echo redhat | passwd --stdin zhangsan