5DAY高级权限
5DAY高级权限
0xff001 suid\sgid\sticky ; s\s\t ; 4\2\1特殊位
001、描述
suid,sgid针对文件程序时,具备临时提升权限
sgid 针对目录时,该目录具备继承属组的特性
sticky 针对目录设置,该目录中的内容只有root和属主能够删除
002、示例1-4
示例1 suid 普通用户通过二进制文件,利用suid提权 ,cat二进制程序进程获取root权限查看文件
示例1:suid 普通用户通过suid提权 <针对文件>
在进程文件(二进制,可执行)上增加suid权限
[root@tianyun ~]# chmod u+s /usr/bin/cat
[alice@tianyun ~]$ cat /root/file1.txt
示例2 suid passwd拥有u+s权限 运行的进程root
可以看到,这个被passwd所修改的文件,权限仅仅允许root用户修改。其他用户虽然可以调用passwd命令,但是不能修改/etc/shadow这个文件啊,那么密码怎么存储?这就是UID的作用,你不是没有权利修改/etc/shadow文件吗?我(程序所有者)给你啊。也就是说,在这个时候,其他用户调用passwd命令已经暂时获得root用户的权限,这时去修改/etc/shadow是利用root用户的权限去修改。
普通用户可以修改密码:
alice /usr/bin/passwd /etc/shadow
[alice@tianyun ~]$ ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 2月 17 2012 /usr/bin/passwd
[alice@tianyun ~]$ passwd
更改用户 alice 的密码 。
为 alice 更改 STRESS 密码。
(当前)UNIX 密码:
[root@tianyun ~]# ps aux |grep passwd
root 3674 0.0 0.0 165764 1884 pts/1 S+ 14:34 0:00 passwd
示例3 SGID
示例3:sgid 新建文件继承目录属组 <针对目录>
[root@tianyun ~]# mkdir /home/hr
[root@tianyun ~]# groupadd hr
[root@tianyun ~]# chgrp hr /home/hr/
[root@tianyun ~]# chmod g+s /home/hr
[root@tianyun ~]# ll -d /home/hr/
drwxr-sr-x. 2 root hr 4096 Dec 5 16:03 /home/hr/
[root@tianyun ~]# touch /home/hr/file9
[root@tianyun ~]# ll /home/hr/
-rw-r--r--. 1 root hr 0 Dec 5 16:03 file9
示例4 sticky
示例4:sticky 用户只能删除自己的文件 <针对目录>
[root@tianyun ~]# mkdir /home/dir1
[root@tianyun ~]# chmod 777 /home/dir1
测试:user1在/home/dir1建立文件, user2尝试删除!
[root@tianyun ~]# chmod o+t /home/dir1
[root@tianyun ~]# ll -d /home/dir1
rwxrwxrwt 2 root root 4096 09-02 02:26 /home/dir1
谁可以删除:
root
文件的所有者
目录的所有者
总结
1、字符添加权限
chmod u+s file#设置suid,针对文件提权,例如/usr/bin/passwd文件
chmod g+s dir#设置sgid,针对文件及目录,继承权限
chmod o+t dir#设置sticky针对目录,删除权限,2、数字添加权限
chmod 4777 file#设置suid
chmod 2770 dir#设置sgid
chmod 1770 dir#设置sticky
0xff002 设置特殊权限
001、chattr描述
常用于锁定某个文件,拒绝修改。
002、lsatter查看文件的特殊属性
[root@localhost ~]# lsattr
---------------- ./1.txt
---------------- ./vr
003、加上不同属性
[root@localhost ~]# chattr +a 1.txt //只能追加,不能删除,不能重命名、不能移动、
[root@localhost ~]# lsattr
-----a---------- ./1.txt
[root@localhost ~]# chattr +i 1.txt //不能更改,重命名,删除
[root@localhost ~]# touch 1.txt 2.txt
touch: 无法创建"1.txt": 权限不够
[root@localhost ~]# chattr +A 1.txt //不能访问更改时间
[root@localhost ~]# lsattr
----ia-A-------- ./1.txt
还原属性
[root@tianyun ~]# chattr -a 1.txt
[root@tianyun ~]# chattr -i 1.txt
[root@tianyun ~]# chattr -A 1.txt
其他属性---不太重要,了解咯---
chattr -c启动属性时,文件在磁盘上会自动压缩
-d不能使用dump命令备份文件
-D设置了文件夹的D属性时,更改会在同步保存在磁盘上
-e它表明,改文件使用磁盘上的块的映射扩展
-j 设置了这个属性时,文件的属性首先保存在日记中,然后写入文件
-s设置了这个属性时,变更或更改同步保存到磁盘上
-R递归地修改文件夹和子文件夹的属性
-V chattr 命令输出版本信息的冗余信息
-f 忽略大部分错误信息
0xff003 进程掩码 mask umask
001、描述
shell =======umask======> 新文件或目录权限(vim,touch)vsftpd =======umask======> 新文件或目录权限 samba =======umask======> 新文件或目录权限 useradd =======umask======> 用户HOME
002、默认umask掩码0022
[root@localhost ~]# umask
0022
[root@localhost ~]# touch 1.txt
[root@localhost ~]# mkdir dir
[root@localhost ~]# ll
总用量 0
-rw-r--r--. 1 root root 0 4月 30 11:21 1.txt
drwxr-xr-x. 2 root root 6 4月 30 11:21 dir
003、修改shell umask值(临时)
[root@localhost ~]# umask 000//修改umask当前环境变量
[root@localhost ~]# mkdir dir1
[root@localhost ~]# touch 4.txt
[root@localhost ~]# ll
总用量 0
-rw-rw-rw-. 1 root root 0 4月 30 11:29 4.txt
drwxrwxrwx. 2 root root 6 4月 30 11:29 dir1
004、修改shell umask (永久)
[root@tianyun ~]# vim /etc/profile
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002
else
umask 022
fi
[root@tianyun ~]# source /etc/profile //立即在当前shell中生效
005、通过umask决定新建用户HOME目录的权限
通过umask决定新建用户HOME目录的权限
[root@tianyun ~]# vim /etc/login.defs
UMASK 077
[root@tianyun ~]# useradd gougou
[root@tianyun ~]# ll -d /home/gougou/
drwx------. 4 gougou gougou 4096 3月 11 19:50 /home/gougou/
[root@tianyun ~]# vim /etc/login.defs
UMASK 000
[root@tianyun ~]# useradd yangyang
[root@tianyun ~]# ll -d /home/yangyang/
drwxrwxrwx. 4 yangyang yangyang 4096 3月 11 19:53 /home/yangyang/
006、例如vsftpd进程 /etc/vsftpd/vsftpd.conf 【了解】
/etc/vsftpd/vsftpd.conf 【了解】
[root@tianyun ~]# yum -y install vsftpd
[root@tianyun ~]# man vsftpd.conf
anon_umask
local_umask
5DAY高级权限的更多相关文章
- Linux高级权限管理 - ACL
传统权限模型缺点: 传统的UGO权限模型无法应对负责的权限设置要求,如对于一个文件只能设置一个组,并且对该组进行权限控制,但是如果该文件有多个组合会对其进行访问,并且都要要求权限限制时,传统的UGO模 ...
- 用户管理_组管理_设置主机名_UGO_文件高级权限_ACL权限
用户管理: 添加用户:useradd tom 设置密码:passwd tom 切换账户: su - tom (不加-也能切换,但是 -会有两点不同 1.有-会切换到该用户的主目录 2.会切换到该用户 ...
- liunx权限管理之高级权限
高级权限 suid,sgid,sticky ======================================================== 文件权限管理之:高级权限 问题1: 为什么 ...
- linux配置ftp高级权限
建一个用于管理的ftp高级账号,ftproot,定义它的目录,也就是我们存放项目的地址,所属组www, useradd -d /home/www -g www ftproot www里存放很多项目,我 ...
- chmod g+s 、chmod o+t 、chmod u+s:Linux高级权限管理
关于linux下权限操作chmod的一些说明!比rxw高级内容! 转载自http://blog.chinaunix.net/uid-26642180-id-3378119.html Set uid, ...
- Linux高级权限管理
传统的UGO(rwx-wx-wx)权限模型,无法解决当多个组需要对一个文件执行某些权限的问题. ACL :访问控制列表access control list一种高级的权限机制,允许我们对文件或者文件夹 ...
- 在 Confluence 6 中的 Jira 高级权限
启用嵌套用户组(Enable Nested Groups) 为嵌套组启用或禁用支持. 在启用嵌套用户组之前,你需要检查你在 JIRA 服务器中的嵌套用户组是否启用了.当嵌套用户组启用成功后,你可以将一 ...
- cygwin 获取root高级权限
cygwin安装完成后没有passwd文件解决方法
- Android权限管理之Permission权限机制及使用
前言: 最近突然喜欢上一句诗:"宠辱不惊,看庭前花开花落:去留无意,望天空云卷云舒." 哈哈~,这个和今天的主题无关,最近只要不学习总觉得生活中少了点什么,所以想着围绕着最近面试过 ...
随机推荐
- winform checkedlistbox 设置行颜色
重写OnDrawItem事件 public class ColorCodedCheckedListBox : CheckedListBox{ protected override void OnDra ...
- vue插件
Vue.js提供了插件机制,可以在全局添加一些功能.它们可以简单到几个方法.属性,也可以很复杂,比如一整套组件库. 注册插件需要一个公开的方法install,它的第一个参数是Vue构造器,第二个参数是 ...
- OnApplicationFocus & OnApplicationPause &时间戳
锁屏.切到后台 程序强制暂停时使用 private long leaveTime; private void OnApplicationFocus(bool focus) { if (focus==f ...
- SpringBoot 部署到linux环境
第一部分:Springboot项目部署 说明:工具使用的是IEDA 第一:项目打包 1.在pom文件中添加插件 <build> <plugins> <plugin> ...
- Python之PIL库的运用、GIF处理h
一.PIL库简介 PIL(Python Image Library)库是Python语言的第三方库,它支持图像存储.显示和处理,它能够处理几乎所有图片格式,可以完成对图像的缩放.剪裁.折叠以及像图片添 ...
- 高性能mysql的事物隔离级别
数据库事务的隔离级别有4种,由低到高分别为Read uncommitted .Read committed .Repeatable read .Serializable .而且,在事务的并发操作中可能 ...
- PythonStudy——nonlocal关键字
# 作用:将局部的变量提升为嵌套局部变量# 1.必须有同名嵌套局部变量,就是统一嵌套局部与局部的同名变量# -- 如果局部想改变嵌套局部变量的值(发生地址的变化),可以用nonlocal声明该变量 d ...
- C#中的参数和调用方式(可选参数、具名参数、可空参数)
具名参数 和 可选参数 是 C# framework 4.0 出来的新特性. 一. 常规方法定义及调用 public void Demo1(string x, int y) { //do someth ...
- 通过ZipKin整理调用链路
缘由 公司使用的是Docker+微服务,服务拆分差不多41个了,然后过完年来就接到这个需求,把指定业务功能的业务基线整理出来,比如,登录这个操作会经过哪些微服务,把登录这个操作的链条列出来,从api- ...
- Java 动态绑定
转载 http://www.cnblogs.com/ygj0930/p/6554103.html 一:绑定 把一个方法与其所在的类/对象 关联起来叫做方法的绑定.绑定分为静态绑定(前期绑定)和动态绑 ...