linux - useradd / usermod / userdel

useradd 常用命令行选项

  • -d 指定用户的主目录
  • -m 如果存在不再创建,但是此目录并不属于新创建用户;如果主目录不存在,则强制创建; -m-d 一块使用。
  • -s 指定用户登录时的 shell 版本
  • -M 不创建主目录
  • -r, --system 创建一个系统账户

创建用户

  • 创建用户 cmak,指定 home 目录,指定 shell,然后创建密码
ubuntu@VM-32-13-ubuntu:~$ sudo useradd -d /home/cmak -m -s /bin/bash <username>

ubuntu@VM-32-13-ubuntu:~$ sudo passwd cmak
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
  • 修改已经存在的用户使其不允许登录
usermod -s /sbin/nologin <username>
  • 新建用户不允许登录
useradd -s /sbin/nologin <new username>

sudo useradd -r -m -s /bin/bash cmak
  • -r 建立系统帐号

手动修改密码

sudo passwd cmak

修改用户权限

这里采用修改/etc/sudoers文件的方法分配用户权限。因为此文件只有 r 权限,在改动前需要增加 w 权限,改动后,再去掉 w 权限。

sudo chmod +w /etc/sudoers
sudo vim /etc/sudoers

添加下面的配置语句,并且保存修改

cmak ALL=(ALL:ALL) ALL
sudo chmod -w /etc/sudoers

删除用户

  1. 执行 userdel:sudo userdel cmak
  2. 删除用户目录:sudo rm -rf /home/cmak
  3. 删除用户权限相关配置:删除或者注释掉 /etc/sudoers 中关于要删除用户的配置,否则无法再次创建同名用户。

sudo userdel -r <username> 加上 ``-r` 将会连同用户目录一起删掉;如果创建时主目录已经存在,即主目录不属于当前要删除的用户,则无法删除主目录。