useradd 用户增加命令
useradd命令的功能是创建并设置用户信息。使用useradd命令可以自动完成用户信息、基本组、
家目录等的创建工作,并在创建过程中对用户初始信息进行定制。
语法格式:
useradd 参数 用户名
常用参数:
-c 添加备注文字 -M 不建立用户家目录
-d 设置新用户登录时所使用的家目录 -n 不建立以用户名称为名的组
-D 设置新用户的预设值 -o 允许创建重复UID的用户
-e 设置用户的终止日期 -p 设置用户的密码
-f 设置用户过期几日后永久停权 -r 建立系统用户
-g 设置用户对应的基本用户组 -R 设置根目录
-G 设置用户对应的扩展用户组 -s 设置新用户的默认Shell终端
-h 显示帮助信息 -u 设置用户ID
参考示例:
useradd test1 #创建指定的用户信息
useradd -M -s /sbin/nologin test2 #创建指定的用户信息,但不创建家目录,亦不让登录系统
useradd -u 6688 test3 #创建指定的用户信息,并自定义UID值
useradd -G root test4 #创建指定的用户信息,并追加指定组为该用户的扩展组
useradd -e "2025/01/01" test5 #创建指定的用户信息,并指定过期时间
注意:正在创建信箱文件: 文件已存在
文件已存在,无法创建,这是为什么?
因为在创建用户时会默认生成用户的家目录,密码文件,用户组(不指定用户组的情况下),
以及邮箱文件,而使用userdel命令删除时仅仅是删除了这个用户,
而这个用户的文件还在,那么就需要完全删除这些文件。大概有四个地方需要处理。
在/home目录下的文件
在/etc/passwd下的用户
在/etc/group下的用户组
在/var/spool/mail下的邮箱文件
usermod 用户修改命令
usermod命令来自英文词组user modify的缩写,其功能是修改用户信息中的各项参数。
在创建用户后如果发现信息错误,可以不用删除,而是用usermod命令直接修改用户信息,
并且参数会立即生效。
语法格式:
usermod 参数 用户名
常用参数:
-a 将用户添加至扩展组中 -L 锁定用户密码,使密码立即失效
-c 修改用户的备注文字 -m 将用户家目录内容移动到新位置
-d 修改用户登录时的家目录 -o 允许重复的用户ID
-e 修改用户的有效期限 -p 设置用户的新密码
-f 设置在密码过期多少天后关闭该用户 -s 修改用户登录后使用的Shell终端
-g 修改用户所属的基本群 -u 修改用户的ID
参考示例:
useradd testA ⇒ /home/testA 错误的
mkdir /home/testA 正确的
usermod -d /home/testA test1 #修改指定用户的家目录路径,注意:不能有用户正在使用该账号
usermod -u 6690 test1 #修改指定用户的ID
usermod -l newname test1 #修改指定用户的名称为newname
usermod -L test1 #锁定指定的用户,临时不允许登录系统
usermod -U test1 #解锁指定的用户,再次允许登录系统
passwd 密码修改命令
passwd命令来自英文单词password的缩写,其功能是修改用户的密码值;同时也可以对用户进行锁定等操作,但需要管理员身份才可以执行。当使用 useradd 命令来添加用户后,默认该用户还不能登录,因为没有为该用户设置密码。只有设置了密码后,才可以登录。而设置密码的命令是 passwd。
常用格式:
passwd 参数 用户名
常用参数:
-d 清除已有密码 -S 显示当前密码状态
-e 下次登录时强制修改密码 -u 解锁用户的密码值,允许修改
-f 强制执行操作而不询问 -w 设置密码到期前几天收到警告信息
-k 设置用户在期满后能仍能正常使用 -x 设置最大密码有效期
-l 锁定用户的密码值,不允许修改 --help 显示帮助信息
参考示例:
passwd #修改当前登录用户的密码值,注意输入过程中密码不可见。
passwd test1 #修改指定用户的密码值
passwd -l test1 #锁定指定用户的密码值,不允许其进行修改:
passwd -u test1 #解锁指定用户的密码值,允许其进行修改
passwd -e test2 #强制指定的用户在下次登录时必须重置其密码
passwd -d test2 #删除指定用户的密码值
passwd -S test3 #查看指定用户的密码状态
userdel 用户删除命令
userdel命令来自英文词组user delete的缩写,其功能是删除用户信息。在Linux系统中,一切都是文件,用户信息被保存到了/etc/passwd、/etc/shadow以及/etc/group文件中,因此使用userdel命令实际上就是删除指定用户在上述3个文件中的对应信息。
语法格式:
userdel 参数 用户名
常用参数:
-f 强制删除用户而不询问 -r 删除用户的家目录及其内全部子文件
-h 显示帮助信息 -Z 删除用户的SELinux映射用户
参考示例:
userdel test1 #删除指定的用户信息
userdel -r test2 #删除指定的用户信息及家目录,注意:删除的时候要慎重
su 用户提权命令
su命令来自英文单词switch user的缩写,其功能是切换用户身份。将管理员切换至任意用户身份时无须密码验证,而将普通用户切换至任意用户身份时均需密码验证。另外,添加单个减号(-)参数表示完全的身份变更,不保留之前用户的任何环境变量信息。
语法格式:
su 参数 用户名
常用参数:
— 完全地切换身份,会变更环境变量 -m 切换身份时,不变更环境变量
-c 执行完命令后,自动恢复原来的身份 -s 设置要执行的Shell终端
-f 不读取启动文件(适用于csh和tsch) --help 显示帮助信息
-l 切换身份时,同时变更工作目录 --version 显示版本信息
参考示例
su root #变更至指定的用户身份
su - root #完全变更至指定的用户身份
提权操作有两种方式:
1、su root #切换进入root身份,再操作
2、sudo xxxx #直接用sudo 来执行操作
有部分用户提示,
xxx 不在 sudoers 文件中。此事将被报告。
修改如下文件即可。
1、切换到root身份: su root
2、修改文件权限: chmod 777 /etc/sudoers
3、修改文件内容: vim /etc/sudoers
在root 那行添加:xxx ALL=(ALL) ALL
4、保存退出后,恢复文件权限: chmod 440 /etc/sudoers
5、返回自己的身份: exit
6、再次执行 sudo xxx 指令验证效果。
sudo 权限在 /etc/sudoers 文件中,该文件默认权限是440