用户管理(usermod、passwd、userdel、su)命令

一、添加新用户
命令格式: useradd [ 选项 ]
常用选项:
-c 注释信息 —— 设定与用户相关的说明信息 ( , 真实姓名、邮箱地址等 )
-d 目录 —— 设定用户的家目录 ( 默认为 /home/ 用户名 )
-e YYYY-MM-DD—— 设置用户的失效日期 , 此日期后将不能使用该账号。
-f 天数 —— 指定密码到期后多少天账号被禁用 , 若指定为 0, 则表示账号到期后被立即禁用 ; 若指定 为 -1, 则表示
账号过期后不被禁用 ( 即密码永不过期 )
-g 组名或 GID —— 为用户指定所属的基本组 , 该组在指定时必须已存在。
-G 组名或 GID 号列表 —— 为用户指定所属的附加组 , 各组在指定时已存在 , 附加组可以有多个 , 组 之间用 “,”
隔。
-M—— 不创建用户家目录。
-N—— 不创建与用户名同名的基本组。
-p 密码 —— 指定用户的登录密码。
-s shell —— 指定用户登录后使用的 Shell, 默认是 bash
-u 用户号 —— 设置账号的 UID, 默认是已有用户的最大 UID 1 。如果同时有 -o 选项 , 则可以重复使用其他用户的标 识号。
示例 1 :新建一个用户 zhang3, 查看 passwd shadow 文件中的变化 , 并确认该用户的家目录中的初始配置文件。 [root@localhost ~]# useradd zhang3
[root@localhost ~]# tail -1 /etc/passwd
zhang3:x:1001:1001::/home/zhang3:/bin/bash
[root@localhost ~]# tail -1 /etc/shadow
zhang3:!!:16925:0:99999:7::: // 注意密码字段的内容为 !! ”, 表示密码尚未设置
[root@localhost ~]# ls -ld /home/zhang3
drwx------. 3 zhang3 zhang3 74 11 4 15:58 /home/zhang3
[root@localhost ~]# ls -A /home/zhang3
.bash_logout .bash_profile .bashrc .mozilla
示例 2 :新建一个用户 wang5 ,指定其 UID 1005 、登录 Shell /bin/bash ,账号永不过期。
示例 3 :新建一个辅助管理员用户 admin, 将其用户家目录指定为 /admin ,基本组指定为 wheel ,附加组同时属于 adm 组和root
示例 4 :新建一个用于访问 FTP zhao6 用户,禁止其登录且不创建家目录。
# useradd -u 1005 -s /bin/bash -e -1 wang5
# useradd -d /admin -g wheel -G adm,root admin st3
# useradd -M -s /sbin/nologin zhao6
二、  修改用户信息 ——usermod 命令
命令格式: usermod [ 选项 ] username
常用的选项包括 - c, - d, - m, - g, - G, - s, - u , 这些选项的意义与 useradd 命令中的选项一样,可以为用户指定新的 资源值。另外,还可以使用如下选项: -l 新用户名 —— 更改账户的名称 , 必须在该用户未登录的情况下才能使 用。 -L—— 锁定 ( 暂停 ) 用户账户 , 使其不能登录使用。 -U—— 解锁用户账户。
示例 1 :将用户 admin 的家目录移至 /home 目录下。
示例 2 :将用户 wang5 的名称修改为 wangwu, 并暂停使用该账号。
usermod -d /home/admin -m admin
usermod wang5 -l wangwu -L
三、  为用户账号设置密码 ——passwd 命令
Linux 的账户必须设置密码后,才能登录系统
命令格式: passwd [ 账户名 ]
常用选项 :
-d—— 清空指定用户的口令。这与未设置口令的账户不同 , 未设置口令的账户无法登录系统 , 而口令为空的账户可
以。
-e—— 使用户的账号密码立即过期,强迫用户下次登录时必须修改口令。
-i—— 口令过期后多少天停用账户。
-l—— 锁定 ( 停用 ) 用户账户。
-n—— 指定口令的最短存活期。
-x—— 指定密码的最长使用期限。
-u—— 解锁用户账户。
[root@localhost ~]#echo 密码 | passwd --stdin 用户名 使用该方式也可修改用户密码
示例 1 :若当前用户为 root ,请修改 root 用户的密码,并为 zhang3 用户设置密码
四、删除用户账号 ——userdel 命令
命令格式: userdel [ - r] 账户名
-r——在删除该账户的同时,一并删除该账户对应的家目录。
五、用户间切换 ——su(substitute user) 命令
命令格式: su [ 用户名 ]
root 用户切换到任何用户不需要密码验证,而从普通用户到 root 或其他普通用户均需要输入目标用户的密码 且验证成功后才可切换。
su su - 命令区别就是加载的配置文件不一样:
su 切换方式加载的文件: ~/.bashrc /etc/bashrc
su - 切换方式加载的文件: /etc/bashrc /etc/profile ~/.bashrc ~/.bash_profile
六、控制用户对系统命令的使用权限
使用 sudo 命令可以提高普通用户的操作权限,不过这个权限需要 root 用户进行配置 /etc/sudoers 文件才可使用。
sudo 的执行流程如下(默认只有 root 用户能使用):
当用户执行 sudo 时,便会让用户输入自己的密码来确认( root 执行 sudo 时不需要输入密码);
若欲切换的身份与执行者身份相同,那也不需要输入密码。
若密码输入成功,系统会去 /etc/sudoers 文件中查找该用户是否有执行 sudo 的权限;
若用户具有执行 sudo 的权限,便开始 sudo 后续接的命令;
sudo - l :列出当前用户可以执行的命令。只有在 sudoers 里的用户才能使用该选项。
sudo - u 用户名 命令 :以指定用户的身份执行命令。后面的用户是除 root 以外的,可以是用户名,也可以是 UID。
sudo - k :清除存活期时间,下次再使用 sudo 时要再输入密码。
sudo - b 命令 :在后台执行指定的命令。
sudo - p 提示语 < 操作选项 > :可以更改询问密码的提示语,其中 %u 会代换为使用者账号名称, %h 会显示主机
名称。
配置 /etc/sudoers 文件的 2 种方式
[root@localhost ~]# vim /etc/sudoers 或者 [root@localhost ~]# visudo
root ALL=(ALL) ALL
参数代表含义:
1 、用户账号:系统哪个账号可以使用 sudo 这个命令。
2 、登录者的来源主机名
3 、可切换的身份:这个账号可以切换成什么身份来执行后续的命令。默认 root 可以切换成任何人。
4 、可执行的命令:这个命令最好使用绝对路径编写。默认 root 可以切换任何身份且进行任何命令。
说明: ALL 是关键字,代表任何身份、主机或命令。

你可能感兴趣的:(linux)