练习创建用户、组

一、用户创建
useradd [options] LOGIN

示例:
useradd -r -u 48 -g apache -s /sbin/nologin -d /var/www -c "Apache" apache
**常见选项:** 
-u UID `在这里插入代码片`
-o 配合-u 选项,不检查UID的唯一性
-g GID 指明用户所属基本组,可为组名,也可以GID
-c "COMMENT“ 用户的注释信息
-d HOME_DIR 以指定的路径(不存在)为家目录
-s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r 创建系统用户 CentOS 6之前: ID<500,CentOS7 以后: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
-p 指定加密的密码

二、批量创建用户<下次完善例子
newusers passwd 格式文件
用法很简单,newusers后面直接跟一个文件,文件格式和/etc/passwd的格式相同。

三、批量修改用户口令 <下次完善例子
echo username:passwd | chpasswd

四、用户属性修改

格式:
usermod [OPTION] login
**常见选项:** 
-u UID:UID
-g GID: 新主组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使
用-a选项
-s SHELL:新的默认SHELL
-c 'COMMENT':新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
-l login_name: 新的名字
-L: lock指定用户,在/etc/shadow 密码栏的增加 ! 
-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限,即宽限

五、删除用户

格式:
userdel [OPTION]... Login
**常见选项:** 
-f, --force   强制
-r, --remove 删除用户家目录和邮箱

六、查看用户相关的ID信息

格式:
id [OPTION]... [USER]
**常见选项:** 
-u: 显示UID
-g: 显示GID
-G: 显示用户所属的组的ID
-n: 显示名称,需配合ugG使用

七、切换用户或以其他用户身份执行命令
su: 即 switch user,命令可以切换用户身份,并且以指定用户的身份执行命令

格式:su [options...] [-] [user [args...]]

**常见选项:** 
-l  --login   su -l UserName    相当于 su - UserName
-c, --command <command>         pass a single command to the shell with -c

切换用户的方式:
su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录,即不完
全切换
su - UserName:登录式切换,会读取目标用户的配置文件,切换至自已的家目录,即完全切换
说明:root su至其他用户无须密码;非root用户切换时需要密码
注意:su 切换新用户后,使用 exit 退回至旧的用户身份,而不要再用 su 切换至旧用户,否则会生成很
多的bash子进程,环境可能会混乱。

换个身份执行命令:
su [-] UserName -c 'COMMAND'
**八、设置密码**

```bash
格式:
passwd [OPTIONS] UserName
**常用选项:**
-d:删除指定用户密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
-f:强制操作
-n mindays:指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
--stdin:从标准输入接收用户密码,Ubuntu无此选项

九、修改用户密码策略

格式:
chage [OPTION]... LOGIN
**常见选项:**
-d LAST_DAY               #更改密码的时间
-m --mindays MIN_DAYS
-M --maxdays MAX_DAYS
-W --warndays WARN_DAYS
-I --inactive INACTIVE #密码过期后的宽限期
-E --expiredate EXPIRE_DATE #用户的有效期
-l 显示密码策略
示例:
[root@centos8 ~]#chage ang
Changing the aging information for ang
Enter the new value, or press ENTER for the default
 Minimum Password Age [0]: 3
 Maximum Password Age [99999]: 42
 Last Password Change (YYYY-MM-DD) [2021-03-14]: 2021-03-29       
 Password Expiration Warning [7]: 10
 Password Inactive [-1]: 20
 Account Expiration Date (YYYY-MM-DD) [-1]: 2022-03-29

十、创建组

格式
groupadd [OPTION]... group_name
常见选项:
-g GID 指明GID号;[GID_MIN, GID_MAX]
-r 创建系统组,CentOS 6之前: ID<500,CentOS 7以后: ID<1000
范例:
groupadd -g 80 -r apache

十一、修改组

格式
groupmod [OPTION]... group_name
常见选项:
-n group_name: 新名字
-g GID: 新的GID
groupdel 可以删除组
常见选项:
-f, --force 强制删除,即使是用户的主组也强制删除组,但会导致无主组的用户不可用无法登录

十二、更改组成员和密码
gpasswd命令,可以更改组密码,也可以修改附加组的成员关系

格式
gpasswd [OPTION] GROUP
常见选项:
-a user 将user添加至指定组中
-d user 从指定附加组中移除用户user
-A user1,user2,... 设置有管理权限的用户列表

十三、练习

  1. 创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"
[root@rocky-8 ~]# useradd gentoo -G root,bin -s /bin/csh -c"Gentoo Distribution"
  1. 创建下面的用户、组和组成员关系
    名字为webs 的组
[root@rocky-8 ~]# groupadd webs

用户nginx,使用webs 作为附加组

useradd nginx -G webs

用户varnish,使用webs 作为附加组

useradd varnish -G webs

用户mysql,不可交互登录系统,且不是webs 的成员,nginx,varnish,mysql密码都是
magedu

useradd -s /bin/nolog  mysql

[root@rocky-8 ~]# echo 'magedu' | passwd --stdin nginx
[root@rocky-8 ~]# echo 'magedu' | passwd --stdin varnish
[root@rocky-8 ~]# echo 'magedu' | passwd --stdin mysql

                                                                    2023年09月29日
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值