用户和用户组
大约 5 分钟约 1633 字
用户和用户组
- 使用操作系统的人都是用户
- 用户组是具有相同系统权限的一组用户
配置文件
/ect/group
- /etc/group 存储当前系统中所有用户信息
- root 组编好为 0
- 1-499 为系统预留的编号 预留给安装的软件和服务的
- 用户手动创建的用户组从 500 开始
- 组密码占位符都是 x
- 如果组内只有高一个用户,而且用户名和组名相同的话,是可以省略用户名的
root:x:0:root
| 含义 | 含义 |
|---|---|
| root | 组的名称 |
| x | 密码占位符 |
| 0 | 组编号 |
| root | 组中用户名列表 |
/etc/gshow
- 存放当前系统中用户组的密码信息
- 和/etc/group 中的记录一一对应
root:*::root
| 内容 | 含义 |
|---|---|
| root | 组的名称 |
| * | 组密码,*为空 |
| 组管理者,为空表示都可以管理这个组 | |
| root | 组中用户名列表 |
/etc/passwd
- 存储当前系统中所有用户信息
- 用户名:密码占位符:用户编号:组编号:用户全名:用户主目录:用户登录Shell
root:x:0:0:root:/root:/bin/bash
| 内容 | 含义 |
|---|---|
| root | 用户名 |
| x | 密码占位符 |
| 0 | 用户编号 |
| 0 | 组编号 |
| root | 用户注释信息 |
| /root | 用户主目录 |
| /bin/bash | shell类型 |
etc/shadow
- 存放当前系统中所有用户的密码信息
- user:xx:::::::
- 用户名:密码
root:password:17982:0:99999:7:::
| 内容 | 含义 |
|---|---|
| root | 用户名 |
| password | 单向加密后的密码 |
| 17982 | 修改日期,这个是表明上一次修改密码的日期与1970-1-1相距的天数密码不可改的天数:假如这个数字是8,则8天内不可改密码,如果是0,则随时可以改 |
| 0 | 这是表明上一次修改密码的日期与1970-1-1相距的天数密码不可改的天数;假如这个数字是8,则8天内不可改密码,如果是0,则随时可以改 |
| 99999 | 如果是99999则永远不用改。如果是其其他数字比如12345,那么必须在距离1970-1-1的12345天内修改,否则密码失效 |
| 7 | 修改期限前N天发出警告 |
| 密码过期的宽限天数 | |
| 账号失效日期 | |
| 保留:被保留项,暂时还没有被用上 |
用户命令
显示登录的用户名
whoami显示指定用户信息,包括用户标号,用户名 主要组的编号及名称,附属组列表
id student显示zhangsan用户所在的所有组
groups student用户和用户组操作
useradd
用于建立用户帐号。useradd 可用来建立用户帐号。帐号建好之后,再用 passwd 设定帐号的密码。而可用 userdel 删除帐号。使用 useradd 指令所建立的帐号,实际上是保存在 /etc/passwd 文本文件中。
语法
useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>][-u <uid>][用户帐号]或
useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>]-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中。-d<登入目录>:指定用户登入时的起始目录。-D:变更预设值.-e<有效期限>:指定帐号的有效期限。-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号。-g<群组>:指定用户所属的群组。-G<群组>:指定用户所属的附加群组。-m:制定用户的登入目录。-M:不要自动建立用户的登入目录。-n:取消建立以用户名称为名的群组.-r:建立系统帐号。-s<shell>:指定用户登入后所使用的shell。-u<uid>:指定用户ID。
实例
添加一般用户
useradd tt为添加的用户指定相应的用户组
useradd -g root tt创建一个系统用户
useradd -r tt为新添加的用户指定home目录
useradd -d /home/myd tt建立用户且制定ID
useradd caojh -u 544userdel
用于删除用户帐号。
语法
userdel [-r][用户帐号]-r:删除用户登入目录以及目录中所有文件。
实例
删除用户账号
userdel hnlinuxusermod
用于修改用户帐号。
语法
usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]-c<备注>:修改用户帐号的备注文字。-d登入目录>:修改用户登入时的目录。-e<有效期限>:修改帐号的有效期限。-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号。-g<群组>:修改用户所属的群组。-G<群组>:修改用户所属的附加群组。-l<帐号名称>:修改用户帐号名称。-L:锁定用户密码,使密码无效。-s<shell>:修改用户登入后所使用的shell。-u<uid>:修改用户ID。-U:解除密码锁定。
实例
更改登录目录
usermod -d /home/hnlinux root改变用户的uid
usermod -u 777 rootgroupadd
用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。
语法
groupadd [-g gid [-o]] [-r] [-f] group-g:指定新建工作组的 id;-r:创建系统工作组,系统工作组的组 ID 小于 500;-K:覆盖配置文件 /etc/login.defs;-o:允许添加组 ID 号不唯一的工作组。-f,--force: 如果指定的组已经存在,此选项将失明了仅以成功状态退出。当与 -g 一起使用,并且指定的 GID_MIN 已经存在时,选择另一个唯一的 GID(即 -g 关闭)。
实例
向系统中增加了一个新组group1
groupadd group1创建一个新的组,并添加组 ID。
groupadd -g 344 runoobgroupdel
用于删除群组。
语法
groupdel [群组名称]实例
删除一个群组
groupdel hnusergroupmod
用于更改群组识别码或名称。
语法
groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称]-g <群组识别码>:设置欲使用的群组识别码。-o:重复使用群组识别码。-n <新群组名称>:设置欲使用的群组名称。
实例
修改组名
groupmod -n linux linuxsonewgrp
用于登入另一个群组。
语法
newgrp [群组名称]实例
改变群组
newgrp root