linux用户权限 -> 系统特殊权限
set_uid
运行一个命令的时候,相当于这个命令的所有者,而不是执行者的身份。
suid的授权方法
suid 权限字符s(S),用户位置上的x位上设置。
授权方法:chmod passwd
chmod u+s passwd
suid的作用
1.让普通用户拥有二进制文件的所属主权限,二进制文件需要有执行权限。
2.如果设置的二进制文件没有执行权限,那么suid的权限显示就是大S。
3.特殊权限suid仅对二进制可执行程序有效,其他文件或目录则无效。
4.如果普通用户需要操作没有权限的文件,为对应的命令赋予Suid权限。
注意: suid双刃剑, 是一个比较危险的功能, 对系统安全有一定的威胁。
set_gid
运行一个命令的时候,相当于是这个命令所在的用户组
sgid授权方法
suid 权限字符s(S),取决于属组位置上的x。
授权方法:chmod directory
chmod g+s directory
sgid作用
1.针对用户组权限位修改,用户创建的目录或文件所属组和该目录的所属组一致。
2.当某个目录设置了sgid后,在该目录中新建的文件不在是创建该文件的默认所属组
3.使用sgid可以使得多个用户之间共享一个目录的所有文件变得简单。
sticky粘滞位
sticky
对目录有写权限的用户仅仅可以删除目录里属于自己的文件,不能删除其他用户的文件
系统中存在的/tmp
目录是经典的粘滞位目录,谁都有写权限,因此安全成问题,常常是木马第一手跳板。
sticky授权方法
粘滞位 权限字符t(T),其他用户位的x位上设置。
授权方法:chmod /tmp
chmod o+t /tmp
sticky作用
1.让多个用户都具有写权限的目录,并让每个用户只能删自己的文件。
2.特殊sticky目录表现在others的x位,用小t表示,如果没有执行权限是T
3.一个目录即使它的权限为"777"如果是设置了粘滞位,除了目录的属主和"root"用户有权限删除,除此之外其他用户都不允许删除该目录。
查看隐藏属性
[root@Test01 ~]# lsattr /tmp
-------------e- /tmp/100m
其中e为默认值
修改隐藏属性chattr
) 使用chattr修改
+增加,-减少,=设置仅有 ) 相关参数如下
a 只允许向文件中增加内容(包含root用户)例:chattr +a a.txt
i 不允许修改文件内容(包含root用户) 例:chattr +i a.txt
A 文件或目录每次被访问不会修改atime。可避免I/O过度访问磁盘
s 若删除,则从磁盘空间删除
c 对文件自动压缩,读取是自动解压
u 若删除,还在磁盘中,可以恢复文件
a:让文件或目录仅可追加内容
i:不得任意更动文件或目录 //创建文件并设置属性
[root@xuliangwei ~]# touch file_a file_i
[root@xuliangwei ~]# lsattr file_a file_i
---------------- file_a
---------------- file_i //设置属性
[root@xuliangwei ~]# chattr +a file_a
[root@xuliangwei ~]# chattr +i file_i
[root@xuliangwei ~]# lsattr file_a file_i
-----a---------- file_a
----i----------- file_i //a权限, 无法覆盖写入和删除文件
[root@xuliangwei ~]# echo "aa" > file_a
bash: file_a: Operation not permitted
[root@xuliangwei ~]# rm -f file_a
rm: cannot remove ‘file_a’: Operation not permitted //a权限, 只能追加, 适用于日志文件
[root@xuliangwei ~]# echo "aa" >> file_a //i权限, 无法写入, 无法删除
[root@xuliangwei ~]# echo "i" > file_i
bash: file_i: Permission denied
[root@xuliangwei ~]# echo "i" >> file_i
bash: file_i: Permission denied
[root@xuliangwei ~]# rm -f file_i
rm: cannot remove ‘file_i’: Operation not permitted //解除限制
[root@tianyun ~]# chattr -a file100
[root@tianyun ~]# chattr -i file200
进程掩码umask
umask
用于控制系统权限, 默认系统权限较大, 需要靠Umask来变更权限
默认新建文件,系统默认最大权限为666
默认新建目录,系统默认最大权限是777
我们在新建文件和目录的默认权限会受到umask
的影响, umask
表示要减掉的权限。
创建目录权限值为777-umask
创建普通文件权限值为644-umask
umask
涉及到的相关文件/etc/bashrc /etc/profile ~/.bashrc ~/.bash_profile
注意umask影响的范围
shell (vim,touch) --umask--> 新文件或目录权限
vsftpd --umask--> 新文件或目录权限
samba --umask--> 新文件或目录权限
useradd --umask--> 用户 HOME
.假设umask值为:(所有位为偶数)
//文件的起始权限值
- = .假设umask值为:(其他用户组位为奇数)
//计算出来的权限。由于umask的最后一位数字是5,所以,在其他用户组位再加1。
- = .默认目录权限计算方法
- = umask //umask所有位全为偶数时
示例:mkdir d044 //目录733
示例:touch f044 //文件622 umask //umask值的部分或全部位为奇数时
示例:mkdir d023 //目录754
示例:touch f023 //文件644 umask //umask值的所有位为奇数时
示例:mkdir d035 //目录742
示例:touch f035 //文件642
示例1: 在shell进程中创建文件
//查看当前用户的umask权限
[root@xuliangwei ~]# umask [root@xuliangwei ~]# touch file0022
[root@xuliangwei ~]# mkdir dir0022
[root@xuliangwei ~]# ll -d file0022 dir0022/
drwxr-xr-x root root Jan : dir0022/
-rw-r--r-- root root Jan : file0022
示例2: 修改shell umask值(临时生效)
[root@xuliangwei ~]# umask
[root@xuliangwei ~]# mkdir dir000
[root@xuliangwei ~]# touch file000
[root@xuliangwei ~]# ll -d dir000 file000
drwxrwxrwx root root Jan : dir000
-rw-rw-rw- root root Jan : file000
示例3: 修改shell umask值(永久生效, 强烈不建议修改)
[root@xuliangwei ~]# vim /etc/profile
if [ $UID -gt ] && [ "`id -gn`" = "`id -un`" ]; then
umask
else
umask
fi //立即在当前 shell 中生效
[root@xuliangwei ~]# source /etc/profile
示例4: 通过umask决定新建用户HOME目录的权限
[root@xuliangwei ~]# vim /etc/login.defs
UMASK
[root@xuliangwei ~]# useradd dba
[root@xuliangwei ~]# ll -d /home/dba/
drwx------. dba dba 月 : /home/dba/ [root@tianyun ~]# vim /etc/login.defs
UMASK
[root@xuliangwei ~]# useradd sa
[root@xuliangwei ~]# ll -d /home/sa/
drwxrwxrwx. sa sa 月 : /home/sa/
特殊权限练习题
创建三个用户, 分别为curly
larry
moe
这些用户都是stooges
组的成员。
这些用户帐号密码都为password
1.要求以上用户和组可以在/home/stooges
目录里访问,创建,删除文件
2.其他用户一律不允许访问该目录
3.在该目录下新建的文件会自动属于stooges
组拥有
//创建用户,组
useradd curly
useradd larry
useradd moe
groupadd stooges //创建密码
echo "password" |passwd --stdin moe
echo "password" |passwd --stdin larry
echo "password" |passwd --stdin curry //将用户加组
gpasswd -a larry stooges
gpasswd -a moe stooges
gpasswd -a curly stooges //创建目录并配置权限
mkdir /home/stooges
chmod /home/stooges
chown .stooges /home/stooges
chmod g+s /home/stooges
linux用户权限 -> 系统特殊权限的更多相关文章
- Linux - 用户管理与文件权限
目录 Linux - 用户管理与文件权限 创建普通用户 切换用户 userdel删除用户 sudo 命令 文件与目录权限 Linux权限的解读 目录权限 查看用户权限的命令 文件权限 修改权限的命令 ...
- Linux 用户管理 与 文件权限
Linux 用户管理 与 文件权限 用户组操作 1.groupadd命令 groupadd [-g -o] gid group 各个选项具体含义如下: -g:指定新建用户组的GID号,该GID号必须唯 ...
- linux用户管理和文件权限
linux用户管理和文件权限 新建用户:useradd ftpuser useradd -g gxx userxx修改密码:passwd ftpuser新增用户组:# groupadd gr ...
- linux用户权限 -> 系统基本权限
比如rwxr-xr-x linux中正是这9个权限位来控制文件属主(User).属组(Group).其他用户(Other)基础权限. 用户对资源来说, 有三种角色 User(u): 属主用户(文件所有 ...
- Linux用户体系和文件权限总结
一. Linux系统用户和用户组相关文件 1. /etc/passwd文件 这个passwd文件是Linux用户信息文件.文件格式说明如下: root:x:0:0:root:/r ...
- linux用户身份和文件权限
1.用户身份与能力 root管理员是linux 的超级用户,他拥有系统的所有权,能够管理系统的各项功能,如添加/删除用户,启动/关闭服务进程,开启/禁用硬件设备…… "Linux系统中的管理 ...
- Linux 用户身份与进程权限
在学习 Linux 系统权限相关的主题时,我们首先关注的基本都是文件的 ugo 权限.ugo 权限信息是文件的属性,它指明了用户与文件之间的关系.但是真正操作文件的却是进程,也就是说用户所拥有的文件访 ...
- 笔记:Linux用户管理(补充)、权限管理、内存管理、网络管理、渗透常用命令
一.用户管理(补充) 添加用户:useradd [选项] 用户名 useradd -u 5000 -g demogroup -G root -d /home/demo -s /bin/bash dem ...
- Linux用户身份与文件权限学习笔记
用户身份 管理员UID为0:系统的管理员用户 系统用户UID为1~999:服务程序会有独立的系统用户负责运行:防止被黑客入侵进行提权,并有效控制被破坏的范围 普通用户UID从1000开始:是由管理员创 ...
随机推荐
- 【刷题】BZOJ 2959 长跑
Description 某校开展了同学们喜闻乐见的阳光长跑活动.为了能"为祖国健康工作五十年",同学们纷纷离开寝室,离开教室,离开实验室,到操场参加3000米长跑运动.一时间操场上 ...
- BZOJ3192:[JLOI2013]删除物品——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=3192 箱子再分配问题需要解决如下问题: (1)一共有N个物品,堆成M堆. (2)所有物品都是一样的 ...
- 开源nginx_lua_waf部署安装
0x01 前言 ngx_lua_waf实现 WAF一句话描述,就是解析HTTP请求(协议解析模块),规则检测(规则模块),做不同的防御动作(动作模块),并将防御过程(日志模块)记录下来.所以本文中 ...
- MyBatis.1入门篇
一:简介 MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动.创建connection.创建statem ...
- 遇到问题----gradle-----myeclipse的gradle插件导入项目报错nsupported major.minor version 51.0
装好了gradle插件之后 想要导入gradle类型的项目,然后在 build model的过程中发现: 报错nsupported major.minor version 51.0 查了下发现是jdk ...
- 响应式开发(四)-----Bootstrap CSS----------Bootstrap CSS概览和相关注意事项
本章先记录一些与Bootstrap CSS相关的一些特点和注意事项以及兼容性. HTML 5 文档类型(Doctype) Bootstrap 使用了一些 HTML5 元素和 CSS 属性.为了让这些正 ...
- 【loj2586】【APIO2018】选圆圈
题目 有 \(n\) 个圆$c_1,c_2, \cdots , c_n $,执行如下的操作: 找到剩下的半径最大的圆删除并删除所有和它有交的其他并没有被删除的圆: 求每个圆是被那个圆删除的: $1 \ ...
- [HAOI2011]防线修建
题目描述 近来A国和B国的矛盾激化,为了预防不测,A国准备修建一条长长的防线,当然修建防线的话,肯定要把需要保护的城市修在防线内部了.可是A国上层现在还犹豫不决,到底该把哪些城市作为保护对象呢?又由于 ...
- CentOS 7.0源码包搭建LNMP方法分享(实际环境下)
CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这 ...
- Redis学习基础二
回顾:上一基础中已了解 ( 什么是redis .redis 的三大特点.安装,和数据配置) 接下来浅尝Redis的数据类型,时间煮雨...... 一.Redis数据类型 redis支持五中数据类型(s ...