如何对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 删除用户组
他们的用法基本和管理用户的几个命令的用法一致,所以这里就不赘述了。