用户管理命令
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 #修改指定用户的IDusermod -l newname test1 #修改指定用户的名称为newnameusermod -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 root2、修改文件权限 chmod 777 /etc/sudoers3、修改文件内容 vim /etc/sudoers在root 那行添加xxx ALL(ALL) ALL4、保存退出后恢复文件权限 chmod 440 /etc/sudoers5、返回自己的身份 exit6、再次执行 sudo xxx 指令验证效果。sudo 权限在 /etc/sudoers 文件中该文件默认权限是440