基础权限储存

一、要求:

1、建立用户组shengcan,其id为2000工
2、建立用户组 caiwu,其id为2001
3、建立用户组 jishu,其id 为 2002
4、建立目录/sc,此目录是 shengchan 部门的存储目录,只能被 shengchan 组的成员操作,其他用户没有任何权限
5、建立目录/cw,此目录是 caiwu部门的存储目录,只能被 caiwu组的成员操作,其他用户没有任何权限
6、建立目录/s,此目录是 jishu 部门的存储目录,只能被 jishu 组的成员操作,其他用户没有任何权限
7、/pub 目录为公司公共目录,所有人都可以自由管理文件
8、tabadmin 用户为公司存储管理员可以对以上任何文件做任何操作。

二、步骤

1、建立用户组:

建立用户组:
[root@node1 opt]# groupadd -g 2000 shengchan
[root@node1 opt]# groupadd -g 2001 caiwu
[root@node1 opt]# groupadd -g 2002 jishu
创建用户:
[root@node1 opt]# useradd -G shengchan suser
[root@node1 opt]# useradd -G jishu juser
[root@node1 opt]# useradd -G caiwu cuser
查看用户信息:
[root@node1 ~]# id suser
用户id=1002(suser) 组id=1002(suser) 组=1002(suser),2000(shengchan)
[root@node1 ~]# id juser
用户id=1003(juser) 组id=1003(juser) 组=1003(juser),2002(jishu)
[root@node1 ~]# id cuser
用户id=1004(cuser) 组id=1004(cuser) 组=1004(cuser),2001(caiwu)

二、创建目录并修改权限

创建目录:
[root@node1 opt]# mkdir /sc /js /cw
修改目录所属用户组:
[root@node1 ~]# chgrp shengchan /sc
[root@node1 ~]# chgrp caiwu /cw
[root@node1 ~]# chgrp jishu /js
drwxrws---. 2 root shengchan 6  7月  2 17:27 /sc
drwxr-xr-x. 2 root caiwu 6  7月  2 17:27 /cw
drwxrws--T. 2 root jishu 6  7月  2 17:27 /js
修改目录权限:基于项目现实中的合理性,所以我们要就行权限修改,其中我们要考虑,任何用户在该目录下创建的文件的属组都应该继承该目录的属组,也就是修改sgid权限,sgid权限也使用s表示,增加权限g+s,移除权限g-s;2xxx  **4755=u+s****(**冒险位,安全性差,任何人运行命令的时候都会是root身份运行**)
还有就是,只允该目录下的文件的创建者删除自己的创建的文件,不允许其他人删除文件。(root用户除外,因为root用户是超级管理员),也就是sticky权限。sticky权限使用t表示,增加权限o+t,移除权限o-t;1xxx。
因为我们需要同时设定两个权限,所以是3xxx (其中3后面所跟为文件本来所要求权限)
[root@node1 ~]# chmod 3770 /sc
[root@node1 ~]# chmod 3770 /js
[root@node1 ~]# chmod 3770 /cw
[root@node1 ~]# chmod 3777 /pub/
[root@node1 ~]# ls -ld /pub/
drwxrwsrwt. 2 root root 32  7月  7 15:21 /pub/
修改mask值
[suser@node1 ~]$ cd /etc/skel/
[suser@node1 skel]$ ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla
[suser@node1 skel]$ vim .bash_profile[1]+  已停止               vim .bash_profile
[suser@node1 skel]$ cat .bash_profile
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programs
if [ "`id -u`" -gt "999" ]
thenumask 027
fi

[suser@node1 ~]$ cd /etc/skel/
skel目录的作用:

                        只要是在这个目录里存在的文件,在建立用户时会自动的把这个目录里面的文件复制到家目录当中,家目录里的文件只对用户生效。

tabamin的用户建立和权限修改

使tabamin可以管理/sc /js /cw /pub这几个目录,就需要设置setfacl权限
[root@node1 ~]# setfacl -m d:u:tabamin:rwx /sc /js /cw /pub(d为默认,加d之后复制权限到新建的文件中)
[root@node1 ~]# setfacl -Rm u:tabamin:rwx /sc /js /cw /pub (R为递归,u为用户)
因为收到特殊权限s的影响,导致用户tabamin无法进行删除命令,所以需要以下操作
[root@node1 ~]# visudoroot ALL=(ALL) ALL
tabamin ALL=(ALL)NOPASSWD: /usr/bin/rm[root@node1 ~]# su - tabamin
[tabamin@node1 ~]$ alias rm='sudo rm'
[tabamin@node1 ~]$ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias rm='sudo rm'
alias xzegrep='xzegrep --color=auto'
alias xzfgrep='xzfgrep --color=auto'
alias xzgrep='xzgrep --color=auto'
alias zegrep='zegrep --color=auto'
alias zfgrep='zfgrep --color=auto'
alias zgrep='zgrep --color=auto'

[root@node1 ~]# setfacl -m d:u:tabamin:rwx /sc /js /cw /pub(d为默认权限)

设置默认权限之后,仅对当前文件新建的文件或目录的权限进修改,已经存在的目录文件则不生效

[root@node1 ~]# setfacl -Rm u:tabamin:rwx /sc /js /cw /pub (R为递归,u为用户)

递归则对已经存在的目录文件的权限进行修改,而对权限修改后新建的目录文件没有作用。

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

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

相关文章

笔记:Newtonsoft.Json 自定义序列化反序列化规则

使用 Newtonsoft.Json,你可以在类内部自定义序列化和反序列化规则。这通常通过实现 JsonConverter 抽象类来完成。自定义转换器允许你控制类的序列化和反序列化行为,使你能够处理复杂的场景,比如序列化第三方库的对象,或者处理不支…

Hi6276 无Y应用电源方案IC

Hi6276 combines a dedicated current mode PWM controller with integrated high voltage power MOSFET.Vcc low startup current and low operating current contribute to a reliable power on startup design with Hi6276. the IC operates in Extended ‘burst mode’ to …

【初中数学选讲】绝对值的几何意义例题(20240503-01)

初中数学选讲&#xff1a;绝对值的几何意义例题&#xff08;20240503-01&#xff09; 1. 练习题目1.1 题目描述1.2 分析 2 答题2.1 定义2.2 分段讨论2.2.1 情况1&#xff1a; x x x点在 a a a点左侧&#xff08; x < a , m ∣ x − a ∣ x<a,\ \ m\left|x-a\right| x<…

六、数据可视化—首页、列表页制作(爬虫及数据可视化)

六、数据可视化—首页、列表页制作&#xff08;爬虫及数据可视化&#xff09; 1&#xff0c;首页制作&#xff08;1&#xff09;创建新项目选择flask框架&#xff08;2&#xff09;下载模板&#xff08;3&#xff09;导入flask框架中进行改写&#xff08;4&#xff09;访问服务…

回溯算法-以景点门票销售管理系统为例

1.回溯算法介绍 1.来源 回溯算法也叫试探法&#xff0c;它是一种系统地搜索问题的解的方法。 用回溯算法解决问题的一般步骤&#xff1a; 1、 针对所给问题&#xff0c;定义问题的解空间&#xff0c;它至少包含问题的一个&#xff08;最优&#xff09;解。 2 、确定易于搜…

【论文阅读】-- Visual Analytics for Model Selection in Time Series Analysis

时间序列分析中模型选择的可视化分析 摘要1 引言2 相关工作3 问题表征3.1 Box-Jenkins 方法论3.2 ARIMA 和季节性 ARIMA 模型3.3 模型规范3.4 模型拟合3.5 模型诊断 4 需求分析5 VA 用于时间序列分析中的模型选择5.1 VA选型流程说明5.2 TiMoVA 原型5.2.1 实施选择5.2.2 图形用户…

java map对象格式化为json对象

在Java中&#xff0c;将Map对象转换为JSON对象通常是通过使用诸如Jackson、Gson这样的库来完成的。 下面是使用这两个库进行转换的示例&#xff1a; 一、使用Jackson库 首先&#xff0c;确保项目中已经添加了Jackson的依赖。 Maven示例依赖如下&#xff1a; <dependency&…

【在Linux世界中追寻伟大的One Piece】HTTPS协议原理

目录 1 -> HTTPS是什么&#xff1f; 2 -> 相关概念 2.1 -> 什么是"加密" 2.2 -> 为什么要加密 2.3 -> 常见的加密方式 2.4 -> 数据摘要 && 数据指纹 2.5 -> 数字签名 3 -> HTTPS的工作过程 3.1 -> 只使用对称加密 3.2 …

C语言2 常量

整型常量 常量是指在程序运行期间其数值不发生变化的数据。整型常量通常简称为整数。 整数可以是十进制数、八进制数和十六进制数。 int a 0x12345678 浮点常量 浮点常量又称实数&#xff0c;一般含有小数部分。 在C语言中&#xff0c;实数只有十进制的实数&#xff0c;…

《linux系统内核设计与实现》-实现最简单的字符设备驱动

开发linux内核驱动需要以下4个步骤&#xff1a; 1 编写hello驱动代码 驱动代码如下 helloDev.c&#xff0c;这是一个最小、最简单的驱动&#xff0c;去掉了其他的不相干代码&#xff0c;尽量让大家能了解驱动本身。 #include <linux/module.h> #include <linux/mod…

导航栏样式,盒子模型

1.代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>li{he…

MySQL5.7下载及安装详细教程

我下载的是MySQL 5.7.43 &#xff0c;以下是详细下载安装过程 一、下载过程步骤 1、进入官方网站&#xff1a;https://www.mysql.com/ 2、首页滑到最下面&#xff0c;找到MySQL Community server 3、选择你想要的版本和电脑对应配置进行下载 4、下载完后&#xff0c;保存解…

Google Earth Engine(GEE)——ui.Panel添加到地图上

结果 函数 ui.root.add(widget) 将一个widget添加到根面板上。 返回根面板。 参数。 widget&#xff08;ui.Widget&#xff09;。 要添加的widget。 返回&#xff1a; ui.Panel 代码 //label var label ui.Label({ value: "text label", style: {fontSi…

vscode使用Git的常用操作

主打一个实用 查看此篇之前请先保证电脑安装了Git&#xff0c;安装教程很多&#xff0c;可自行搜索 一.初始化本地仓库&#x1f534; 使用vscode打开项目文件夹如图所使初始化仓库&#xff0c;相当于命令行的git init 二.提交到暂存区&#x1f534; 二.提交到新版本&#x1f…

代码随想录算法训练营第25天|LeetCode 491.递增子序列、46.全排列、47.全排列 II

1.LeetCode 491.递增子序列 题目链接&#xff1a;https://leetcode.cn/problems/non-decreasing-subsequences/description/ 文章链接&#xff1a;https://programmercarl.com/0491.递增子序列.html 视频链接&#xff1a;https://www.bilibili.com/video/BV1EG4y1h78v/ 思路&am…

C# 获取屏幕分辨率缩放比例的详细解释与示例

在C#中&#xff0c;获取屏幕分辨率缩放比例通常指的是Dpi缩放比例&#xff0c;它表示显示设备的独立像素与设备无关像素&#xff08;96 DPI&#xff09;的比例。这通常用于确保应用程序在不同分辨率和缩放设置的显示设备上都能正确显示。.NET Framework 提供了一个名为System.W…

用解释程序交错执行2个线程

多线程问题&#xff0c;对初学者来说&#xff0c;会常常感到神秘。特别想知道它里面到底是怎么执行的&#xff1b;遇到问题时&#xff0c;又会觉得十分迷惑。 前面的例子&#xff0c;swap 语句串扰执行问题&#xff0c;实现了一个assign指令的解释器。现在就借用它的代码&…

Paho Asynchronous MQTT C Client Library--MQTTAsync API

异步MQTT 客户端库for C 基于C语言编写的MQTTAsync API&#xff0c;版权属于IBM&#xff0c;适用于2009年至2018年。 Paho MQTT C库中的API分为两类&#xff1a; 同步API&#xff08;MQTTClient API&#xff09; 特点&#xff1a;被认为是更易于使用&#xff0c;部分函数调用…

TypeScript 中的 interface

在 TypeScript 中&#xff0c;interface 是一种定义对象结构或“形状”&#xff08;shape&#xff09;的类型。它可以指定一个对象必须具有的属性、方法以及它们的数据类型。通过使用 interface&#xff0c;你可以确保对象实例遵循特定的模式或契约。 以下是 interface 的一些…

昇思25天学习打卡营第12天|sea_fish

打开第12天&#xff0c;前几天打卡完成了入门的学习&#xff0c;后续有时间对入门的内容&#xff0c;再次整理一下。本次学习的内容为基于MindSpore的GPT2文本摘要。记录学习的过程。记录实验系统中的步骤&#xff0c;对一些内容进行记录和归纳。 数据集加载与处理 数据集加载…