Red Hat Enterprise Linux release 8.0 (Ootpa)-用户和组增删基本操作
1、查看当前系统用户:
[root@servera ~]# grep bash /etc/passwd
或者
[root@servera ~]# cat /etc/passwd | grep bash
或者:
[root@servera ~]# cut -d : -f 1 /etc/passwd
root
bin
或者 :查看可以登录系统的用户
[root@servera ~]# cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1
2、查看当前用户组:
[root@servera ~]# cat /etc/group
root:x:0:
bin:x:1:
3、新增组group01:
[root@servera ~]# groupadd group01
[root@servera ~]#
[root@servera ~]# cat /etc/group | grep group01
group01:x:1006:
4、新增用户user01,默认生成对应该用户自动生成的主组user01:
5、新增组group02:
[root@servera ~]# groupadd group02
[root@servera ~]#
[root@servera ~]# cat /etc/group | grep group02
group02:x:1008:
6、新增用户user02,设置附加组为group02
[root@servera ~]# useradd -G group02 user02
[root@servera ~]#
[root@servera ~]# id user0 //tab键补全
user01 user02
[root@servera ~]# id user02
uid=1006(user02) gid=1009(user02) groups=1009(user02),1008(group02) //主组为user02,附件组为group02
2个命令方式:usermod -G groupname username 或者:gpasswd -a username groupname
7、新增用户user03,无权访问系统上的交互式shell。如果一个用户的shell是/sbin/nologin,那么root就不能直接切换到这个用户(su命令可以从一个用户切换到另外一个用户,root也不可以切换到任何用户)
[root@servera ~]# useradd -s /sbin/nologin user03
[root@servera ~]#
[root@servera ~]# id user03
uid=1007(user03) gid=1010(user03) groups=1010(user03)
8、修改用户user01、user02、user03密码
[root@servera ~]# echo 123 | passwd --stdin user01
Changing password for user user01.
passwd: all authentication tokens updated successfully.
[root@servera ~]# echo 123 | passwd --stdin user02
Changing password for user user02.
passwd: all authentication tokens updated successfully.
[root@servera ~]# echo 123 | passwd --stdin user03
Changing password for user user03.
passwd: all authentication tokens updated successfully.
9、查看用户相关的信息目录和文件
创建用户,系统自动更新/etc/passwd、/etc/shadow、/etc/group/、/etc/gshadow四个文件里的账户和组信息
[root@servera ~]# cat /etc/passwd | grep user01
user01:x:1005:1007::/home/user01:/bin/bash
[root@servera ~]#
[root@servera ~]# cat /etc/shadow | grep user01
user01:$6$yWQbGDr.c6JVIkoE$NpYBl3zVGtgDW8/l8hgJ0dOuV58ATSp2/PojvawPWPzUz//Tab/3KEss07GV7l61h.GLRlPjWwn/S4z61xqUy/:19271:0:99999:7:::
[root@servera ~]#
[root@servera ~]# cat /etc/group | grep user01
user01:x:1007:
[root@servera ~]# cat /etc/gshadow | grep user01
user01:!::
默认情况下创建一个用户账号,会创建一个家目录和一个用户邮箱(在/var/spool/mail目录以用户名命名)
[root@servera ~]# find / -name "*user01*"
/var/spool/mail/user01
/home/user01
10、删除用户:
删除账户,系统自动删除/etc/passwd、/etc/shadow、/etc/group/、/etc/gshadow四个文件里的账户和组信息;但是如果不带-r参数,则保留家目录和一个用户邮箱文件内容
如果使用了userdel user01删除,需要手动rm -rf命令清理家目录和邮件目录,确保该文件下数据是否可以删除
rm -rf /var/spool/mail/user01 rm -rf /home/user01
11、查看用户登录历史记录last:
[root@servera ~]# last
student pts/0 172.25.250.250 Thu Oct 6 15:17 still logged in
reboot system boot 4.18.0-80.el8.x8 Thu Oct 6 15:13 still running
reboot system boot 4.18.0-80.el8.x8 Wed May 22 11:20 - 11:22 (00:01)
wtmp begins Wed May 22 11:20:27 2019
12、查看登录用户
[root@servera ~]# who
student pts/0 2022-10-06 15:17 (172.25.250.250)
附录1:useradd命令解析
作用:useradd命令用来建立用户账号和创建用户的起始目录。
用法:useradd [选项] 登录
useradd-D
useradd-D [选项]
主要选项:
●-b,--base-dir BASE_DIR:新账户的主目录的基目录。
●-c,--comment COMMENT:新账户的GECOS字段。
●-d,--home_dir HOME_DIR:新账户的主目录。
●-D,--defaults:显示或更改默认的useradd配置。
●-e,--expiredate EXPIRE_DATE:新账户的过期日期。
●-f,--inactive INACTIVE:新账户的密码不活动期。
●-g,--gid GROUP:新账户主组的名称或ID。
●-G,--groups GROUPS:新账户的附加组列表。
●-h,--help:显示帮助信息并退出。
●-k,--skel SKEL_DIR:使用此目录作为骨架目录。
●-K,--key KEY=VALUE:不使用/etc/login.defs中的默认值。
●-l,--no-log-init:不要将此用户添加到最近登录和登录失败的数据库。
●-m,--create-home:创建用户的主目录。
●-M,--no-create-home:不创建用户的主目录。
●-N,--no-user-group:不创建同名的组。
●-o,--non-unique:允许使用重复的UID创建用户。
●-p,--password PASSWORD:加密后的新账户密码。
●-r,--system:创建一个系统账户。
●-R,--root CHROOT_DIR:chroot到的目录(chroot即change root,表示改变程序执行时所参考的根目录位置。)
附录2:userdel命令解析
作用:userdel命令用来删除用户。
用法:userdel [选项] 登录
主要选项:
●-h,--help:显示帮助信息并退出。
●-r,--remove:删除主目录和邮件池。
●-R,--root CHROOT_DIR:chroot到的目录。
●-Z,--selinux-user:为用户删除所有SELinux用户映射。
●-r:把用户的主目录一起删除。
●-f:强制删除用户,即使用户当前已登录。
附录3:usermod命令解析
作用:usermod命令用来修改已有用户的信息,即更改用户的相关属性,如用户ID、主目录、用户组、登录shell等。
用法:usermod [选项] 登录
主要选项:
●-c,--comment:GECOS字段的新值。
●-d,--home HOME_DIR:用户的新主目录。
●-e,--expiredate EXPIRE_DATE:设定账户的过期日期为EXPIRE_DATE。
●-f,--inactive INACTIVE:过期INACTIVE天后,设定密码为失效状态。
●-g,--gid GROUP:强制使用GROUP为新主组。
●-G,--groups GROUPS:新的附加组列表GROUPS。
●-a,--append GROUP:将用户追加至-G选项中提到的附加组列表中,并且其他组列表中不删除此用户。
●-h,--help:显示帮助信息并退出。
●-l,--login LOGIN:新的登录名称。
●-L,--lock:锁定用户账号。
●-m,--move-home:将主目录内容移至新位置(仅与-d选项一起使用)。
●-o,--non-unique:允许使用重复的(非唯一的)UID。
●-p,--password PASSWORD:将加密的密码设为新密码。
●-R,--root CHROOT_DIR:chroot到的目录。
●-s,--shell SHELL:该用户账号的新的登录shell。
●-u,--uid UID:用户账号的新UID。
●-U,--unlock:解锁用户账号。
●-Z,--selinux-user SEUSER:用户账户的新SELinux用户映射。
附录4:passwd命令解析
作用:passwd命令用来修改账户的登录密码。
用法:passwd[选项]<账户名称>
主要选项:
●-k,--keep-tokens:保持身份验证令牌不过期。
●-d,--delete:删除已命名账号的密码(只有root用户才能进行此操作)。
●-l,--lock:锁定指定账户的密码(仅限root用户)。
●-u,--unlock:解锁指定账户的密码(仅限root用户)。
●-e,--expire:终止指定账户的密码(仅限root用户)。
●-f,--force:强制执行操作。
●-x,--maximum=DAYS:密码的最长有效时限(只有root用户才能进行此操作)。
●-n,--minimum=DAYS:密码的最短有效时限(只有root用户才能进行此操作)。
●-w,--warning=DAYS:在密码过期前多少天开始提醒用户(只有root用户才能进行此操作)。
●-i,--inactive=DAYS:在密码过期后多少天该账号会被禁用(只有root用户才能进行此操作)。
●-S,--status:报告已命名账号的密码状态(只有root用户才能进行此操作)。
●--stdin:从标准输入读取令牌(只有root用户才能进行此操作)。
附录5:groupadd命令解析
作用:groupadd命令用于将新组添加到系统中。
用法:groupadd [选项] 组
使用权限:root账户。
主要选项:
●-f,--force:如果组已经存在,则成功退出,而且如果GID已经存在,则取消-g。
●-g,--gid GID:为新组使用GID。
●-h,--help:显示帮助信息并退出。
●-K,--key KEY=VALUE:不使用/etc/login.defs中的默认值。
●-o,--non-unique:允许创建有重复GID的组。
●-p,--password PASSWORD:为新组使用经过加密的密码。
●-r,--system:创建一个系统账户。
●-R,--root CHROOT_DIR:chroot到的目录。
附录5:groupadd命令解析
作用:groupdel命令用来删除组账户。
用法:groupdel组账户名
groupdel命令无选项。可以使用 groupdel命令删除一个已有的组账户,但是该账户不能作为所有组被其他用户引用。(即组下面没有用户)
附录6:groupmod命令解析
用:groupmod命令用来修改用户组的属性。
用法:groupmod [选项] 组
主要选项:
●-g,--gid GID:将组ID改为GID。
●-h,--help:显示帮助信息并退出。
●-n,--new-name NEW_GROUP:修改组名为NEW_GROUP。
●-o,--non-unique:允许使用重复的GID。
●-p,--password PASSWORD:将密码更改为(加密过的)PASSWORD。
●-R,--root CHROOT_DIR:chroot到的目录。
附录7:gpasswd命令解析
作用:gpasswd命令用来将用户添加到组。
用法:gpasswd [选项] 组
主要选项:
●-a,--add USER:向组中添加用户USER。
●-d,--delete USER:从组中删除用户。
●-h,--help:显示帮助信息并退出。
●-Q,--root CHROOT_DIR:chroot到的目录。
●-r,--remove-password:移除组的密码。
●-R,--restrict:对其成员限制访问组。
●-M,--members USER,...:设置组的成员列表。
●-A,--administrators ADMIN,...:设置组的管理员列表。
除非使用-A 或-M 选项,否则这些选项不能结合使用。