五、用户、权限管理的常用命令
用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。
在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。
Unix/Linux系统中的root账号通常用于系统的维护和管理,它对Unix/Linux操作系统的所有部分具有不受限制的访问权限。
在Unix/Linux安装的过程中,系统会自动创建许多用户账号,而这些默认的用户就称为“标准用户”。
在大多数版本的Unix/Linux中,都不推荐直接使用root账号登录系统。
<1>查看当前用户:whoami
whoami命令用户查看当前系统当前账号的用户名。可通过cat /etc/passwd查看系统用户信息。
由于系统管理员通常需要使用多种身份登录系统,例如通常使用普通用户登录系统,然后再以su命令切换到root身份对传统进行管理。这时候就可以使用whoami来查看当前用户的身份。
<2>查看登录用户:who
who命令用于查看当前所有登录系统的用户信息。
<3>退出登录账户: exit
- 如果是图形界面,退出当前终端(Terminal);
- 如果是使用ssh远程登录,退出登陆账户;
- 如果是切换后的登陆用户,退出则返回上一个登陆账号。
-
- <4>切换用户:su
可以通过su命令切换用户,su后面可以加“-”。su和su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录:
-
- 示例
注意:如果是ubuntu平台,需要在命令前加sudo,如果在某些操作需要管理员才能操作,ubuntu无需切换到root用户即可操作,只需加sudo即可。sudo是ubuntu平台下允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root 用户的登陆和管理时间,提高了安全性。
-
- <5>添加、删除组账号:groupadd、groupdel
groupadd 组名 新建组账号 groupdel 组名 删除组账号 cat /etc/group 查看用户组信息
- <6>修改用户所在组:usermod
- 主组:通常在新建用户时指定,在 /etc/passwd 的第四列GID对应的组。
- 附加组:在 /etc/group 的最后一列表示该组的用户列表,用于指定用户的附加权限。
- usermod可以用来设置用户的 主组/附加组 和 登陆 Shell ,命令格式如下:
-
- <7>添加用户账号:useradd
在Unix/Linux中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样。
useradd命令的使用格式如下: useradd [选项及参数] 新建用户名
-
- 注意:
- 创建用户时忘记加上-m的解决方法是:删除用户,重新创建(不必考虑设置权限问题)。
- 创建用户时会默认创建一个和 用户名 同名的组。
- 用户信息保存在/etc/passwd文件中。
- 默认使用useradd添加的用户没有sudo权限,需要用命令sudo usermod -G sudo 用户名,将用户添加到sudo附加组中。
- <8>设置用户密码:passwd
在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户口令。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名。
- <9>删除用户:userdel
-
- userdel命令用法
<补>查看用户UID和GID:id
命令格式:id 用户名
-