Linux用户和用户组管理(上)

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

每个用户账号都拥有一个唯一的用户名和各自的口令。

用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

实现用户账号的管理,要完成的工作主要有如下几个方面:

  • 用户账号的添加、删除与修改。
  • 用户口令的管理。
  • 用户组的管理。

新增用户(useradd)

1:命令作用​

useradd命令可以用来建立用户账号,此命令只有系统管理员root用户才能使用

2:命令格式​

useradd命令的格式为“useradd [选项] 用户账号名”

useradd命令及含义

-d:指定用户登入时的起始目录(家目录)

-c:指定用户账号的失效日期

-f:指定在密码过期后多少天即关闭该账号

-g:指定用户所属的用户组

-G:指定用户所属的附加组

-r:建立系统用户账号

-s:指定用户登入所使用的shell

-u:指定用户id

3:命令案例​

新增一个用户user1

Linux用户和用户组管理_用户组管理

新增一个用户user2,指定其UID为2000

Linux用户和用户组管理_用户组管理_02

新增一个用户user3,指定其家目录为/opt/dir

Linux用户和用户组管理_用户组_03

新增一个用户user4,指定其用户组为user3用户组

Linux用户和用户组管理_用户组管理_04

新增一个临时用户user5,设定其账号有效期至2020年12月30日

[root@stay admin]# cat /etc/passwd

Linux用户和用户组管理_用户组_05

使用useradd命令时,加上-e选项,可以在新增用户时指定其失效日期。执行命令“useradd -e 2020-12-30 user5 ”后,查看/etc/shadow文件,可以看到user5用户信息中的失效时间为18626,这个数字是从1970年1月1日为1不断累加得到的,如果想知道这个数字对应的是哪一天,可以使用date命令

Linux用户和用户组管理_用户组管理_06

修改用户(usermod)

1:命令作用​

usermod命令用于修改用户的基本信息,但不能修改已经登录系统用户的账号名称

2:命令格式​

usermod命令格式为“usermod [选项] 用户账户名”

3:命令选项​

usermod命令选项及含义

-d:修改用户登录时的目录(家目录)

-e:修改账号的有效期限

-g:修改用户所属的用户组

-G:修改用户所属的附加组

-l:修改用户账号名称

-L:锁定用户密码,使密码无效

-s:修改用户登录后使用的shell

-u:修改用户UID

-U:解除密码锁定

4:命令案例​

将user1用户的UID设置为1200

Linux用户和用户组管理_用户组管理_07

将user1用户的家目录修改为/opt/dir1

Linux用户和用户组管理_用户组管理_08

将user1用户所属的用户组修改为user2用户组

Linux用户和用户组管理_用户组管理_09

设置用户密码(passwd)

1:命令作用​

passwd命令主要用于设置用户的密码。普通用户只能设置自己的密码,而root用户,可以为所有用户设置密码

2:命令格式​

passwd命令格式为“passwd [选项] 用户账户名”

3:命令选项​

passwd命令选项及含义

-d:删除密码

-f:强制执行

-l:锁住用户密码

-s:列出密码的相关信息

-u:解开已锁定的账号

4:命令案例​

设置user1用户的密码为000000

Linux用户和用户组管理_用户组_10Linux用户和用户组管理_用户组_11

设置user1用户密码失效

Linux用户和用户组管理_用户组管理_12

解除被锁定的user1用户

Linux用户和用户组管理_用户组管理_13

设置user1用户账号密码为空

Linux用户和用户组管理_用户组_14

切换用户(su)

1:命令作用​

su命令用于用户身份的切换,包括从root用户切换为普通用户、从普通用户切换为root用户以及不同用户之间的切换三种情况。其中从root用户切换普通用户,无需输入密码,直接完成切换,其他两种情况,都需要正确输入对方的密码,才能完成切换

2:命令格式​

su命令格式为“su [选项] 用户账号名”

3:命令选项​

-c<命令>:执行完指定的命令后,即恢复原来的身份

-f:用于csh与tsch,使shell不读取启动文件

-l:变更用户身份时,变更环境变量

-s<shell>:指定要执行的shell

4:命令案例

从root用户切换至user2用户

Linux用户和用户组管理_用户组管理_15

删除用户(userdel)

1:命令作用​

userdel命令用于删除用户的相关数据,此命令只有管理员root用户才能使用

2:命令格式​

userdel命令格式为“userdel [选项] 用户账号名”

3:命令选项​

userdel命令选项及含义

-f:强制删除用户,即使用户当前已登录

-r:删除用户的同时,删除与用户相关的所有文件

4:命令案例

Linux用户和用户组管理_用户组管理_16

Linux用户和用户组管理(下)​

新增用户组(groupadd)

1:命令作用​

groupadd命令可用来建立新的用户组,只有系统管理员root用户可以使用groupadd命令,新用户组的信息将被添加到系统文件中

2:命令格式​

groupadd命令格式为“groupadd [选项] 用户组名”

3:命令选项​

groupadd命令选项及含义

-g:指定新建用户组GID

-K:覆盖配置文件“/ect/login.defs”

-o:允许使用重复的用户组GID

-p:设置用户组密码

-r:创建系统用户组

4:命令案例​

新增一个用户组group1

Linux用户和用户组管理_用户组_17

Linux用户和用户组管理_用户组_18

新增一个系统用户组group2

Linux用户和用户组管理_用户组_19

新增一个用户组group3,指定其GID为1600

Linux用户和用户组管理_用户组管理_20

新增一个用户组group4,指定其GID为1600

允许使用重复的用户组GID

[root@stay admin]# groupadd -g 1600 group4​
groupadd:GID “1600”已经存在​
[root@stay admin]# groupadd -o -g 1600 group4​
[root@stay admin]# cat /etc/group

Linux用户和用户组管理_用户组管理_21

修改用户组(groupmod)

1:命令作用​

groupmod命令用来修改用户名的相关信息,如用户组GID、名称等

2:命令格式​

groupmod命令格式为“groupmod [选项] 用户组名”

3:命令选项​

groupmod命令选项及含义

-g:修改用户组名

-o:允许使用已存在的用户组GID

-n:修改用户组名称

4:命令案例

将group4用户组的GID修改为1200

[root@stay admin]# groupmod -g 1200 group4​
[root@stay admin]# cat /etc/group

Linux用户和用户组管理_用户组管理_22

将group3用户组的GID修改为1200

[root@stay admin]# ​
[root@stay admin]# groupmod -g 1200 group3​
groupmod:GID “1200”已经存在​
[root@stay admin]# groupmod -o -g 1200 group3​
[root@stay admin]# cat /etc/group

Linux用户和用户组管理_用户组管理_23

将group4用户组的组名修改为newgroup

Linux用户和用户组管理_用户组_24

管理用户组(gpasswd)

1:命令作用​

gpasswd命令用于将一个用户添加到用户组或者从用户组中删除,还可以使用该命令给用户组设置一个组管理员

2:命令格式​

gpasswd命令格式为“gpasswd [选项] 用户组名”

3:命令选项​

gpasswd命令选项及含义

-a:将一个用户加入到一个用户组中

-d:将一个用户从一个用户组中删除

-r:取消一个用户组的组密码

-R:限制其成员访问用户组

-A:指定用户组的管理员

4:命令案例​

设置用户组group1的密码为123456

[root@stay admin]# gpasswd group1​
正在修改 group1 组的密码​
新密码:​
请重新输入新密码:​
[root@stay admin]#

Linux用户和用户组管理_用户组管理_25

删除用户组(groupdel)

1:命令作用​

groupdel命令用于删除用户组,此命令只有root用户才能使用。此命令仅适用于删除“不是任何用户初始组”的用户组,如果用户组还是某用户的初始组,则无法成功删除

2:命令格式​

groupdel命令格式为“groupdel 用户组名”

3:命令案例​

[root@stay admin]# groupdel group1​
[root@stay admin]# groupdel group2​
[root@stay admin]# groupdel group3​
[root@stay admin]# groupdel newgroup

Linux用户和用户组管理_用户组管理_26

可见已经删除

切换用户组(newgrp)

1:命令作用​

newgrp命令可以从用户的附加组中选择一个用户组,作为用户新的初始组

2:命令格式​

newgrp命令格式为“newgrp 用户组名”

3:命令案例​

新增2个用户组usergroup1、usergroup2

[root@stay admin]# groupadd usergroup1​
[root@stay admin]# groupadd usergroup2​
[root@stay admin]# useradd test​
[root@stay admin]# passwd test
更改用户 test 的密码 ​
新的密码:​
重新输入新的密码:​
passwd:所有的身份验证令牌已经成功更新。​
[root@stay admin]#

创建一个用户test,将用户test加入到usergroup1和usergroup2中

Linux用户和用户组管理_用户组管理_27

从root用户切换至test用户,创建file1文件,将test用户所属用户组切换为usergroup1,创建file2文件,将test用户所属用户组切换为usergroup2,创建file3文件

Linux用户和用户组管理_用户组_28

使用ll命令,可以看到刚创建的三个文件所属用户组分别是test用户组、usergroup1用户组、usergroup2用户组,这就是newgrp命令发挥的作用,即通过切换附加组使之成为新的初始组,从而让用户获得使用各个附加组的权限

备注:如有错误,请谅解!

此文章为本人学习笔记,仅供参考!如有重复!!!请联系本人