Linux账号与权限管理

  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

相关推荐
PcVue China3 小时前
PcVue + SQL Grid : 释放数据的无限潜力
大数据·服务器·数据库·sql·科技·安全·oracle
舞动CPU5 小时前
linux c/c++最高效的计时方法
linux·运维·服务器
皮锤打乌龟5 小时前
(干货)Jenkins使用kubernetes插件连接k8s的认证方式
运维·kubernetes·jenkins
钰@6 小时前
小程序开发者工具的network选项卡中有某域名的接口请求,但是在charles中抓不到该接口
运维·服务器·小程序
wanhengwangluo6 小时前
云服务器和物理服务器的区别有哪些?
运维·服务器
秦jh_7 小时前
【Linux】多线程(概念,控制)
linux·运维·前端
yaosheng_VALVE7 小时前
稀硫酸介质中 V 型球阀的材质选择与选型要点-耀圣
运维·spring cloud·自动化·intellij-idea·材质·1024程序员节
看山还是山,看水还是。8 小时前
Redis 配置
运维·数据库·redis·安全·缓存·测试覆盖率
扣得君8 小时前
C++20 Coroutine Echo Server
运维·服务器·c++20
keep__go8 小时前
Linux 批量配置互信
linux·运维·服务器·数据库·shell