上小结介绍了 Linux 系统中的用户,本小节介绍如何添加 Linux 普通用户,添加完普通用户后可以在当前登录进程切换登录用户。
1. useradd 命令
若想要添加 Linux 系统普通用户,可以使用 useradd
命令,使用 root
账号登录 Linux 系统之后就可以添加系统普通用户了。
1.1 useradd 命令参数介绍
下面列举了一些 useradd
命令参数作用:
useradd 命令参数名称 | 功能与作用描述 |
---|---|
-b | 表示 --base-dir ,新用户主目录的基目录 |
-c | 表示 --comment ,给新用户添加备注 |
-d | 表示 --home-dir , 新账户的家目录 |
-D | 表示 --defaults ,显示或更改默认的 useradd 配置 |
-e | 表示 --expiredate ,用 YYYYY-MM-DD 格式指定一个账户过期的日期 |
-f | 表示 --inactive_days ,指定这个帐户密码过期后多少天这个账户被禁用,0表示密码一过期就立即禁用,-1表示禁用这个功能 |
-g | 表示 --gid GROUP ,指定用户登录组的GID或组名 |
-G | 表示 --groups ,指定用户除登录组之外所属的一个或多个附加组 |
-k | 表示 --skel ,使用此目录作为骨架目录 |
-K | 表示 --key ,不使用 /etc/login.defs 中的默认值 |
-l | 表示 --no-log-init ,不要将此用户添加到最近登录和登录失败数据库 |
-m | 表示 --create-home ,创建用户的家目录 |
-M | 表示 --no-create-home ,不创建用户的家目录(当默认设置里指定创建时,才用到) |
-N | 表示 --no-user-group ,不创建同名的组 |
-o | 表示 --non-unique ,允许使用重复的 UID 创建用户 |
-p | 表示 --password ,为用户账户指定默认密码 |
-r | 表示 --system ,创建一个系统账户 |
-s | 表示 --shell ,shell 指定默认登录 shell |
-u | 表示 --uid ,为账户指定一个唯一的 UID |
-U | 表示 --user-group ,创建与用户同名的组 |
-Z | 表示 --selinux-user ,为 SELinux 用户映射使用指定名字 |
若使用 useradd
命令不指定参数,则新添的用户默认参数如下:
/home/用户名
;新用户密码过期后不会被禁用;新用户账户没有被设置过期日期;新用户将 bash shell
作为默认 shell
。 1.2 添加用户
可以使用 useradd
命令新增 Linux 系统普通用户,命令如下:
useradd study_linux
执行结果如下图:
如上图所示是 /etc/passwd
文件中展示的用户信息,下面查看 /etc/shadow
文件中记录的用户信息,命令如下:
tac /etc/shadow
执行结果如下图:
2. passwd 命令设置用户密码
可以使用 passwd
命令给上述 study_linux
用户设置用户密码,命令如下:
passwd study_linux
执行结果如下图:
3. 切换当前登录用户
若想要从当前登录用户直接切换到另外一个用户,可以使用 su
命令,以切换到 study_linux
用户为例,命令如下:
su study_linux
执行结果如下图:
4. sudo 命令介绍
sudo
是 Linux 系统管理指令,是允许系统管理员让普通用户执行一些或者全部的 root 命令的一个工具,如 halt,reboot,su 等等。这样不仅减少了 root 用户的登录和管理时间,同样也提高了安全性。sudo 不是对 shell 的一个代替,它是面向每个命令的。下面演示一个普通用户执行 root
权限的过程,过程命令下:
cat /etc/shadow # 使用普通用户直接查看 /etc/shadow 会提示权限不够sudo cat /etc/shadow # 使用 sudo 执行 root 权限su root # 切换 root 用户
执行结果如下图:
Tips:之前提到过 /etc/shadow
只有 root
权限才能访问。
如上图所示切换至 root
用户之后,可以在 /etc/sudoers
文件中设置 study_linux
用户的 sudo
权限,首先使用 Vim 打开 /etc/sudoers 文件,命令如下:
vim /etc/sudoers
执行结果如下图:
保存退出之后,切换至 study_linux
用户,重新执行之前查看 /etc/shadow
文件的过程,命令如下:
su study_linuxcat /etc/shadowsudo cat /etc/shadow
执行结果如下:
5. 小结
本小节介绍了如何添加 Linux 系统用户,还介绍了如何切换当前登录用户,root 用户
可以通过修改 /etc/sudoers
文件赋予普通用户指定的 root 权限
,普通用户有了 sudo
权限之后,可以在命令前面加上 sudo
执行 root 权限
,需要注意的是本小节介绍的 /etc/sudoers
文件中设置的 study_linux
用户 sudo 权限
为 ALL
,可以指定特定的权限。