Linux账号与权限管理

发布时间:2023年12月27日

1.? ??用户帐号类型

? ? ?普通用户? ? ? ? ?权限受到限制的用户

? ? ?超级管理员? ? ?拥有至高无上的权限

? ? ?程序用户? ? ? ? 不是给人使用的,给程序使用的。无法直接登录系统的用户

2.系统如何区别用户的身份:

? 使用的是uid号(User Id用户标识)

centos7

? ? ? ?超级管理员 默认是 0

? ? ? ?普通用户? 包括1000~60000

? ? ? ?程序用户 1~999

?centos6

? ? ? 超级管理员:uid=0

? ? ? 程序用户 1~499

? ? ? 普通用户 500~6000

3.用户组

? ?本组(私有组)

? ? 建立账户,若没指定账户所属组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组默? ? ? ? 认只容纳了一个用户。

? ? ?在用户所属组中的第一个组称为基本组,基本组在 /etc/passwd 文件中指定

? ? ? ? 基本组:有且唯一

? ? ? ? 附加组:可有可无,可以有多个

? ? ? ? 默认新建用户时自动添加同名的组

? ? 附加组(公共组)

? ?附加组:除了第一个组外的其他组为附加组或公共组,附加组在 /etc/group 文件中指定

? ? GID(Group IDentify,组标识号)

? ? 与 UID 类似,每一个组账号也有身份标记,root 组账号的 GID 号为固定值 0,而程序组账号的? ? ? GID 号默认为 1~499,500~60000 的 GID 号默认分配给普通组使用。

? 用户和组的关系

? 用户是员工? 组是职位

? 员工可以兼职多个岗位

? 总有一个最重要的身份 主要组合附加组

? 主要组 必须要一个组 有且唯一

? 附加组 可有可无 有可以有多个

? 默认当你创建一个新用户时会自动创建一个和之同名的主组

? 用户的主要组(primary group):用户必须属于一个且只有一个主组,默认创建用户时会自动创建? ? 和用户名同名的组,做为用户的主要组,由于此组中只有一个用户,又称为私有组

? 用户的附加组(supplementary group): 一个用户可以属于零个或多个辅助组,附属组

4.用户账号管理

(1)/etc/passwd 存放用户信息

?

?分七段(每段用冒号隔开)

已第一行为例 从左到右

root? ? ? ? ? ? 用户名称
:x? ? ? ? ? ? ? ? 密码占位符 ??

:0? ? ? ? ? ? ? ? uid

:0? ? ? ? ? ? ? ? gid

:root? ? ? ? ? ? 备注信息,描述

:/root? ? ? ? ? ?家目录路径

:/bin/bash? ? 默认的shell环境

其中/sbin/nologin是一个特殊的Shell,它用于禁止用户登录到系统。

通常下类型用户会被设置为/sbin/nologin

系统用户被用于特定系统服务或运行,设置为/sbin/nologin可以防止它误操作和安全问题。

FTP用户:对于只提供FTP服务的用户,可以阻止他们通过SSH或其他方式登录到系统。限制权限,增强系统安全性。

匿名用户:匿名用户是指无需身份验证即可访问某些系统资源的用户,Shell设置为/sbin/nologin可以确保他们无法登录到系统,只能通过匿名方式访问指定资源

临时禁用用户:需要临时禁用某个用户,例如当用户被发现异常活动或需要进行其他安全审查时,将其Shell设置为/sbin/nologin可以立即禁止其登录

(2)?/etc/shadow? 存放保存密码

分九段

第1用户名
第2密码

第3最后一次修改密码时间

第4修改密码最小天数 0 不限制

第5?密码有效期?

第6:密码到期提醒?

第7:密码过期后的宽限天数 (密码过期后多少天禁用此用户)

第8:失效时间?

第9:保留字段,未使用

5.添加用户

useradd命令

基本格式

useradd 【选项】 用户名

?? ? ?在/etc/passwd 文件和/etc/shadow 文件的末尾增加该用户账号的记录

?? ? 若未明确指定用户的宿主目录,则在/home 目录下自动创建与该用户账号同名的宿主目录,并? ? ? ? 在该目录中建立用户的各种初始配置文件。

?? ? 若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账 号的记录信? ? ? 息将保存到/etc/group 和/etc/shadow 文件中

选项

?-u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。

?-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。

?-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。

?-g:指定用户的基本组名(或使用 GID 号)。

?-G:指定用户的附加组名(或使用 GID 号)。

?-M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。

?-s:指定用户的登录

例如.创建用户ky26, 其ID号为1005;不建立家目录,不允许登录

useradd -u1005 -M -s??/sbin/nologin? ?ky266.

6.密码管理

passwd命令

为用户账号设置密码

passwd [选项]... 用户名

基本用法 不加选项 可以添加密码

选项

? ? -d:清空指定用户的密码,仅使用用户名即可登录系统。

?? ? -l:锁定用户账户。

?? ? -S:查看用户账户的状态(是否被锁定)。

?? ? -u:解锁用

7.修改用户账号的属性

usermod命令

usermod ?[选项]... ?用户名

常见选项

-l ?更改用户账号的登录名称(Login Name)
-L 锁定用户账户
-u 修改用户的 UID 号
-U ?解锁锁用户账户

?-d:修改用户的宿主目录位置。
-e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g:修改用户的基本组名(或使用 GID 号)
?-G:修改用户的附加组名(或使用 GID 号)
-s:指定用户的登录 Shell

useradd? 是添加新用户并对新用户进行一些个性化设置

usermod 是对已有用户的属性进行更改,,选项和useradd基本一致

8.删除用户

userdel [选项] 用户

?-r ?将宿主目录一起删除

9.组管理

组账号文件

与用户帐号文件相类似 /etc/group:保存组帐号基本信息 /etc/gshadow:保存组帐号的密码信息基本不使用

添加组

groupadd命令

groupadd [-g GID] 组账号名

组内管理

gpasswd 命令——添加、设置、删除组成员

?-a:向组内添加一个用户

?-d:从组内删除一个用户成员

?-M:定义组成员列表,以逗号分隔

9.文件/目录的权限和归属

访问权限

?

?

二进制数字表示法

? ? ? ? ? ?rwx ? ?rwx ? ?rwx

二进制111 ? ?111 ? ?111

十进制 7 ? ? ? ? 7 ? ? ? ?7

? ? ? ? ? ? ? r=100(二进制)=4(十进制)

? ? ? ? ? ? ? w=010(二进制)=2(十进制)

? ? ? ? ? ? ? x=001(二进制)=1(十进制)
?

10.chmod(修改权限)

chmod 对谁(所有者,所属组,其他)操作(+ - =)权限 文件

谁:u,g,o,a

操作:+,-,=

权限:r,w,x(普通权限对root无效)

u? 属主

g? 属组

0? 其他人

a 所有人

+ 是加上 在原有的基础上加上权限

-? 在原有的基础上减去权限

= 赋予 原有权限不看? 就是等于后面的权限

chown

chown -R? ?修改属主 属组

-R? 递归? 所有多改

属主,属组多改

chown? ?属主:属组? 文件或文件夹

改属主

chown 用户名 文件

改属组

chown :组名 文件

11.umask

umask 的值可以用来保留在创建文件权限

新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变

新建目录的默认权限: 777-umask

非特权用户umask默认是 002

root的umask 默认是 022

例如 umask 024,则以后建立的文件和目录的默认权限就为 642

? 123就是644

文章来源:https://blog.csdn.net/yunjisuanxietu/article/details/135228340
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。