Linux 手册 | 用户管理命令¶
切换用户¶
Linux 是一个多用户的操作系统, 可以同时登陆多个用户, 因此很多时候需要在多个用户之间切换, 用户切换需要使用 su
或者 su -
。使用 su
只切换用户, 当前的工作目录不会变化, 但是使用 su -
不仅会切换用户也会切换工作目录, 工作目录切换为当前用户的家目录。
从用户 A 切换到用户 B , 如果还想再切换回用户 A,可以直接使用 exit
。
Bash | |
---|---|
添加/删除用户¶
作为一个普通用户是没有给系统添加新用户这个权限的, 如果想要添加新用户可以先切换到 root
用户, 或者基于普通用户为其添加管理员权限来完成新用户的添加。添加新用户需要使用 adduser/useradd
命令来完成。
添加新用户¶
当新用户添加完毕之后, 我们可以切换到新添加的用户下, 用来检测是否真的添加成功了, 另外我们也可以使用其他方式来检验, 首先在 /home
目录中会出现一个和用户名同名的目录, 这就是新创建的用户的家目录, 另外我们还可以查看 /etc/passwd
文件, 里边记录着新添加的用户的更加详细的信息:
删除用户¶
删除用户并不是将 /home
下的用户家目录删除就完事儿了, 我们需要使用 userdle
命令才能删除用户在系统中的用户 ID 和所属组 ID 等相关信息,但是需要注意的是在某些 Linux 版本中用户虽然被删除了, 但是它的家目录却没有被删除,需要我们手动将其删除。
Bash | |
---|---|
由于Linux的版本很多, 删除用户对应的操作指令不是唯一的, 经测试在 CentOS 版本只支持 userdel
命令, 在 Ubuntu 中既支持 userdel
也支持 deluser
命令。
添加删除用户组¶
默认情况下, 只要创建新用户就会得到一个同名的用户组, 并且这个用户属于这个组。一般情况下不需要创建新的用户组,如果有需求可以使用 groupadd
添加用户组, 使用 groupdel
删除用户组。
由于普通用户没有添加删除用户组权限,因此需要在管理员(root)用户下操作,或者在普通用户下借助管理员权限完成该操作。
如果验证用户组是否添加成功了, 可以查看 /etc/group
文件, 里边有用户组相关的信息:
- 在 Ubuntu 中添加删除用户组可以使用
addgroup/groupadd
和delgroup/groupdel
; - 在 CentOS 中添加和删除用户只能使用
groupadd
和groupdel
。
我们只需要通过 which
命令名 查看,就能知道该 Linux 版本是不是支持使用该命令了。
修改密码¶
Linux 中设置用户密码和修改用户密码的方式是一样的, 修改用户密码又分几种情况:
- 修改当前用户密码;
- 普通用户 A 修改其他普通用户密码;
- 普通用户 A 修改 root 用户密码;
- root 用户修改普通用户密码。
修改密码需要使用 passwd
命令。当创建了一个普通用户却没有提示指定密码, 或者忘记了用户密码都可以通过该命令来实现自己重置密码的需求。
- 当前用户修改自己的密码, 默认是有权限操作的;
- 当前普通用户修改其他用户密码, 默认没有权限, 需要借助管理员权限才能完成操作;
- 当前普通用户修改 root 用户密码, 默认没有权限, 需要借助管理员权限才能完成操作;
- root 用户修改其他普通用户密码, 默认有权限, 可以直接修改。
Bash | |
---|---|
通过以上介绍的相关命令我们可以知道,如果让一个普通用户可以使用管理员权限执行一些指令其实是非常危险的,因此普通用户默认是没有使用 sudo 的权限的,必须授权才能使用,工作场景中授权操作一定要慎重。