文章目录

  • Linux用户和用户组管理
    • 一、Linux系统用户账号的管理
      • 1、添加新的用户账号
      • 2、删除账号
      • 3、修改账号
      • 4、用户口令的管理
      • 5、修改用户的用户组
    • 二、Linux系统用户组的管理
      • 1、增加一个新的用户组
      • 2、删除一个已有的用户组
      • 3、修改用户组的属性
      • 4、切换用户组
    • 三、与用户账号有关的系统文件
      • 1、/etc/passwd文件
      • 2、/etc/shadow文件
      • 3、用户组的所有信息都存放在/etc/group文件中。
    • 四、添加批量用户

Linux用户和用户组管理

一、Linux系统用户账号的管理

1、添加新的用户账号

useradd 选项 用户名
useradd –d  /home/sam -m sam
useradd -s /bin/sh -g group –G adm,root gem

-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
linux下useradd与adduser的区别:https://blog.csdn/tsummer2010/article/details/104309085

2、删除账号

删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。

userdel 选项 用户名
userdel -r sam

3、修改账号

usermod 选项 用户名
usermod -s /bin/ksh -d /home/z –g developer sam

4、用户口令的管理

指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。

passwd 选项 用户名

-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。

如果默认用户名,则修改当前用户的口令。

5、修改用户的用户组

sudo usermod -a -G [groupname] [username]

在此处,例如:sudo usermod -a -G sudo fw

执行完成后可以使用

getent group sudo

显示所有本机带有sudo权限的用户名。

二、Linux系统用户组的管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。

1、增加一个新的用户组

groupadd 选项 用户组
# groupadd group1
# groupadd -g 101 group2

-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

默认新组的组标识号是在当前已有的最大组标识号的基础上加1。

2、删除一个已有的用户组

groupdel 用户组

3、修改用户组的属性

groupmod 选项 用户组

-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字

# groupmod –g 10000 -n group3 group2

4、切换用户组

用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。

newgrp root

这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成。

三、与用户账号有关的系统文件

与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group等。

1、/etc/passwd文件

Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。

这个文件对所有用户都是可读的。
每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

2、/etc/shadow文件

由于/etc/passwd文件是所有用户都可读的,如果用户的密码太简单或规律比较明显的话,一台普通的计算机就能够很容易地将它破解,因此对安全性要求较高的Linux系统都把加密后的口令字分离出来,单独存放在一个文件中,这个文件是/etc/shadow文件。 有超级用户才拥有该文件读权限,这就保证了用户密码的安全性。

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

3、用户组的所有信息都存放在/etc/group文件中。

组名:口令:组标识号:组内用户列表

四、添加批量用户

见参考资料评论区。

参考资料

更多推荐

Linux用户和用户组管理|菜鸟教程