在LINUX系统管理中,我们经常添加删除修改用户和组的信息,所以我们来学习下创建删除修改用户和组
下面我们就来简单的说下什么是组、什么是用户的概念?

用户:
其实简单的理解就是文件或者目录创建的一种标识。

组:
组简单的理解就是一种容器,是用来赋予用户对于目录或文件的一种容器,所以组是不能登录系统,而且还不能使用资源。

  1. 账号、组管理:
  2. /etc/login.defs
  3. Shadow password suite configuration.
  4. /etc/passwd
  5. User account information.
  6. root:x:0:0:root:/root:/bin/bash
  7. 第一字段:account: 登录名
  8. 第二字段:password-->/etc/shadow
  9. 第三段:UID:
  10. 第四段:GID:基本组ID
  11. 第五段:comment: 账号的注释信息
  12. 第六段:HOME DIR:用户账号家目录
  13. 第七段:SHELL:用户的默认shell
  14. /etc/shadow
  15. Secure user account information.
  16. root:$1$AKMibarg$G/nw/HgmH3geg66k8/keF1:15761:0:99999:7:::
  17. 第一字段:account: 登录名
  18. 第二字段:encrypted password (如果出现的是*/!,则表明此账号无法登陆系统)
  19. 第三字段:最近更改密码的日期
  20. 第四字段:密码不可更改的天数
  21. 第五字段:密码要重新更改的天数
  22. 第六字段:密码更改期限前的警告信息
  23. 第七字段:密码过期的宽限时间
  24. 第八字段:账号失效日期
  25. 第九字段:保留
  26. /etc/group
  27. Group account information.
  28. daemon:x:2:root,bin,daemon
  29. 第一字段:account
  30. 第二字段:password
  31. 第三字段:GID ->用户组ID
  32. 第四字段:加入这个组的所有账号
  33. 创建用户:
  34. useradd [options] LOGINNAME
  35. -u:UID(默认是大于等于500,且不能重复)
  36. -g:GID(基本组):前提是这个组事先存在
  37. -G:GID ....附加组
  38. -c:"comment":指定注释信息
  39. -d:/path/to/directory,指定用户家目录
  40. -s:指定shell  ->/etc/shells(当前)
  41. -m:当指定家目录不存在,-m强制为用户家目录。
  42. -M:不创建家目录
  43. 综合利用:
  44. 创建一个系统用户tom,注释信息为"This is a text account",并将ID指为111,家目录为/home/tom3
  45. shell改为/sbin/nologin,并加入到mygroup里面。
  46. # adduser -r -c "This is a text account: -d /home/tom3 -m -s /sbin/nologin -G mygroup
  47. ID:
  48. 功能:查看用户详细信息
  49. 选项:
  50. -G:所有组ID信息
  51. -u:显示用户ID
  52. -g:显示gid
  53. -n:显示名称
  54. For example:
  55. 查看tom用户的ID账号信息:
  56. # id tom 即可显示
  57. userdel:
  58. 功能:删除用户
  59. 选项:
  60. -r:删除用户的同时、家目录一并删除
  61. For example
  62. 删除tom用户并将其家目录一并删除:
  63. # userdel -r tom
  64. usermod:
  65. 功能:修改用户账号的各项设定
  66. 选项:
  67. -u:UID
  68. -g:GID    接group name必须在/etc/group组中
  69. -G:默认覆盖之前的附加组
  70. -a:追加附加组 改变用户能够支持的用户组
  71. -c:指定注释信息
  72. -d:指定家目录
  73. -m:即指定家目录的位置,5并移动之前家目录的内容移植到当前指定家目录中。
  74. -s:修改shell
  75. -l:更改用户名名称-->对应的是/etc/passwd文件中第一栏。
  76. -e:修改密码过期时间,后接日期参数为MM/DD/YY或YYYY-MM-DD
  77. -L:(lock)锁定用户账号
  78. -U:(unlock)解锁用户账号
  79. For example 锁定jack用户账户信息,并修改注释信息为"download file" #usermod -c "beause download file" -L jack
  1. 用户的功能:
  2. chsh:更改用户默认shell
  3. -l:列出当前系统可用的shell
  4. -s:修改自己的shell
  5. chfn:更改用户注释信息(finger)信息
  6. 选项:
  7. -f:后面接完整的名字
  8. -o:办公室地址
  9. -p:办公室电话
  10. -h:家庭电话
  11. passwd:修改用户密码
  12. 管理员:可以指定用户名,并修改用户密码
  13. 普通用户:只能修改本身密码
  14. 选项:
  15. --stdin:从标准输入接收 
  16. -l:锁定账号
  17. -u:解锁
  18. -d:删除账号密码(空密码)
  19. For example
  20. 创建用户redhat,密码为空密码
  21. # adduser redhat
  22. # passwd -d redhat
  23. 组管理:创建、修改、删除
  24. 创建组:grouopadd
  25. groupadd
  26. -g:指定GID(大于500)
  27. -r:添加一个系统组
  28. 修改组属性:
  29. groupmod
  30. -g:修改GID
  31. -n:修改组名
  32. For example
  33. 修改组hive改名为hadoop
  34. # groupmod -l hadoop hive
  35. 删除组:
  36. groupdel:
  37. 组加密码:
  38. gpasswd:
  39. gpasswd GROUPNAME:一个用户创建的文件属主是自身,属组为自身的基本组
  40. newgrp GROUPNAME
  41. 临时切换文件的基本组
  42. chage:
  43. -d:最近一次的修改时间
  44. -E:仅用时间/过期时间
  45. -I:非活动时间
  46. -M: 最短使用期限
  47. -m:最长使用期限
  48. -W:警告时间
  49. 权限管理:
  50. chown:改变文件属主(只有管理员才可以使用此命令)
  51. 文件和目录都都可以使用
  52. # chown USERNAME file,.....
  53. -R:(递归修改):修改目录及其内部文件或目录的属主
  54. --reference=/path/to/somefile file...引用、参考
  55. chgrp:改变文件属组
  56. # chgrp GRPNAME file,......
  57. --reference=/path/to/somefile file,...
  58. chown:同时改变属主和属组
  59. # chown USERNAME:GRPNAME file,....
  60. # chown USERNAME.GRPNAME file,....
  61. chmod:修改文件的权限
  62. 修改三类用户的权限
  63. chmod MODE file,...
  64. -R:修改目录及子文件
  65. --reference=/path/to/somefile file,..
  66. 修改某些类用户或某些类用户权限
  67. 修改某类用户的某位或某些位权限
  68. chmod 用户类别+-MODE file,...
  69. chmod u-x /tmp/file
  70. 将/tmp/file属主执行权限去掉
  71. chmod a+x /tmp/file
  72. -x /tmp/file