用户管理
Linux 用户可以分为:超级用户(root)和普通用户。超级用户又被称为:根用户和特权用户,它拥有至高无上的权利。普通用户又被划分为管理用户和其它用户。管理用户即我们俗称的 sudoers
,他们可以临时提升权限(使用sudo命令),安装Ubuntu过程中创建的用户默认就是 sudoers
。
查看所有用户
Linux系统下的所有用户,在 passwd
配置文件中都有一条相关记录。
bash
$ sudo cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
...
he:x:1000:1000:he,,,:/home/he:/bin/bash
每一行对应一条记录,每条记录有多个字段,字段之间以 :
分割。我们可以在5号手册中查看 passwd
文件的格式和规范:
bash
$ man 5 passwd
/etc/passwd 为每个用户账户包含一行,包含使用冒号 (“:”) 分隔的七个字段,分别是:
· 登录名
· 可选的加密后的密码
· 数字用户 ID
· 数字组 ID
· 用户名和注释字段
· 用户主目录
· 可选的用户命令解释器
添加用户
我们可以使用 useradd
命令来添加用户,格式如下:
shell
格式:
useradd [选项] username
常用选项:
-m, --create-home
如果不存在,则创建用户主目录
-s, --shell SHELL
用户的登录 shell 名。
比如我们可以这样用:
bash
$ sudo useradd test1
# 这样创建的用户不会自动创建用户的家目录,默认的shell为sh
$ sudo useradd -m -s /bin/bash test2
# 这样创建的用户会自动创建用户的家目录,并可以指定使用哪个shell
删除用户
我们可以使用 userdel 命令来删除用户,格式如下:
shell
格式:
userdel [选项] username
常用选项:
-r, --remove
用户主目录中的文件将随用户主目录和用户邮箱一起删除。
比如我们可以这样用:
bash
$ sudo userdel test1
# 这样删除用户,不会删除用户的家目录和用户的邮箱。
$ sudo userdel -r test2
# 这样删除用户,会把用户的家目录和用户的邮箱一起删除。
设置密码
我们可以使用 passwd
命令来给用户设置密码:
shell
$ man passwd
passwd 命令用来更改用户账户的密码。普通用户通常只更改其自己账户的密码,而超级用户可以更改任何账户的密码。
格式:
passwd [选项] [username]
比如我们可以这样用:
shell
$ sudo passwd test1
$ sudo passwd root
切换用户
我们可以使用 su(switch user) 命令切换到另一个用户,格式如下:
shell
格式:
su [选项] [username]
比如我们可以这样用:
shell
$ sudo su
# 切换到root用户
$ sudo su test1
# 切换到test1用户
退出切换
exit
命令可以用来退出用户切换
shell
$ exit
使用 su
命令依次切换到多个用户时候,这些用户是使用栈结构来管理的。执行 su
命令相当于将用户压入栈顶,执行 exit
命令相当于将用户弹出栈顶。
注意:当用户在上述的栈结构中存在的时候,该用户是不能够被删除的。