您现在的位置是:首页 >学无止境 >Linux的账号与权限管理网站首页学无止境
Linux的账号与权限管理
目录
一、用户账号和组长号概述
1.用户账号
超级用户、普通用户、程序用户
2.组账号
基本组(私有组)
附加组(公共组)
3.UID和GID
UID (User IDentity,用户标识号)
GID(Grop IDentify,组标识号)
超级用户账号的 UID和 GID 号为固定值 0
程序用户账号的 UID和 GID 号默认为1~999
普通用户账号的 UID和 GID 号默认1000+
二、用户账号文件
2.1 用户账号文件/etc/passwd
1.vim /etc/passwd 可以编辑查看,只有超级用户root才有权更改

2. /etc/passwd字段分析

root:用户账号名称
x:用户密码占位符
0:用户账号的UID
0:所属基本组账号的GID
root:用户全名
/root:宿主目录
/bin/bash:登录shell信息(/bin/bash为登录系统,/sbin/nologin和/bin/false为禁止用户登录)
2.2 存放保存密码/etc/shaow
1.vim /etc/shadow 超级用户root可以进入查看,但超级用户root也没有权限更改

2. /etc/shadow字段分析

| 字段 | 解释 |
| root | 用户帐号的名称 |
| :$ | 使用MD5加密的密码字串信息,当为“*” 或“! !”时表示此用户不能登录到系统。若该字段内容为空,则该用户无须密码即可登录系统 |
| : | 上次修改密码的时间,表示从1970年01月10日算起到最近一次修改密码时间隔的天数 |
| :0 | 密码的最短有效天数,自本次修改密码后,必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制 |
| :99999 | 密码的最长有效天数,自 本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999, 表示不进行限制 |
| :7 | 提前多少天警告用户密码将过期,默认值为7 |
| : | 在密码过期之后多少天禁用此用户 |
| : | 帐号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算),默认值为空,表示账号永久可用 |
| : | 保留字段(未使用) |
注:所有伪用户的密码都是"!!"或“*”,代表没有密码是不能登录的。当然,新创建的用户如果不设定密码,那么它的密码项也是“!!”,代表这个用户没有密码,可以登录。不用登录密码这个是伪命题,普通用户之间企划必须要密码,除非passwd -d。
三、用户账号管理
3.1、添加用户账号——useradd
| 选项 | 效果 |
| -u | 指定用户的 UID 号,要求该 UID 号码未被其他用户使用。 |
| -d | 指定用户的宿主目录位置(当与-M 一起使用时,不生效)。必须用绝对路径指定目录,且不需要事先创建 |
| -e | 指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。 |
| -g | 指定用户的基本组名(或使用 GID 号),对应组名需存在 |
| -G | 指定用户的附加组名(或使用 GID 号),对应组名需存在 |
| -M | 不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。 |
| -s | 指定用户的登录 Shell 信息 /sbin/nologin |
3.2、 设置/更改用户口令——passwd
root用户可以指定用户名作为参数,对指定账号的密码进行管理;不指定用户名时,修改当前账号的密码。
| 选项 | 效果 |
| -d | 清空指定用户的密码,仅使用用户名即可登录系统。 |
| -l | 锁定用户账户,锁定的用户账号将无法再登录系统 |
| -S | 查看用户账户的状态(是否被锁定) |
| -u | 解锁用户账户 |
ps:第二种改密码方式:echo {密码} | passwd --stdin {用户名}
3.3、修改用户账号的属性——usermod
| 选项 | 效果 |
| -u | 修改用户的UID号 |
| -d | 修改用户端的宿主目录位置 |
| -e | 修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式 |
| -g | 修改用户的基本组名(或是用GID号) |
| -G | 修改用户的附件组名(或是用GID号) |
| -s | 指定用户的登录shell |
| -L | 锁定用户账户 |
| -U | 解锁用户账户 |
3.4、删除用户账号——userdel
删除用户账号:userdel -r {用户名} (可以将改用户的宿主目录一并删除)
四、组账号文件
4.1、格式
/etc/group :保存组账号基本信息
/etc/gshadow:保存组账号的密码信息
五、组账号管理
5.1、添加组账号——groupadd
groupadd +{用户名}
5.2、添加删除组成员——gpasswd
gpasswd [选项] 组账号名
| 选项 | 效果 |
| -a | 向组内添加一个用户 |
| -d | 从组内删除一个用户成员 |
| -M | 定义组成员列表,以逗号分割 |
PS:1.当组账号时组员或者组长,不能删除
2.基于用户创建的组,不能删除
3.只创建了组账号,但是没有关联用户,才可以删除,当组账号是组员或者组长,不能删除
六、文件/目录的权限及归属
6.1访问权限与归属(所有权)
① 访问权限
✔ 读取r: 允许查看文件内容、显示目录列表
✔ 写入w: 允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
✔ 可执行x: 允许运行程序、切换目录
② 归属(所有权)
✔ 属主: 拥有该文件或目录的用户帐号
✔ 属组: 拥有该文件或目录的组帐号
6.2文件/目录信息字段分析

6.3设置文件和目录的归属
1.chown root:root 文件或者目录名
chown root.root 文件或者目录名 #既该所有者,也该所在组
2.chown root 文件或者目录名 #只改所有者
3.chown :root 文件或者目录名 #只改所在组
七、umask应用
umask: 限制创建新文件和目录的权限
文件默认权限:666
目录默认权限:777
文件:新建文件就是没有执行权限,必要chomd
目录:你不给我执行权限,我也有 改chomd
八、修改主机名
修改主机名:hostname 主机名 -----临时修改,重启失效
vim /etc/hostname --------永久修改
hostnamectl set-hostname 主机名 -------永久修改





U8W/U8W-Mini使用与常见问题解决
QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结