账号和权限管理
一、 用户账号和组账号概述
1、用户账号类型
Linux中每个用户是通过 User Id (UID)来唯一标识的 新建用户 1-60000 自动分配 0-65535 端口号
管理员:root, 0
程序用户:1-499 (CentOS 6以前), 1-999 (CentOS 7以后) 不登录的用户 系统默认的情况
对守护进程获取资源进行权限分配
普通用户:500+ (CentOS6以前), 1000+(CentOS7以后) 不指定 顺序
给用户进行交互式登录使用
-
超级用户
-
普通用户
-
程序用户
查看当前登录用户信息
1.1超级用户0超级
2、ID
2.1UID
UID(User IDentity,用户标识号):Linux 操作系统中的每一个用户账号都有一个数字形式的身份标记,称为 UID(UserIDentity,用户标识号),
对于操作系统核心来说,UID 是区分用户的基本依据,原则上每个用户的 UID 号应该是唯一的。root 用户账号的 UID 号为固定值 0,而程序用户账
号的 UID号默认为1~499,500~60000 的 UID 号默认分配给普通用户使用
centos7登录用户是从1000起到60000
1-999 预留给系统,叫系统用户,某个程序比如数据库
给人使用的账户是从1000开始
2.2GID
GID(Group IDentify,组标识号):与 UID 类似,每一个组账号也有一个数字形式的身份标记,称为 GID(Group IDentity,组标识号),root 组账号的
GID 号为固定值 0,而程序组账号的 GID 号默认为 1~499,500~60000 的 GID 号默认分配给普通组使用
2.3用户和组的关系
用户 是员工 组 是职位
员工 可以兼职多个岗位
总有一个最重要的身份 主要组合附加组
主要组 必须要一个组 有且唯一
附加组 可有可无 有可以有多个
默认行为当你创建一个新用户时会自动创建一个和之同名的主组
-
用户的主要组(primary group):用户必须属于一个且只有一个主组,默认创建用户时会自动创建和用户名同名的组,做为用户的主要组,由于此组中
只有一个用户,又称为私有组
-
用户的附加组(supplementary group): 一个用户可以属于零个或多个辅助组,附属组
3、用户账号管理
3.1文件位置
- /ec/passwd
存放保存用户名称、宿主目录、登录 Shell 等基本信息
root 用户名称
:x 密码占位符
:0 uid
:0 gid
:root 备注信息,描述
:/root 家目录路径
:/bin/bash shell环境
- /etc/shadow
存放密码
root:$6$S7OCvPg986cOOa53$qZWt/iTEEWb0Ts1kJbCo/Glvve.BYamEBaOGdWz8wIEuFK0RgJfT4rVeXngycbSGhcBINXWTz0zO.Vv6KgX/r1::0:99999:7:::
第一xiu:用户名
第二$6$F9xdHRnn$Y7h6DXNH.MbjWN/ws1mK4UKAI4ylimRVwc6zOyE2Zvd7z83e9FF9z02YXlMzeD9Ui/M.rO04gDbdnpkIPEvDr0
密码
第三:19055:最后一次修改密码时间
第四0:修改密码最小天数 0 不限制
第五99999:密码有效期
第六7:提前7天提醒
第7:宽限天数
第8:失效时间 永久
第9:保留
3.2添加用户
useradd 【选项】 用户名
对新建的用户设置,对已有用户无法设置
添加用户:查看是否在 passwd和shadow文件中生成信息
-
在/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:指定用户的登录 Shell /sbin/nologin
3.3密码设置
为用户账号设置密码
passwd [选项]... 用户名
基本用法不加选项可以添加密码
选项
-
-d:清空指定用户的密码,仅使用用户名即可登录系统
-
-l:锁定用户账户
-
-S:查看用户账户的状态(是否被锁定)
-
-u:解锁用户账户
-l 锁定用户
-u 解锁用户
-S(大写) 查看用户是否被锁定
3.4修改用户账号的属性
usermod命令
usermod [选项]... 用户名
常见选项
-
-l 更改用户账号的登录名称(Login Name)
-
-L 锁定用户账户
-
-u 修改用户的 UID 号
-
-U 解锁锁用户账户
-
-d:修改用户的宿主目录位置
-
-e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式
-
-g:修改用户的基本组名(或使用 GID 号)
-
-G:修改用户的附加组名(或使用 GID 号)
-
-s:指定用户的登录 Shell
-l 修改用户名 修改的名字在前 原来的名字在后
-L 锁定用户 -U解锁用户 -S查看是否锁定
3.5添加组
groupadd命令
groupadd [-g GID] 组账号名
gpasswd -d 删除组内成员
3.6修改权限
对文件的权限
-
-
w 可修改其内容
-
-
r 可以使用ls查看此目录中文件列表
-
w 可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关
-
模式法:
chmod 对谁(所有者,所属组,其他)操作(+ - =)权限 文件
谁:u,g,o,a
操作:+,-,=
权限:r,w,x(普通权限对root无效)
数字法:
1 2 4
x w r
修改并查看权限
chown 修改属主: | 属组 文件
-R 递归 加权限
umask的值可以用来在创建文件权限
umask 新建文件或文件夹 获得什么权限
umask 数字
umask 011 可以修改
文件的最大权限为666 为安全性考虑 文件没有执行权限
文件夹最大权限为777
最大权限 减去 umask 就是文件的落地权限
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?