Ubantu 创建用户并赋sudo权限

Dec 13, 2018 阅读(1637)

标签: Ubuntu

useradd 帮助文档

中文:

smqk@lenovo:~$ useradd -h
用法:useradd [选项] 登录
      useradd -D
      useradd -D [选项]

选项:
  -b, --base-dir BASE_DIR	新账户的主目录的基目录
  -c, --comment COMMENT     新账户的 GECOS 字段
  -d, --home-dir HOME_DIR   新账户的主目录
  -D, --defaults			显示或更改默认的 useradd 配置
  -e, --expiredate EXPIRE_DATE  新账户的过期日期
  -f, --inactive INACTIVE       新账户的密码不活动期
  -g, --gid GROUP		新账户主组的名称或 ID
  -G, --groups GROUPS	新账户的附加组列表
  -h, --help            显示此帮助信息并推出
  -k, --skel SKEL_DIR	使用此目录作为骨架目录
  -K, --key KEY=VALUE   不使用 /etc/login.defs 中的默认值
  -l, --no-log-init		不要将此用户添加到最近登录和登录失败数据库
  -m, --create-home		创建用户的主目录
  -M, --no-create-home	不创建用户的主目录
  -N, --no-user-group	不创建同名的组
  -o, --non-unique		允许使用重复的 UID 创建用户
  -p, --password PASSWORD		加密后的新账户密码
  -r, --system                  创建一个系统账户
  -R, --root CHROOT_DIR         chroot 到的目录
  -s, --shell SHELL		新账户的登录 shell
  -u, --uid UID			新账户的用户 ID
  -U, --user-group		创建与用户同名的组
  -Z, --selinux-user SEUSER		为 SELinux 用户映射使用指定 SEUSER
      --extrausers              Use the extra users database

smqk@lenovo:~$ uname -a
Linux lenovo 4.4.0-140-generic #166-Ubuntu SMP Wed Nov 14 20:09:47 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

英文

root@xuexiyuan:~# useradd -h
Usage: useradd [options] LOGIN
       useradd -D
       useradd -D [options]

Options:
  -b, --base-dir BASE_DIR       base directory for the home directory of the
                                new account
  -c, --comment COMMENT         GECOS field of the new account
  -d, --home-dir HOME_DIR       home directory of the new account
  -D, --defaults                print or change default useradd configuration
  -e, --expiredate EXPIRE_DATE  expiration date of the new account
  -f, --inactive INACTIVE       password inactivity period of the new account
  -g, --gid GROUP               name or ID of the primary group of the new
                                account
  -G, --groups GROUPS           list of supplementary groups of the new
                                account
  -h, --help                    display this help message and exit
  -k, --skel SKEL_DIR           use this alternative skeleton directory
  -K, --key KEY=VALUE           override /etc/login.defs defaults
  -l, --no-log-init             do not add the user to the lastlog and
                                faillog databases
  -m, --create-home             create the user's home directory
  -M, --no-create-home          do not create the user's home directory
  -N, --no-user-group           do not create a group with the same name as
                                the user
  -o, --non-unique              allow to create users with duplicate
                                (non-unique) UID
  -p, --password PASSWORD       encrypted password of the new account
  -r, --system                  create a system account
  -R, --root CHROOT_DIR         directory to chroot into
  -s, --shell SHELL             login shell of the new account
  -u, --uid UID                 user ID of the new account
  -U, --user-group              create a group with the same name as the user
  -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping
      --extrausers              Use the extra users database

root@xuexiyuan:~# uname -a
Linux xuexiyuan 4.4.0-117-generic #141-Ubuntu SMP Tue Mar 13 11:58:07 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

 

useradd 创建用户

root@xuexiyuan:~# useradd -m -p password123 webadmin
// 虽然通过-p 设置了用户密码,但还是不能登录,需要通过再通过 passwd 设置密码后才能登录
root@xuexiyuan:~# passwd webadmin
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

 

userdel 删除用户

// 删除正在登录 webadmin 用户会报错,删除用户失败
root@xuexiyuan:~# userdel -r webadmin
userdel: user webadmin is currently used by process 7992

// 加 -f 参数,强制删除,webadmin用户被删除后登录不会被立即断掉
root@xuexiyuan:~# userdel -rf webadmin
userdel: user webadmin is currently used by process 7992
userdel: webadmin mail spool (/var/mail/webadmin) not found

 

useradd 创建用户

// 创建用户
root@xuexiyuan:~# useradd -m webadmin
// 设置密码使用户是激活状态(可登录)
root@xuexiyuan:~# passwd webadmin
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

// 新创建用户默认登录 shell为 /bin/sh, webadmin登录后可以通过 printenv 查看
// 用户登录 shell 为 /bin/sh 会导致命令行 tab 补全,上下键翻看历史命令失效,
// 甚至登录进来主机和用户信息也不展示,就剩下一个普通用户的$提示符号,修改登录shell:
root@xuexiyuan:~# usermod -s /bin/bash webadmin

 

usermod 为用户 webadmin 创建 sudo 权限

// 将 webadmin 用户附加到 sudo 组内即可
root@xuexiyuan:~# usermod -G sudo webadmin

// 查看 webadmin 用户所在的组
webadmin@xuexiyuan:~$ groups webadmin
webadmin : webadmin sudo

 

总结

// 规避以上出现的各种问题,最终的创建用户并赋予sudo权限的命令如下:
root@xuexiyuan:~# useradd -m -s /bin/bash -G sudo webadmin
root@xuexiyuan:~# passwd webadmin
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

 

MongoDB学习园