Linux运维之路 基础篇:(三) 用户和组管理
程序员文章站
2022-07-14 19:58:55
...
Linux运维之路 基础篇:(三) 用户和组管理用户和组管理:实现资源分派
Linux用户:
root用户:UID为0
普通用户:UID为1-65535系统用户:UID为1-499(RHEL7为1-999)
登录用户:UID为500+(RHEL7为1000+)
Linux组:将多个用户与权限相关联
root组:GID=0
普通组:系统组:GID为1-499(RHEL7为1-999)
普通组:GID为500+(RHEL7为1000+)
Linux安全上下文:
运行中的程序,进程以发起者的身份运行,进程能访问哪些资源,取决于进程的发起者
- 发起者同文件的属住,则应用文件属主权限
- 进程的发起者属于文件的属组,则应用文件属组权限
- 应用文件其他权限
启动为进程之后,其进程的属主为发起者,属组为发起者所属的组
Linux组的类别
用户的基本组(主组):每个用户只有一个主组,组名同用户名。且仅包含一个用户,私有组
用户的附加组(额外组):用户可以属于多个附加组
Linux用户和组的配置文件
/etc/passwd:保存用户及其属性信息,每个字段以:分隔
weiying:x:1000:1000:weiying:/home/weiying:/bin/bash
用户名:密码占位符:UID:GID:家目录:描述信息:登录使用的shell
/etc/group:组及其相关属性信息,每个字段以:分隔
weiying:x:1000:
组名:密码占位符:GID:用户列表(仅显示以当前组为附加组的用户列表)
/etc/shadow:用户密码及其相关属性,每个字段以:分隔
weiying:$6$OHa7LB1m$3R.aexcJg0H1M5dHCsi9KHreVzgMCn8LUb812Xt4nC3Zr4Ua2uW2iQYSB3B044lKMaFcN8vWBf3e57d8zL6Hw0:17334:0:99999:7:::
用户名:加密的密码:最后一次修改密码的时间:密码使用最小期限:密码使用最大期限:密码警告时间段:密码禁用期:账号过期日期:保留字段
加密机制:单向加密:明文文件加密为密文,不可逆
加密工具:md5sum sha(1、224、256、384、512)sum sharesecCentOS 6以后默认使用的加密方式是:sha512
/etc/gshadow:组密码 及其相关属性信息
用户创建
useradd:添加用户
格式:useradd 选项 用户名
-u:指定用户UID,并且大于UID_MIN(/etc/login.dfs)
-o 配合-u 选项,不检查UID的唯一性
-g:指定GID,组必须存在(基本组)
-G:指定用户附加组
-c:用户登录时的描述信息,注释信息
-d:指明家目录,默认在/home下与用户名同名
-N 不创建私用组做主组,使用users组做主组
-s:指明shell文件路径,默认为/etc/bash
-D:更改默认值 /etc/defult/useradd
-s:更改默认shell
-f:账号禁用期时间
-e:禁用账号过期时间
-r:创建系统用户
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
chsh更改用户使用的shell:
chsh -s shell username
newusers批量创建用户
newusers passwd格式文件
chpasswd 批量修改用户口令
cat passwd文件 | chpassed 文件格式(用户名:密码)
创建组
groupadd:创建组
格式:groupadd 选项 groupname
-g:指明GID
-r:创建系统组
用户相关命令:
id:显示用户的详细信息
-u:只查看用户的UID
-g:只查看用户的GID
-G:显示用户所属的主组和附加组
su:切换用户
格式:su 选项 [-] 用户名
—表示登录式切换,不加表示非登录式切换,不会读取用户的配置文件
-c:su - 用户名 -c 命令 以指定用户执行命令,不登录
-l:相当于加 -,登录式切换
修改用户属性
usermod:
格式:usermod 选项 用户名
-d:指定用户新的家目录,原有家目录中的内容不会移动到新的家目录中,如果要移动加-m选项
-u:指定用户新的UID
-c:指定新的注释
-l:指定新的用户名
-g:指定新的主组
-G:指定新的附加组,原有的附加组被覆盖,如果要保留加-a选项
-s:指定新的shell
-L:锁定用户
-U:解锁指定用户
chage:更改密码过期信息
-d:最后一次修改密码时间
chage -d 0 username 下一次登录强制重设密码
-E:修改账号的过期时间
-i:设置用户非活动期限
-m:密码最小使用天数 最大为-M
-w:警告期限
给用户添加密码
passwd:添加或修改密码
格式:passwd 选项 用户名
-l:锁定用户
-u:解锁指定用户
-n:指定密码使用最短期限
-x:最大使用期限
-w:指定密码过期前几天开始警告
-i:过期后还有几天能修改密码
-e:设置密码过期期限,不加时间强制用户下次登录修改密码
--stdin:从标准输入接收用户密码
例:
[[email protected] ~]# echo "admin123" | passwd --stdin user1
删除用户:
userdel:
-r:删除用户家目录
组属性修改:
groupmod:类似于usermod
-n:指定新的名字
-g:指定新的GID
组删除:
groupdel: groupdel 组名
组密码设定:
gpasswd:
格式:gpasswd 选项 组名
-a:向指定组中添加用户 -a username groupname
-d:删除用户的附加组 -d username groupname
-A user列表:设置有管理权限的用户列表
newgrp命令:
newgrp:临时切换组
如果用户属于本组,不需要密码
更改和查看组成员
groupmems [options] [action]
options:
-g, --group groupname 更改为指定组 (只有root)
Actions:
-a, --add username 指定用户加入组
-d, --delete username 从组中删除用户
-p, --purge 从组中清除所有成员
-l, --list 显示组成员列表
groups [OPTION].[USERNAME]... 查看用户所属组列表