linux中用户的管理
访问量:2605

一、创建用户

我们知道,通过useraddadduser来添加用户,在centos6中,adduser命令对应的文件/usr/sbin/adduser是一个软链接,指向/usr/sbin/useradd,如下:

说明了,adduser命令,也就是useradd命令,所以,在使用过程中,我只会说道useradd命令。

如果对linux中用户包含的信息,还不是很熟悉的,可以查看“linux中用户简介”,这对我们操作用户很有帮助。

创建用户的格式如下:

useradd [options] username

常用参数:

参数说明
-u, --uid UID设置用户的id,即/etc/passwd文件每一行的第3个字段。
-g, --gid GROUP设置用户所属组,即/etc/passwd文件每一行的第4个字段
 -c, --comment COMMENT设置描述信息,即/etc/passwd文件每一行的第5个字段。
-d, --home-dir HOME_DIR 设置用户的家目录,即/etc/passwd文件每一行的第6个字段
-s, --shell SHELL设置用户登录shell,即/etc/passwd文件每一行的第7个字段,如果创建的是伪用户,可以指定该字段为/sbin/nologin
-G, --groups GROUPS设置用户的附加组。
 -r, --system创建一个系统用户。
-p, --password设置用户的口令(密码),即 /etc/shadow文件中每一行的第2个字段
-f, --inactive INACTIVE限定密码过期后多少天,将该用户帐号停用,即 /etc/shadow文件中每一行的第7个字段
-e, --expiredate EXPIRE_DATE设置用户的生存期,即 /etc/shadow文件中每一行的第8个字段

案例1.1

系统中,已经存在组dev,现在创建一个用户名为dev1,组为dev,附加组为test,的用户,命令如下:

 useradd -g dev -G test dev1

二、查看用户信息

1、查看当前登录的用户

使用wwho命令

2、查看某个用户信息

使用id命令,格式如下:

id username

3、查看所有的用户信息

打开 /etc/passwd文件查看即可。

或是通过如下命令:

awk -F :  '{print $1}' /etc/passwd


4、查看用户登录记录

last  查看登录成功的用户记录
lastb 查看登录不成功的用户记录

三、用户密码的操作

用户密码操作使用的是passwd命令,该命令的常用参数如下表:

参数说明
-k, --keep-tokens设置的密码,让过期的用户在期满后能仍能使用。
-d, --delete删除用户密码
-l, --lock锁住用户密码,仅root用户能够修改。
-u, --unloc解除对密码的锁定
-S, --statusc查看密码的状态

案例3.1

锁住git用户,不让其修改用户密码

当git用户修改密码的时候,就会提示passwd: Authentication token manipulation error,如下:

四、修改用户信息

修改用户信息,其实和创建用户有点类似,使用usermod命令,格式如下:

usermod [options] username

常用参数:

参数说明
-u, --uid UID设置用户的id,即/etc/passwd文件每一行的第3个字段。
-g, --gid GROUP设置用户所属组,即/etc/passwd文件每一行的第4个字段
 -c, --comment COMMENT设置描述信息,即/etc/passwd文件每一行的第5个字段。
-d, --home-dir HOME_DIR 设置用户的家目录,即/etc/passwd文件每一行的第6个字段
-s, --shell SHELL设置用户登录shell,即/etc/passwd文件每一行的第7个字段,如果创建的是伪用户,可以指定该字段为/sbin/nologin
-G, --groups GROUPS设置用户的附加组。
-p, --password设置用户的口令(密码),即 /etc/shadow文件中每一行的第2个字段
-f, --inactive INACTIVE限定密码过期后多少天,将该用户帐号停用,即 /etc/shadow文件中每一行的第7个字段
-e, --expiredate EXPIRE_DATE设置用户的生存期,即 /etc/shadow文件中每一行的第8个字段

案例4.1

给dev1用户添加一个附属组mysql,命令如下:

usermod -G mysql dev1

五、删除用户

删除用户使用的是userdel命令,格式如下:

userdel [options] username