如何对linux操作系统下的用户进行管理

之前的一篇文章介绍了三个和用户、组相关的配置文件。今天来和大家说说怎么样管理linux下的用户和组。

账号管理

首先,我们来看看如何对账号进行管理。linux系统提供了一个命令,专门用来新增账号的——useradd。这个命令的参数较多,下面一一介绍。

基本用法:useradd 用户名

常用选项如下:

  • -G:后面可以接多个组名,表示该用户的附加组
  • -M:不建立用户家目录
  • -d:指定家目录,默认家目录为/home/用户名
  • -r:建立一个系统账号
  • -s:指定shell,默认为/bin/shell
  • -e:指定账号失效时间
  • -f:指定账号密码是否会失效。0立即失效,-1永远不会失效。

下面通过几个示例来讲解这个命令的使用

示例一:创建一个一般账号,不加任何选项

# useradd user1
# cat /etc/passwd | grep user1
user1:x:1003:1004::/home/user1:/bin/bash
# ll /home/user1/ -d
drwx------ 3 user1 user1 78 10月 25 14:32 /home/user1/
# grep user1 /etc/group
user1:x:1004:

示例二:创建一个系统账号

[root@localhost ~]# grep user2 /etc/passwd /etc/group
/etc/passwd:user2:x:988:982::/home/user2:/bin/bash
/etc/group:user2:x:982:
[root@localhost ~]# ll -d /home/user2
ls: 无法访问/home/user2: 没有那个文件或目录

可以看到,没有创建家目录,以及用户id小于1000

实例三:使用/sbin/nologin,不创建家目录,附加组design,admin

[root@localhost ~]# grep user3 /etc/passwd /etc/group
/etc/passwd:user3:x:1004:1005::/home/user3:/sbin/nologin
/etc/group:admin:x:1000:admin,user3
/etc/group:design:x:1001:dgn1,dgn2,user3
/etc/group:user3:x:1005:
[root@localhost ~]# ll -d /home/user3
ls: 无法访问/home/user3: 没有那个文件或目录

用户创建好了后,如果需要做修改怎么办?也很简单,使用usermod命令即可,而且它的用法几乎和useradd一致。所以这里就不赘述了。

密码管理

用户创建好了,接下来我们就需要给其分配密码了。密码的创建和修改都是一个命令passwd。普通用户只能修改自己的密码,而超级管理员可以修改任意用户的密码。修改自己的密码直接输入passwd命令即可,然后将密码输入两遍。如果是修改其他用户密码,则需要输入passwd 用户名。

除了创建和修改密码外,我们可以的对密码的过期时间进行修改。这个时候就需要使用chage命令了。关于如何修改密码的有效期等就不作说明了,非常的简单,chage [选项] 天数即可。这里着重将一个非常常用应用场景,管理员创建好了用户后,不给其分配密码,当其第一次进入系统时,必须设置密码。

[root@localhost ~]# useradd user4
[root@localhost ~]# chage -d 0 user4

删除用户

删除用户非常简单,使用userdel 用户名 即可,这个命令只有root用户可以使用。另外它有个常用的选项,使用-r选项时,可以将用户家目录也一并删除。

以上就是关于用户账号的管理,对于用户组的管理,linux也提供了几个命令

  • groupadd 创建用户组
  • groupmod 修改用户组
  • groupdel 删除用户组

他们的用法基本和管理用户的几个命令的用法一致,所以这里就不赘述了。