创建用户

adduser与useradd命令一样

  1. [root@kedacom ~]# which adduser
  2. /usr/sbin/adduser
  3. [root@kedacom ~]# ll /usr/sbin/adduser
  4. lrwxrwxrwx. 1 root root 7 10 30 2020 /usr/sbin/adduser -> useradd

常用选项:
-u 指定用户的UID,大于500,并且不能和现有用户UID重复
-g 指定用户的基本组
-G 为用户指定多个附加组,用逗号隔开多个附加组
-c 为用户添加注释信息
-d 为用户指定home目录
-s 指定shell的路径,最好是/etc下的shells(安全shell)
-m 如果home目录不存在,强制创建,默认是创建目录的,可不指定
-M 不给用户创建home目录
-r 创建系统账户,没有home目录,id号在1-499之间
例1:创建用户zhangsan,UID指定为5001,基本组为students,附加组为monitor、partmember,注释信息为The 2022 new student,指定的home目录为/home/zhangsan,指定的shell为bash

  1. [root@kedacom ~]# groupadd students
  2. [root@kedacom ~]# groupadd monitor
  3. [root@kedacom ~]# groupadd partmember
  4. #创建用户
  5. [root@kedacom ~]# useradd -u 5001 -g students -G monitor,partmember -c "The 2022 new student" -d /home/zhangsan01 -s /bin/bash zhangsan
  6. #查看用户文件,已有创建的用户,信息正确
  7. [root@kedacom ~]# tail -1 /etc/passwd
  8. zhangsan:x:5001:1008:The 2022 new student:/home/zhangsan01:/bin/bash
  9. #home目录中存在zhangsan01
  10. [root@kedacom ~]# ll /home/ | grep zhangsan
  11. drwx------ 2 zhangsan students 62 3 5 16:54 zhangsan01
  12. 创建的用户不指定home目录
  13. [root@kedacom ~]# useradd -M lisi
  14. [root@kedacom ~]# su lisi
  15. bash-4.2$
  16. #创建系统用户
  17. [root@kedacom home]# useradd -r server1
  18. #查看到lisi和server1都有home目录信息,不明白为什么不是空
  19. [root@kedacom home]# tail -2 /etc/passwd
  20. lisi:x:5002:5002::/home/lisi:/bin/bash
  21. server1:x:991:989::/home/server1:/bin/bash
  22. #lisi和server1用户都是没有home目录的
  23. [root@kedacom home]# ll /home/
  24. 总用量 4692
  25. -rw-r--r-- 1 root root 5606 4 20 2021 dameng-csd.sql
  26. drwx------ 4 dmdba dinstall 112 3 15 2021 dmdba
  27. drwx------. 3 es es 87 11 20 2020 es
  28. drwx------. 4 kedacom root 112 2 25 2021 kedacom
  29. -rw-r--r-- 1 root root 604006 10 15 14:09 moduleconf_dm-nochinese.sql
  30. -rw-r--r-- 1 root root 597512 9 16 10:44 moduleconf_dm-nochinese.sql.1
  31. -rw-r--r-- 1 root root 603041 9 18 14:47 moduleconf_dm-nochinese.sql.2
  32. -rw-r--r-- 1 root root 603574 9 18 19:30 moduleconf_dm-nochinese.sql.3
  33. -rw-r--r-- 1 root root 603313 9 18 19:43 moduleconf_dm-nochinese.sql.4
  34. -rw-r--r-- 1 root root 604006 10 15 13:54 moduleconf_dm-nochinese.sql.5
  35. -rw-r--r-- 1 root root 597974 9 18 11:03 moduleconf_dm-nochinese.sql_bak
  36. -rw-r--r-- 1 root root 565896 9 18 14:28 moduleconf_dm-nochinese.sql_prev
  37. drwx------ 4 willow willow 112 3 5 15:01 willow
  38. drwx------ 2 zhangsan students 62 3 5 16:54 zhangsan01

注意:
不需要加-m参数,是因为/etc/login.defs 配置文件中已经指定了必须创建home目录
image.png

用户home目录

创建用户后,用户的home目录中会带有3各隐藏文件,分别为.bash_logout .bash_profile .bashrc

  1. [root@kedacom ~]# ll -a /home/zhangsan01/
  2. 总用量 16
  3. drwx------ 2 zhangsan students 62 3 5 16:54 .
  4. drwxr-xr-x. 7 root root 4096 3 5 16:54 ..
  5. -rw-r--r-- 1 zhangsan students 18 8 8 2019 .bash_logout
  6. -rw-r--r-- 1 zhangsan students 193 8 8 2019 .bash_profile
  7. -rw-r--r-- 1 zhangsan students 231 8 8 2019 .bashrc

创建用户后,会从/etc/skel/拷贝隐藏文件到用户home目录下。所以,若想让所有新用户拥有同一行为,可以通过更改/etc/skel/下的隐藏文件实现。

  1. [root@kedacom ~]# ll -a /etc/skel/
  2. 总用量 24
  3. drwxr-xr-x. 2 root root 62 10 30 2020 .
  4. drwxr-xr-x. 100 root root 8192 3 5 17:03 ..
  5. -rw-r--r--. 1 root root 18 8 8 2019 .bash_logout
  6. -rw-r--r--. 1 root root 193 8 8 2019 .bash_profile
  7. -rw-r--r--. 1 root root 231 8 8 2019 .bashrc