其他相关博文:
目录
(6)、配置用户newuser的账号过期日期为2025-03-01
(7)、配置用户newuser的账号最后一次修改密码的日期为2025-02-22
(2)、用户newuser使用sudo命令执行“ls /root”
更多精彩博文详见:
一、用户组管理
1、groupadd
groupadd命令用来新建用户组,语法格式如下:
groupadd [-g] gid groupname
- -g:指定新建用户组的GID,该GID必须唯一。
- gid:指用户组的GID的值。
- groupname:指用户组的名称。
新建一个名为ywuser的用户组,指定GID为1024。
[root@node01 ~]# groupadd -g 1024 ywuser
[root@node01 ~]# more /etc/group | grep ywuser --color
2、groupdel
groupdel命令用于删除用户组,语法格式如下:
groupdel groupname
- groupname:指用户组的名称。
删除一个名称为ywuser的用户组。
[root@node01 ~]# groupdel ywuser
[root@node01 ~]# more /etc/group | grep ywuser --color
二、用户管理
1、useradd
useradd命令用来新建用户,语法格式如下:
useradd [-u uid] [-g gid] [-m] [-M] [-d home] [-s shell] [-c comment] [-e expire] name
- -u uid:指定该用户的UID,该UID必须唯一。通常UID的取值范围是0~65535,0是root用户的UID,普通用户的UID从500开始。
- -g gid:指定该用户所属用户组的GID,或者所属用户组的名称。
- -m:指定创建该用户的home目录。
- -M:指定不创建该用户的home目录,与-m互斥使用。
- -d home:指定该用户的home目录路径。
- -s shell:指定该用户的默认shell。
- -c comment:指定该用户的注释信息。
- -e expire:指定该用户的账号过期时间,日期的指定格式为MM/DD/YY。
- name:指定该用户的名称。
(1)、创建普通用户
创建一个名称为newuser的用户:
该用户UID=1001,GID=1024,home路径= /home/newuser,默认shell为/bin/bash
账号过期时间为2025-02-28,账号注释为“my first user account”。
[root@node01 ~]# useradd -u 1001 -g 1024 -m -d /home/newuser -s /bin/bash -e 2025-02-28 -c "my first user account" newuser
[root@node01 ~]# cat /etc/passwd | grep newuser --color
[root@node01 ~]# cat /etc/shadow | grep newuser --color
[root@node01 ~]# ll /home
(2)、创建匿名用户
匿名用户无法登录shell进行操作,通常用于运行某个应用程序。
创建一个名为mongod的匿名用户:
该用户UID=1010 ,GID=1005,不创建home目录,默认shell为/sbin/nologin,无法登录。
[root@node01 ~]# useradd -u 1010 -g 1005 -M -s /sbin/nologin mongod
[root@node01 ~]# cat /etc/shadow | grep mongod --color
[root@node01 ~]# cat /etc/passwd | grep mongod --color
2、userdel
userdel命令用于删除用户,语法格式如下:
userdel username
- username:指用户的名称。
删除一个名称为ZX_test01的用户
[root@node01 ~]# userdel ZX_test01
[root@node01 ~]# cat /etc/passwd | grep ZX_test01 --color
3、usermod
usermod命令用来修改用户的账户属性信息,语法格式如下:
usermod [-u uid] [-g group] [-d home目录 -m] [-s shell] [-c 注释] [-l 新名称]
[-f 失效日期] [-e 过期日期] [-L | -U] name
- -u:指定用户新的UID
- -g:指定用户新的用户组
- -d:指定用户新的home路径
- -s:指定用户新的shell
- -c:指定用户新的注释
- -l:指定用户新的用户名称
- -e:指定用户账号的过期日期
- -L:锁定用户密码
- -U:解除用户密码锁定
- name:需要修改属性的用户
修改用户newuser的用户属性,uid=1008,gid=1005,用户名称为newuser02
[root@node01 ~]# usermod -u 1008 -g 1005 -l newuser02 newuser
[root@node01 ~]# cat /etc/passwd | grep newuser02 --color
[root@node01 ~]# cat /etc/shadow | grep newuser --color
三、密码管理
1、passwd
passwd命令用于设置或更改用户密码,还可以用于用户账号安全管理。
(1)、设置用户密码
1)超级管理员用户设置普通用户密码
语法格式如下:
passwd username
- username:指需要更改密码的用户
root用户设置普通用户newuser的密码
[root@node01 ~]# passwd newuser
2)普通用户设置自己的密码
语法格式如下:
passwd
- 直接在该普通用户shell下执行passwd命令即可,无需其他参数。
普通用户newuser设置自己的密码
[newuser@node01 ~]$ passwd
(2)、用户账号安全管理
passwd命令用于用于用户账号安全管理,语法格式如下:
passwd [options] [username]
- -d:删除该用户的密码。
- -l:锁定用户,该用户无法登录。
- -u:解锁用户,该用户恢复登录。
- -x <天数>:设置该用户的密码有效时限。
- -w <天数>:设置在密码过期前多少天开始提醒用户。
- -i <天数>:设置密码过期后多少天禁用该用户。
- -e:强制用户在下次登录时修改密码。
- -S:显示用户密码状态相关的信息。
上述参数只有拥有系统管理权限的用户执行。;
示例如下:
1)锁定用户newuser
[root@node01 ~]# passwd -l newuser
newuser用户无法登录
[elasticsearch@node01 ~]$ su - newuser
2)解锁用户newuser
[root@node01 ~]# passwd -u newuser
newuser用户恢复登录
[elasticsearch@node01 ~]$ su - newuser
3)强制用户在下次登录时修改密码
[root@node01 ~]# passwd -e newuser
[elasticsearch@node01 ~]$ su - newuser
4)删除用户的密码
[root@node01 ~]# passwd -d newuser
删除密码后,不需要输入密码即可登录该用户shell
[elasticsearch@node01 ~]$ su - newuser
5)其他参数执行
[root@node01 ~]# passwd -x 30 newuser
[root@node01 ~]# passwd -w 7 newuser
[root@node01 ~]# passwd -i 3 newuser
[root@node01 ~]# passwd -S newuser
2、chage
chage命令用于账号密码的时效管理,可以设置账号有效期、密码有效期等。
语法格式如下:
chage [options] [username]
- -l:列出用户密码时效信息。
- -m:配置用户多少天内不得更改密码。
- -M:配置用户密码有效期最大天数。
- -W:密码到期前提示
- -E:账号到期时间
- -d:上一次更改日期,0表示下次登录强制修改密码
- -i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
(1)、列出用户newuser的密码时效信息
[root@node01 ~]# chage -l newuser
(2)、配置用户newuser在30天内不得修改密码
[root@node01 ~]# chage -m 30 newuser
[root@node01 ~]# chage -l newuser
(3)、配置用户newuser的密码最大有效期为90天
[root@node01 ~]# chage -M 90 newuser
[root@node01 ~]# chage -l newuser
(4)、配置用户newuser的密码永不过期
[root@node01 ~]# chage -M -1 newuser
[root@node01 ~]# chage -l newuser
(5)、配置用户newuser的密码过期前7天提醒用户
[root@node01 ~]# chage -W 5 newuser
[root@node01 ~]# chage -l newuser
(6)、配置用户newuser的账号过期日期为2025-03-01
[root@node01 ~]# chage -E 2025-03-01 newuser
[root@node01 ~]# chage -l newuser
(7)、配置用户newuser的账号最后一次修改密码的日期为2025-02-22
[root@node01 ~]# chage -d 2025-02-22 newuser
[root@node01 ~]# chage -l newuser
(8)、配置用户newuser的密码到期5天后禁用该账号
[root@node01 ~]# chage -I 5 newuser
[root@node01 ~]# chage -l newuser
由上图可见,newuser用户的密码在2025-04-23过期,则该用户账号将在5天后即2025-04-28禁用。
四、其他相关命令
1、su
su命令主要用于切换用户,语法格式如下:
su [option] [username]
- -:加载切换后的用户环境变量并进入该用户的home目录
- -c command:切换为用户username并执行指令(command)后再切回原来用户
- -m: 执行 su 时不改变环境变数
(1)、切换用户newuser
[elasticsearch@node01 data]$ su newuser
切换前后用户当前路径不变
(2)、切换用户newuser但不改变用户环境变量
[elasticsearch@node01 data]$ su -m newuser
(3)、切换至用户newuser且加载该用户环境变量
[elasticsearch@node01 data]$ su - newuser
切换用户后进入newuser用户的home路径
(4)、切换至用户newuser执行ls命令后退出该用户
[elasticsearch@node01 data]$ su -c ls newuser
2、sudo
sudo命令用于以另一个用户的身份去执行命令,默认是使用超级用户或者root用户执行。在配置文件/etc/sudoers中,设置允许执行sudo命令的用户。
另外一个常用的方式,是通过sudo命令,来使用匿名用户运行应用程序。
(1)、配置用户newuser允许执行sudo命令
[root@node01 ~]# echo 'newuser ALL=(ALL) PASSWD:ALL' >> /etc/sudoers
(2)、用户newuser使用sudo命令执行“ls /root”
[newuser@node01 ~]$ sudo ls /root
列出了root用户home路径下的文件。
(3)、使用匿名用户mongod启动MongoDB服务
[root@node01 data]# sudo -u mongod /data/mongodb/mongodb_27017/bin/mongod -f /data/mongodb/mongodb_27017/mongodb.conf
可见,MongoDB服务的启动用户为mongod

































1185

被折叠的 条评论
为什么被折叠?



