Linux账号管理与ACL权限设定(一)

news2024/11/29 4:34:49

Linux的账号与群组

Linux系统中,关于账号和群组,实际记录的是UID和GID的数字;

关于账号有两个非常重要的文件:/etc/passwd/etc/shadow

/etc/passwd 文件结构:

账号名称:密码:UID:GID:用户信息说明栏:家目录:shell环境

每一行代表一个账号,有几行就有几个账号;

bin,daemon,adm,nobody等是系统账号;

UID范围设定:0=系统管理员,1~200=系统进程使用 ,201~999=系统用户用来运行服务,不需要登录系统 ,1000+ = 一般用户;

密码为x,真正的密码存放于/etc/shadow;

/etc/nologin可使账号无法登录;

/etc/shadow 文件结构:

账号名称:密码:密码最近变动日期:密码变动最小间隔天数:密码在此天数内需要变动:密码过期前提前警告的天数:密码过期后账号宽限时间:账号失效日期:保留

/etc/group 文件结构:

组名:群组密码:GID:此群组支持的账号名称

群组密码为x,真正密码存放于 /etc/gshadow;

关于群组:有效群组、初始群组 

初始群组

/etc/passwd 第四个字段GID即初始群组,当此用户登入系统,就立刻拥有此群组相关权限;

有效群组

groups 查看当前用户的有效与支持群组;

[root@wenzi ~]#useradd zhangsan
[root@wenzi ~]#useradd lisi -G zhangsan
#切换为用户lisi
[lisi@wenzi ~]$groups
lisi zhangsan

第一个群组 lisi 即为有效群组;zhangsan为支持的群组

newgrp 有效群组的切换,如需退出切换后的有效群组,exit

[lisi@web1 ~]$groups
lisi zhangsan
[lisi@web1 ~]$newgrp zhangsan
[lisi@web1 ~]$id
uid=1001(lisi) gid=1000(zhangsan) groups=1000(zhangsan),1001(lisi)
[lisi@web1 ~]$groups
zhangsan lisi
[lisi@web1 ~]$exit
exit

/etc/gshadow 文件结构:

组名:密码:群组管理员账号:加入该群组支持的所属账号

账号管理

useradd:新增账号

useradd [-u UID] [-g 初始群组] [-G 次要群组] [-mM] [-c 说明栏] [-d 家目录绝对路径] [-s shell] 新账号名

使用默认值建立一个普通用户 xiaoming

系统会按照默认值自动处理一些操作:

  • 在 /etc/passwd 里面建立一行与账号相关的数据,包括建立UID/GID/家目录;
  • 在 /etc/shadow 里面将此账号的密码相关参数填入,但尚未有密码;
  • 在 /etc/group 里面加入一个与账号名称一致的组名;
  • 在 /home 下建立一个与账号名称同名的目录作为用户家目录,且权限为700

useradd 默认属性见 /etc/default/useradd

centos中预设的群组为和账号同名的群组,并非100;

 UID/GID、密码参数等默认属性见 /etc/login.defs

综述,当useradd在建立账号时,至少会参考 /etc/default/useradd 、/etc/login.defs 、/etc/skel*; 

passwd:设定密码

修改普通用户密码:passwd 用户名  或  echo "密码" | passwd --stdin 用户名

修改自己密码:passwd

密码规则:

  1. 密码不能与账号相同
  2. 密码尽量不要选系统关键词
  3. 密码超过8个字符
  4. 密码不要使用个人信息,比如手机号、身份证号等
  5. 密码不要用简单关系式,比如1+1=2
  6. 密码尽量大小写、数字、特殊符号组合

chage:密码参数详细显示

建立一个名为agetest的账号,该账号第一次登录系统使用默认密码,但必须要更改密码后用新密码才能登录系统使用bash终端

usermod:修改账号信息

-U:将/etc/shadow中密码栏的叹号!取消,解冻 

userdel:删除用户数据

用户数据有:

账号/密码相关:/etc/passwd、/etc/shadow

用户群组相关:/etc/group、/etc/gshadow

用户个人文件数据:/home/账号名、/var/spool/mail/用户名

若想完全删除用户数据,可先用 find / -user 用户名 来查询系统内属于该用户的文件,再加以删除。

id:查询某用户的UID/GID

查询自己UID/GID相关信息:id

某用户UDI/GID相关信息:id 【用户名

groupadd:新增群组

groupmod:修改群组

groupmod 【-g 新GID】 【-n 新组名】 群组名

-g:修改已有的GID数字

-n:修改已有组名

groupdel:删除群组

groupdel 【群组名】

gpasswd:群组管理员

让一个群组有一个管理员,可以管理哪些账号加入、移除群组。

gpasswd 组名

没有任何参数时,表示给予该组一个密码(/etc/gshadow)

gpasswd 【-A 用户名1,…】 【-M 用户2,…】 组名

-A:将该组的控制权交给用户1,即用户1为该群组群管理员;用户1可以不是该组成员。

-M:将用户2加入该群组

gpasswd 【-rR】 组名

-r:将该群组密码移除

-R:将该群组密码栏失效

gpasswd 【-ad】 用户1 群名

-a:将用户1加入该群

-d:将用户1移除该群

案例:

完成以下任务

ACL

ACL在传统 ower / group / other 的权限 r / w / x 之外提供为单一使用者,单一文件或目录来进行 r / w / x 的权限规范。

getfacl:取得某个文件或目录的ACL设定项目 getfacl 目标文件名

setfacl:设定某个文件或目录的ACL规范  setfacl [-bkRd] [{-m|-x} acl参数] 目标文件名

针对特定使用者:

设定规范:setfacl -m u:用户列表:权限 文件或目录

针对特定群组:

设定规范:setfacl -m g:群组列表:权限 文件或目录

针对有效权限:

使用者、群组设定的权限必须要在mask的权限设定范围内才会生效,超出的权限不生效

设定规范:setfacl -m m:权限 文件或目录

使用默认权限设定目录内的文件继承ACL权限:

设定规范:setfacl -m d:[ u / g ]:[用户/群组]:权限 文件或目录

设定一个有用户 / 群组没有任何权限的ACL语法中,权限字段不可留白,应用一个减号[-]。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/607166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python中另起一行输出的方法

Python中另起一行输出的方法 在Python编程中,我们需要经常输出内容到控制台或者文件中。而有时候,我们可能需要将输出的内容另起一行来符合排版或格式要求。这篇文章将介绍Python中另起一行输出的方法。 使用print函数 Python中最简单的输出方法就是使…

阵列信号处理笔记(1):预备知识、阵列流形、波数-频率响应

阵列信号处理笔记(1) 文章目录 阵列信号处理笔记(1)预备知识从延时到阵列流形矢量频率波数响应 预备知识 如图所示的球坐标系中,任意一阵元的位置可以用 ( r , ϕ , θ ) (r,\phi,\theta) (r,ϕ,θ)唯一表示&#xff…

前端045_单点登录SSO_实现流程

单点登录SSO_实现流程 1、背景2、基于同域下 Cookie 实现 SSO1、背景 在企业发展初期,企业使用的系统很少,通常一个或者两个,每个系统都有自己的登录模块,运营人员每天用自己的账号登录,很方便。 但随着企业的发展,用到的系统随之增多,运营人员在操作不同的系统时,需要…

Linux命令(28)之locate

Linux命令之locate 1.locate介绍 linux命令locate用于查找文件所在位置,与which、whereis命令类似,locate命令将会在预先建立好的档案数据库中查询文件。 locate档案数据库路径:/var/lib/mlocate locate档案数据库名称:mlocat…

SpringBoot之Transactional事务

目录 一、事务管理方式二、事务提交方式三、事务隔离级别四、事务传播行为1、Propagation.REQUIRED2、Propagation.SUPPORTS3、Propagation.MANDATORY4、Propagation.REQUIRES_NEW5、Propagation.NOT_SUPPORTED6、Propagation.NEVER7、Propagation.NESTED 五、事务回滚六、只读…

前后端分离项目之登录页面(前后端请求、响应和连接数据库)

目录 一、前端登录发起请求 二、后端请求接收 三、连接数据库 四、后端响应 五、前端处理 六、在前端验证用户是否登录 七、web会话跟踪 八、请求拦截器和响应拦截器 本文Vue-cli前端项目基于文章: Vue-cli搭建项目(包含Node.js安装和ElementUI安装)_小俱的…

2. requests.get()函数访问网页(小白入门)

2. requests.get()函数访问网页(小白入门) 文章目录 2. requests.get()函数访问网页(小白入门)1. 人工访问网页2. 爬虫第一步:发起网络请求3. requests库的安装4. requests.get()函数:发送网络请求5. 代码解析1. 导入库的语法2. 指定网址3. 发送请求4. 输…

chatgpt赋能python:Python取消撤销——让你的代码更加高效

Python取消撤销——让你的代码更加高效 在Python编程的过程中,经常会出现需要撤销操作的场景。但是,在一些复杂的代码编辑器中,常规的CtrlZ撤销操作可能无法满足你对代码精度的要求。为此,Python取消撤销就应运而生。 Python取消…

多变量系统的最小二乘辨识问题的推导以及matlab仿真

1.单输入单输出情况的推导;2.两输入两输出情况的推导,并进行matlab仿真以及完成仿真报告。 多变量系统的最小二乘辨识问题是确定一个线性多输入多输出(MIMO)系统的未知参数,使得该系统能够以最佳方式近似给定输入和输出之间的关系。在本例中,我们将展示单输入单输出(SIS…

软件外包开发的测试用例

软件测试用例是一组详细的步骤、输入数据、预期结果和实际结果,用于验证软件是否满足特定需求或功能。编写测试用例的目的是确保软件的质量和性能。今天和大家分享编写软件测试用例的一般步骤,希望对大家有所帮助。北京木奇移动技术有限公司,…

解决record on line 2: wrong number of fields

背景 基于"encoding/csv"库解析。 共解析多个文档,只有这一个解析有问题,所用代码一致,进行比较后 发现该文档和其它文档不同,其它文档是第一行就是列名,下面都是数据; 而这个文档前两行有数据且…

k8s部署Elasticsearch集群+Kibana方案--开启X-Pack 安全认证

前言 本文中使用StatefulSet 方式部署 Elasticsearch 集群,并且开启X-Pack 安全认证,存储使用的是NFS,属于一个初学者自己探索的方案,如果有比较好的方案,还请不吝评论赐教。 版本说明: Kubernetes v1.25…

微信小程序uniapp医患管理系统预约挂号就诊处方满意评价系统

从系统开发环境、系统目标、设计流程、功能设计等几个方面对系统进行了系统设计。开发出本医患关系管理系统,主要实现了管理员后端;首页、个人中心、用户管理、医生管理、医生信息管理、患者信息管理、预约就诊管理、就诊信息管理、投诉管理、投诉反馈管…

【走进Linux的世界】Linux---基本指令(2)

个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【Linux专栏】🎈 本专栏旨在分享学习Linux的一点学习心得,欢迎大家在评论区讨论💌 目录 ls *man指令小…

redis缓存穿透、缓存雪崩 、缓存击穿

一、缓存穿透、缓存雪崩 、缓存击穿 摘自尚硅谷文档 1、缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中,将去查询数据库,但是数 据库也无此记录,我们没有将这次查询的 null 写入缓存,这将导致这个…

Spin加载中(antd-design组件库)loading效果简单使用

1.Spin加载中 用于页面和区块的加载中状态。 2.何时使用 页面局部处于等待异步数据或正在渲染过程时,合适的加载动效会有效缓解用户的焦虑。 组件代码来自: 加载中 Spin - Ant Design 3.本地验证前的准备 参考文章【react项目antd组件-demo:hello-world_…

PyTorch深度学习实战(2)——PyTorch基础

PyTorch深度学习实战(2)——PyTorch基础 0. 前言1. 搭建 PyTorch 环境2. PyTorch 张量2.1 张量初始化2.2 张量运算2.3 张量对象的自动梯度计算 3. PyTorch 张量相对于 NumPy 数组的优势小结系列链接 0. 前言 PyTorch 是广泛应用于机器学习领域中的强大开…

AutoHotKey脚本初步:判断和选择

文章目录 脚本基础连击识别setTimer判断和选择 脚本基础 尽管通过窗口识别与按键映射,就可以胜任很多工作了,但AutoHotKey仍提供了一些简单的编程功能,对一些稍微复杂的任务,也可以做到得心应手。但要注意一点,AHK的V…

【操作系统】Linux 中的 Page Cache

【操作系统】Linux 中的 Page Cache 参考资料: 文件 I/O 简明概述 - page cache 进程写文件时,进程发生了崩溃,已写入的数据会丢失吗? Linux Page Cache 调优在 Kafka 中的应用 【操作系统】一文带你深入浅出零拷贝技术 【操作系…

大数据Doris(三十四):Doris配置Spark与Yarn

文章目录 Doris配置Spark与Yarn 一、Doris配置Spark 1、配置 SPARK_HOME 环境变量 2、配置SPARK 依赖包