Linux 用户管理:useradd, usermod 和 userdel 0 个改进

用户管理包括从一个用户的创建到删除过程的所有事情。用户管理有三种途径进行。

图形化工具 方法简单,适合新手,确定您不会有什么麻烦。

命令行工具 包括诸如 useradduserdelpasswd 等命令行工具。它们更多被服务器系统管理员使用。

第三种方法较少使用,那就是直接使用文本编辑器如 vi 等 编辑本地配置文件

/etc/passwd  

本地用户数据库保存在 /etc/passwd 文件中。

Linux Local User Management1

见如上截图,文件中记录通过冒号(:)分隔成7列,从左至右依次为:用户名,一个 x 值列,用户 id,主从属组 id,用户描述,用户家目录和用户登录 shell 。


root(根用户)

根用户(root)是系统中的超级用户,它拥有创建用户、删除用户的所有能力,甚至可以以其它用户身份登录的能力。根用户(root)总是拥有值为 0 的用户 id 。

Linux Local User Management2


useradd 命令

使用 useradd 命令,您可以向系统中添加一个用户。

语法:

useradd -m -d /home/<userName> -c "<userName>" <userName>  

举例:

$ sudo useradd -m -d /home/xyz -c "xyz" xyz  

Linux Local User Management3

见如上截图,我们创建一个名为 xyz 的用户,命令选项 -m 意味着创建用户家目录(home directory),-d 选项后跟家目录名,-c 选项后跟用户描述字符串。

xyz 用户创建结果,被系统分配用户 id 为 1004,主从属组 id 为 1004。


/etc/default/useradd 文件

文件 /etc/default/useradd 中包含一些创建用户默认选项。 useradd -D 命令可显示文件中的配置选项。

语法:

$ useradd -D  

Linux Local User Management4


userdel 命令

使用用户删除命令(userdel)删除一个用户。

语法:

userdel -r <userName>  

Linux Local User Management5

举例:

$ userdel -r xyz  

参看如上截图,首先通过 tail 命令打开 /etc/passwd 文件查看用户账户信息。然后,通过 'userdel -r xyz' 命令删除 xyz 用户。

再次使用 tail 命令检查 /etc/passwd 文件,查看 xyz 用户不存在了。

因此,它已被删除。


usermod 命令

usermod 命令用于修改现存用户的一些属性。

语法:

usermod -c <'newName'> <oldName>  

举例:

$ sudo usermod -c 'jhonny' john  

Linux Local User Management6

参见如上截图,名为 john 的用户通过命令被修改成 jhonny 用户名。


/etc/skel/ 目录

/etc/skel/ 目录包含一些隐含文件和配置文件做为新创建用户默认家目录中的默认文件及配置。当使用创建用户命令的 -m 命令选项时,系统会将此目录下的所有文件拷贝到新创建用户的家目录中。

Linux Local User Management7

见如上截图,/etc/skel 目录下内容被列示。


删除用户家目录(Home Directories)

通过使用 userdel -r 命令及选项指示删除用户账户的同时删除其家目录。

语法:

userdel -r <userName>  

举例:

$ sudo userdel -r john  

Linux Local User Management8

见如上截图,用户 john 的账户及其家目录都被删除。


Login Shell (登录外壳程序)

/etc/passwd 文件也告知了用户的 登录外壳程序(login shell)

Linux Local User Management9

见如上截图,用户 guest 将以 /bin/bash 外壳程序登录,而用户 jtp 将以 /bin/ksh 外壳程序登录。

可使用 usermod 命令改变一个用户的登录外壳程序。

语法:

usermod -s <newShell> <userName>  

举例:

$ sudo usermod -s /bin/bash jtp  

Linux Local User Management10

见如上截图,用户 jtp 的登录外壳程序从 /bin/ksh 改变成 /bin/bash


chsh 命令

用户可使用 chsh 命令改变他自己账户的登录外壳程序。

命令 chsh 和 chsh -s 都能改变用户外壳登录程序。

语法:

chsh  

Linux Local User Management11

见如上截图,命令 chsh 以交互方式将用户 sssit 的登录外壳程序由 /bin/sh 改变成 /bin/bash

语法:

chsh -s <newShell>  

举例:

$ chsh -s /bin/sh  

Linux Local User Management12

见如上截图,其登录外壳程序改变到 /bin/sh

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!