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

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

  1. 查看useradd默认模板
1
2
3
4
5
6
7
8
9
sudo useradd -D

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

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

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

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

1
sudo usermod -aG wheel marly

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

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

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

1
userdel -r fredman

Linux命令行创建用户并加入组
http://xiaofami.github.io/2021/09/27/linux-useradd/
作者
tccmu
发布于
2021年9月27日
许可协议