用户和用户组
大约 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 544
userdel
用于删除用户帐号。
语法
userdel [-r][用户帐号]
-r
:删除用户登入目录以及目录中所有文件。
实例
删除用户账号
userdel hnlinux
usermod
用于修改用户帐号。
语法
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 root
groupadd
用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。
语法
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 runoob
groupdel
用于删除群组。
语法
groupdel [群组名称]
实例
删除一个群组
groupdel hnuser
groupmod
用于更改群组识别码或名称。
语法
groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称]
-g <群组识别码>
:设置欲使用的群组识别码。-o
:重复使用群组识别码。-n <新群组名称>
:设置欲使用的群组名称。
实例
修改组名
groupmod -n linux linuxso
newgrp
用于登入另一个群组。
语法
newgrp [群组名称]
实例
改变群组
newgrp root