0%

Linux命令行创建用户并加入组

以下为在Manjaro ARM下通过命令行创建用户“marly”全过程,各步骤已做分解。

  1. 查看useradd默认模板
sudo useradd -D

GROUP=984
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
  1. 创建用户
sudo useradd marly
  1. 创建密码
    sudo passwd marly
    
  2. 创建home目录
    useradd默认情况下不会创建home目录(尽管会根据模板写入passwd文件),所以需要自行创建。
    mkhomedir_helper用法:
    mkhomedir_helper {user} [umask [ path-to-skel ]]
    
    第一个参数用户名必选,umask与skel路径可选。默认umask为0022,默认skel路径为/etc/skel(模板里可以看到)。skel里面的内容会被复制一份到marly的家目录中。
    sudo mkhomedir_helper marly
    
  3. 添加用户备注
    勤于写备注是好习惯:
    sudo usermod -c "guess who is marly" marly
    
  4. 查看用户组
    查看当前用户group:
    groups
    
    等价于
    查看当前用户group:
    groups $USER
    
    查看其他用户group:
    ```bash
    $ groups git

git

不需要特殊权限即可查看。
7. 添加用户到group:
```bash
sudo usermod -aG existgroup newuser

-aG为追加用户到现有组。

新创建的用户默认会自动创建并加入与用户名同名的组,为了实现各种功能,需要将其添加到更多的组。例如,需要赋予marly管理员权限,就需要将其加入wheel组:

sudo usermod -aG wheel marly

这样marly就有权使用sudo命令了。在debian中sudo组替代了wheel。

  1. 一步创建:
    useradd -c "this shows how to create user in single line" -G git,wheel -m  fredman
    

不推荐用-p直接分配密码。删除用户用userdel:

userdel -r fredman