Linux学习--第八天--acl、SetUID、SetGID、chattr、lsattr、sudo
acl权限
文件只能有一个所属组
acl就是不管用户什么组了,直接针对某个文件给他特定权限。
acl需要所在分区文件系统的支持。
df -h #查看分区
dumpe2fs -h /dev/sda3 #-h 只显示超级块中的信息,而不显示磁盘快组的详细信息。
#dump2fs命令查看分区详细文件系统信息
mount -o remount,acl / #给/分区添加acl权限,这条命令是临时生效,永久失效需要修改文件/etc/fstab
vi /etc/fstab #UUID=fadf-fds-adfaf-sdfa-fafdasdsadfsdf / ext4 defaults,acl
mount -o remount / #重新挂载文件系统,使修改生效
| setfacl选项 | 描述 |
|---|---|
| -m | 设定acl权限 |
| -x | 删除指定的acl权限 |
| -b | 删除所有的acl权限 |
| -d | 设定默认的acl权限 |
| -k | 删除默认的acl权限 |
| -R | 递归指定的acl权限 |
useradd mic
useradd leon
groupadd classroom
gpasswd -a leon classroom
gpasswd -a mic classroom
mkdir /test
chown root:classroom /test
chmod 770 /test
useradd shiting
setfacl -m u:shiting:rwx /test
group newgroup
setfacl -m g:newgroup:rwx /test
setfacl -m m:rx /test #修改最大有效权限
getfacl /test #前面设置的是特殊acl权限,最后生效的权限是由mask最大有效权限和设置的特殊acl权限用与计算过来的。
setfacl -x u:用户名 /test
setfacl -x g:组名 /test
setfacl -b /home/project #删除所有acl权限
setfacl -m u:用户名:权限 -R /test #递归设置acl权限
setfacl -m d:u:用户名:权限 #设置默认acl权限
#默认acl只针对新建的。对现有的还是递归acl。
#递归只能针对目录,不能针对文件,不会报,但没什么用。
SetUID,SetGID
查看权限如果是rwS而不是rws,说明报错了,因为该命令执行者没有x权限。
不要随便改SetUID,非常危险,为什么呢?
因为他会灵魂附体,比如给vim设置了,那么以后普通用户就可以修改passwd文件。
chattr
chattr +i /test #文件设置了i权限,不允许删除、改名、添加数据、修改数据;目录设置了i权限,只能修改目录下的文件,不能删除和建立文件
chattr -i /test
chattr =a /test #文件设置了a权限,只可以增加数据,但不能删除不能修改数据;目录:只能建立和修改文件,不允许删除
设置了a属性后,不能用vi编辑文件,只能用 echo 然后 >>
chattr 连root的权限都能限制
lsattr -a /test #显示所有文件和目录的attr权限
chattr -d /test #显示test目录的attr权限
sudo
visudo
root ALL=(ALL) ALL
#%wheel ALL=(ALL) ALL
sc 192.168.0.156= /usr/bin/useradd
Linux学习--第八天--acl、SetUID、SetGID、chattr、lsattr、sudo的更多相关文章
- linux 学习第八天
一.特殊权限 1.SUID 让命令的执行者临时获取到了所有者权限(rws) 2.SGID 让目录中新的文件的所有组,归属上级目录 3.SBIT 粘滞位 让目录内的文件只能被文件所有者删除 4.修改文件 ...
- linux学习第八天 (Linux就该这么学)
今天学了,mount 挂载,umount撤销挂载,.fdisk 命令 管理硬盘 交换分区swap,硬盘配额 xfs_quota命令 今天工作,手机看了,看的不全,回头看录播了.
- Linux文件与目录管理 cp od chattr lsattr
1:在shell脚本中,一定要使用绝对路径. 2:在根目录下,.和..是完全相同的两个目录. 3:cd - 就相当于撤销,表示回到前面状态所在的目录. 4:mkdir -m 700 test 加&qu ...
- Linux学习笔记——使用指定的用户权限执行程序——sudo
sudo可以用来以其他用户身份执行命令,sudo命令可以针对单个命令授予临时权限.sudo仅在需要时授予用户权限,减少了用户因为错误执行命令损坏系统的可能性. 1:sudo的帮助信息如下: ...
- 【linux命令】权限管理命令(chattr、lsattr、sudo)
目录 chattr lsattr sudo 一.chattr命令 chattr命令用来修改文件系统的权限属性,只有 root 用户可以使用,建立凌驾于 rwx 基础权限之上的授权. PS:chattr ...
- 五大权限:UGO权限、SetUID SetGID Sticky、ACL权限、chattr(文件系统级别的权限)、SELINUX
五大权限:UGO权限.SetUID SetGID Sticky.ACL权限.chattr(文件系统级别的权限).SELINUX ======================文件属性以及ugo权限= ...
- Linux学习之文件特殊权限详解(SetUID、SetGID、Sticky BIT)(十一)
Linux学习之文件特殊权限详解(SetUID.SetGID.Sticky BIT) 目录 SetUID SetGID Sticky BIT SetUID SetUID简介 只有可以执行的二进制程序和 ...
- Linux学习之文件属性chattr权限与sudo权限(十二)
Linux学习之文件属性chattr权限与sudo权限 文件属性chattr Linux文件的隐藏属性在保护系统文件的安全性上非常重要,是防止误操作的,对root用户也同样有效.chattr命令只能在 ...
- linux学习(八)chmod、chown、umask、lsattr、chattr
一.权限位 权限位分为两个部分,第一个部分是谁的权限,第二部分是权限是多少.其中第一个部分一般分为:用户,用户组,其他用户.第二部分分为r:读权限,w:写权限,x:执行权限.可读,可写,可执行的权限, ...
随机推荐
- 五、smarty模板继承特性
1.如何去实现模板之间的继承 继承是发生在模板之间的事,和PHP程序没有关系的 方法一: 在模板中使用<{extends}>函数实现模板的继承 <{extends file=”模板文 ...
- centos6 升级php版本
配置yum源 追加CentOS 6.8的epel及remi源. # rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel- ...
- SpringBoot深入了解
核心配置文件 application 配置文件,主要用于 Spring Boot 项目的自动化配置. bootstrap 配置文件有以下几个应用场景. 使用 Spring Cloud Config 配 ...
- C# 利用AForge.NET开源类库实现 图像素描效果
引入DLL: using AForge.Imaging; using AForge.Imaging.Filters; //using AForge.Video.DirectShow;可以使用摄像头图像 ...
- 四十九:数据库之Flask-SQLAlchemy下alembic的配置
准备工作 配置数据 创建迁移文件并映射到数据库 增加字段 删除字段
- python 连接 hive数据库环境搭建
首先需要安装以下Python 包:(我用的是Python 2) 在安装Python包之前需要安装一些依赖工具: Debian/Ubuntu: apt-get install python-dev li ...
- 应用安全 - 工具 - 中间件 - Apache - Apache Tika - 漏洞汇总
CVE-2016-6809 Date2016 类型远程代码执行 影响范围Apache Tika 1.6-1.13 CVE-2018-1335 Date2018 类型命令注入 影响范围Tika-serv ...
- 【计算机视觉】阶编码本模型(Multi phase codebook model)
转自:http://www.cnblogs.com/xrwang/archive/2012/04/24/MPCBBGM.html 多阶编码本模型(Multi phase codebook model) ...
- 在CentOS 8 Linux中安装使用Cockpit服务器管理软件
在本文中,我们将帮助您在CentOS 8服务器中安装Cockpit Web 控制台,以管理和监视本地系统以及网络环境中的Linux服务器.您还将学习如何将远程Linux主机添加到Cockpit并在Ce ...
- urllib库:分析Robots协议
1from urllib.robotparser import RobotFileParser 2import ssl 3from urllib.request import urlopen 4ssl ...