r
读权限
为用户提供可以阅读文件的权限
w
写权限
为用户提供可以更改文件的权限
x
执行权限
为用户提供可以执行文件的权限
比如当用户需要执行shell脚本时
就需要对脚本提供执行权限
B. 测试时需要使用Linux,请问Linux权限的字母的含义是什么
文件系统部分
- 普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。)
d 目录文件(蓝色)
b 设备文件(块设备)存储设备硬盘,U盘 /dev/sda, /dev/sda1
c 设备文件(字符设备)打印机,终端 /dev/tty1
l 链接文件(淡蓝色)
s 套接字文件
p 管道文件
文件权限部分
- //表普通文件
rwx //读、写、执行(数字表示4、2、1)
a所有人,= 表覆盖
s是此处含有x权限,当去除x权限则为S。
s分为suid和sgid,suid可以为普通用户提权,sgid可以让组属性得以继承。
基本权限 ACL
acl权限的理解:假如有一个test.txt文件,只有属主和属组有rwx权限,其他用户没权限。有一个用户既不在该用户属组也不是属主,想要访问test.txt文件,就得通过acl权限
。即acl权限可以针对单个用户。
mask权限
acl权限中有个"mask"的选项,它就是ACL权限的最大权限,现在是rwx,当你设置某个用户或组的ACL权限时,要跟mask的权限“相与”之后产生的权限才是该用户的最终权限,也就是加入mask的最大权限是rx,但是你给st用户设置的是rwx权限,此时st用户它的权限只有rx的权限,因为与最大权限“相与”得出的结果就是rx。
4、特殊权限chattr:常用于锁定某个文件,拒绝修改。可参考《Linux就该这么学》了解更多Linux知识。
C. linux文件权限包括
linux文件权限包括:对文件所有者本人、同组用户、以及其他用户的可读、可写、可执行权限。
文件的特殊权限有三种:1、suid,2、sgid,3、sticky,其中,suid和sgid用于累加提升权限,简单来说就是如果原来的用户可以访问,反而切换到的用户或者组不能访问,这时候照样是可以访问的。
理解文件权限
文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。通常Linux 将一个文件或目录与一个用户和组联系起来。
与文件权限相关联的是第一、第三、第四个域。第三个域是文件的所有者,第四个域是文件的所属组,而第一个域则限制了文件的访问权限。在这个例子中,文件的 所有者是 root,所属的组是 root,文件的访问权限是 drwxr-xr-x。对于文件和目录讲,每个文件和目录都有一组权限标志和它们结合在一起,在上例中就是第一个域中的内容。
D. linux 提权-SUID提权
最近想着学习linux提权的一些姿势,这里简单分享学习SUID提权的一些知识点。
先来父复习一下linux文件的权限分配。
ls命令用来查看系统上面的文件、目录的权限。
字段的第一个字符表示对象的类型。
之后是每三个字符为一组,每一组定义了3种访问权限。
这三组分别表示文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。
然后规定用数字4、2和1表示读、写、执行权限。即r=4,w=2,x=1。
所以
chmod改变权限
chown用来更改某个目录或文件的用户名和用户组
该命令需要root权限运行
而文件权限除了r、w、x外还有s、t、i、a权限。
SUID
当执行的文件被赋予了s权限,就被称为Set UID,简称为SUID的特殊权限。八进制数为4000。
举个例子:
linux修改密码的passwd就是个设置了SUID的程序。因为如果普通账号cseroad需要修改密码,就要访问/etc/shadow,但是该文件只有root能访问。那他是怎么修改的呢?原理:
查看该程序,发现被赋予了s权限。当cseroad需要修改自己的密码时,passwd程序的所有者为root,cseroad用户执行passwd 程序的过程中会暂时获得root权限,所以可以修改/etc/shadow文件。
SGID
而当s标志出现在用户组的x权限时则称为SGID。八进制数为2000。
当用户对某一目录有写和执行权限时,该用户就可以在该目录下建立文件,如果该目录用SGID修饰,则该用户在这个目录下建立的文件都是属于这个目录所属的组。(父目录跟随)
SBIT
就是Sticky Bit,出现在目录的其他用户执行权限X上,标记为T,八进制数为1000。对目录有效,使用者只能对自己创建的文件或目录进行删除/更名/移动等动作,而无法删除他人文件(除非ROOT)
赋予s权限:chmod 4755 filename 或者 chmod u+s /usr/bin/find
取消s权限:chmod 755 filename 或者 chmod u-s /usr/bin/find
以centos为例。
还有额外的几个命令
我们就可以通过覆盖/etc/passwd文件,提权为root
默认该命令没有s权限
find命令
假如find命令被赋予s权限。
创建a.txt文件,执行 /usr/bin/find a.txt -exec /bin/bash -p ; ,成功提权。
这里注意的是新版Linux系统对子进程的suid权限进行了限制,不同的操作系统结果也会不一样。
具体细节参考 https://cloud.tencent.com/developer/article/1674144
利用python可反弹得到root权限的shell
python命令
根据 https://gtfobins.github.io/ 查找python利用姿势。
条件是sudo安装时需要输入当前用户密码。
在实战过程中,多查看 https://gtfobins.github.io/ 是否存在SUID提权,以及使用searchsploit命令查看某程序是否存在本地提权漏洞。
https://yoga7xm.top/2019/06/14/suid/
http://www.361way.com/suid-privilege/5965.html
E. Linux下的umask、特殊权限与ACL权限
在了解到Linux系统上的文件目录权限,有时候你会发现为什么刚创建的文件是 -rw-r--r-- 这个权限,目录是 drwxr-xr-x 权限,有些是 -rwsr-xr-x ,又有些是 drwsrws--T ?这些则与umask、特殊权限有关。
什么是umask?umask一般是用在你初始创建一个目录或者文件的时候赋予他们的权限。它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、
或用户家目录下的.bash_profile或.profile中设置umask值。
默认的umask是0022,0022四个数字代表是赋值初始化准备丢弃的权限。(相对应文件来说,x权限就算没说明出来丢弃一样必须默认丢弃)
第一个0代表suid 丢弃的权限;
第二个0代表本文件/目录拥有者什么权限都没丢弃;
第三个2代表本文件/目录的用户组丢弃了w权限;
第四个2代表本文件/目录的文件/目录的用户组丢弃了w权限。
一般我们会这样表示:
umask +default permission(默认权限) =777(目录)/666(文件)
但存在特殊情况如果把umask设为135呢?
要了解特殊权限需对安全上下文有一个概念:
前提:进程有属主和属组;文件有属主和属组
(1) 任何一个可执行程序文件能不能启动为进程,取决发起者对程序文件是否拥有执行权限
(2) 启动为进程之后,其进程的属主为发起者,进程的属组为发起者所属的组
(3) 进程访问文件时的权限,取决于进程的发起者
(a) 进程的发起者,同文件的属主:则应用文件属主权限
(b) 进程的发起者,属于文件属组;则应用文件属组权限
(c) 应用文件“其它”权限
1.SUID 权限仅对二进制程序(binary program)有效;
2.执行者对于该程序需要具有x 的可执行权限;
3.本权限仅在执行该程序的过程中有效(run-time);
4.执行者将具有该程序拥有者(owner) 的权限。
5.SUID设置在目录上无意义
权限设定:
chmod u+s FILE...
chmod u-s FILE...
s 标志在文件拥有者的x 项目为SUID,那s 在群组的x 时则称为Set GID
[root@centos7 ~]# ls -l /usr/bin/locate
-rwx--s--x. 1 root slocate 40496 Jun 10 2014 /usr/bin/locate
与SUID 不同的是,SGID 可以针对文件或目录来设定!如果是对文件来说, SGID 有如下的功能:
-1.SGID 对二进制程序有用;
-2.程序执行者对于该程序来说,需具备x 的权限;
-3.执行者在执行的过程中将会获得该程序群组的支持!
[root@centos7 ~]# ll /usr/bin/locate /var/lib/mlocate/mlocate.db
-rwx--s--x. 1 root slocate 40496 Jun 10 2014 /usr/bin/locate
-rw-r-----. 1 root slocate 2349055 Jun 15 03:44 /var/lib/mlocate/mlocate.db
与SUID 非常的类似,使用xiaoming 这个账号去执行locate 时,那xiaoming将会取得slocate 群组的支持, 因此就能够去读取 mlocate.db 。
SGID 也能够用在目录上,这也是非常常见的一种用途
目录设定了SGID 的权限后,他将具有如下的功能:
-1. 用户若对于此目录具有r 与x 的权限时,该用户能够进入此目录;
-2.用户在此目录下的有效群组(effective group)将会变成该目录的群组;
-3.用途:若用户在此目录下具有w 的权限(可以新建文件),则使用者所建立的新文件,该新文件的群组与此目录的群组相同。
这个 Sticky Bit, SBIT 目前只针对目录有效,sticky 设置在文件上无意义。SBIT 对于目录的作用是:
-1.当用户对于此目录具有w, x 权限,亦即具有写入的权限时;
-2.当用户在该目录下建立文件或目录时,仅有自己与root 才有权力删除该文件
SUID/SGID/SBIT 权限设定
-rwSrwSrwT 1 root root 0 Jun 16 02:53 test
设定权限成为 -rws--x--x 的模样:
[root@centos7 tmp]# chmod u=rwxs,go=x test; ls -l test
-rws--x--x 1 root root 0 Jun 16 02:53 test
承上,加上 SGID 与 SBIT 在上述的文件权限中!
[root@centos7 tmp]# chmod g+s,o+t test; ls -l test
-rws--s--t 1 root root 0 Jun 16 02:53 test
1】ACL 是Access Control List 的缩写,主要的目的是在提供传统的owner,group,others 的read,write,execute 权限之外的细部权限设定。ACL 可以针对单一使用者,单一文件或目录来进行
ACL 主要可以针以下来控制权限呢:
1.使用者 (user):可以针对使用者来设定权限;
2.群组 (group):针对群组为对象来设定其权限;
3.默认属性(mask):还可以针对在该目录下在建立新文件/目录时,规范新数据的默认权限;
及1.ACL:Access Control List,实现灵活的权限管理;2.CentOS7默认创建的xfs和ext4文件系统具有ACL功能;3.CentOS7之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加tune2fs –o acl/dev/sdb1
mount –o acl/dev/sdb1 /mnt/test
4.ACL生效顺序:所有者,自定义用户,自定义组,其他人
为多用户或者组的文件和目录赋予访问权限rwx
2】ACL 的设定技巧: getfacl, setfacl
-x :删除后续的 acl 参数,不可与 -m 合用;
-b :移除『所有的』 ACL 设定参数;
-k :移除『预设的』 ACL 参数,
-R :递归设定 acl ,亦即包括次目录都会被设定起来;
-d :设定『预设 acl 参数』的意思!只对目录有效,在该目录新建的数据会引用此默认值
例:[root@centos7 ~]# touch acl_test1
[root@centos7 ~]# ll acl_test1
-rw-r--r--. 1 root root 0 Jul 21 17:33 acl_test1
[root@centos7 ~]# setfacl -m u:xiaoming:rx acl_test1
[root@centos7 ~]# ll acl_test1
-rw-r-xr--+ 1 root root 0 Jul 21 17:33 acl_test1
[root@centos7 ~]# setfacl -m u::rwx acl_test1
[root@centos7 ~]# ll acl_test1
-rwxr-xr--+ 1 root root 0 Jul 21 17:33 acl_test1
设定值中的 u 后面无使用者列表,代表设定该文件拥有者
2.getfacl 指令用法余setfacl一样
例:[root@centos7 ~]# getfacl acl_test1
file: acl_test1 <==说明档名而已!
owner: root <==说明此文件的拥有者,亦即 ls -l 看到的第三使用者字段
group: root <==此文件的所属群组,亦即 ls -l 看到的第四群组字段
user::rwx <==使用者列表栏是空的,代表文件拥有者的权限
user:xiaoming:r-x <==针对xiaoming 的权限设定为 rx ,与拥有者并不同!
group::r-- <==针对文件群组的权限设定仅有 r
mask::r-x <==此文件预设的有效权限 (mask)
other::r--
3】特定的单一群组的权限设定:『g:群组名:权限』
4】主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p 参数。但是tar等常见的备份工具是不会保留目录和文件的ACL信息
getfacl -R /tmp/dir1 > acl.txt
setfacl -R -b /tmp/dir1
清除dir目录的ACL权限
setfacl -R --set-file=acl.txt /tmp/dir1
setfacl --restore acl.txt
getfacl -R /tmp/dir1
F. linux系统中无法修改文件权限
八进制数:645。文件的属性是:所有者有读写权限,组有读取权限,其他人有读取和执行权限。
其中r:读权限,w:写权限,x:执行。属于:U:所有者,G:属群,O:其他。Rw-r-r-x 9位,分为三段,每段三位,后面是R、W、X权限,三段分别是所有者、组、其他三类权限。
数字也可以表示权限,R用4表示,W用2表示,X用1表示,rwx用二进制表示,如果你有权限,用1代替0。具体来说,只要对应的位有权限,二进制为1,那么这三位组合起来,然后数字就可以计算出二进制到十进制的权限。
扩展信息:
权限规定:
X(X权限的特殊形式)的功能,为目录增加X权限。
2.对于文件:没有执行的文件不会增加X权限。任何三种有执行权限的人也会增加X权限。
3.目录权限的含义:
只读:只能查看目录文件列表,不能访问文件,不能cd目录(查看,删除)。仅执行:可以通过cd访问目录中的文件,而不是ls。执行是基本权限。写权限:只有X权限才有效。新目录:777-umask值是新目录的默认权限;管理员的umask是022;普通用户的umask是002。
来源:搜狗网络-文件系统权限
G. Linux特殊文件权限
文件权限和安全
1.stat命令, IO/Block 簇,文件系统最小的读写分配单位 查询系统的该值可用stat命令
3.文件的隐藏属性
创建:chattr
显示:lsattr
两个特殊的命令:
i使文件不可更改,无论任何人。
a追加权限
4.八进制权限:r-4 ; w-2; x-1
5.suid:对象-二进制文件, 八进制-4
定义:如果A用户对属于他的二进制文件设置了这种权限,那么其他用户在执行这个文件的时候就拥有了A的权限。
在修改一个文件的所有权时,相应的suid也将会被清除。
chmod 4721 filename
chmod u+s filename
6.guid:对象 目录或文件 八进制-2
7.sticky bit (Sbit) 对象-目录
定义:在具有sbit的目录下,用户在该目录下具有w及x权限,则当用户在该目录下创建文件或目录时,只有文件拥有者与root才能有权限删除(可记忆为:各扫门前雪)
8.umask 一般系统默认值为022,最安全值为177。范围000-777
9.硬链接(hard link)
ln -d existfile newfile
通过索引节点(inode,该值可用stat命令查询)来查询硬链接的数目。
局限:
a.不能给目录创建硬链接
b.只能在同一文件系统中的文件之间才能创建硬链接。
在同一文件系统中,有几个目录项具有相同的inode,我们就说这几个文件有几个硬链接
不同文件系统中,具有相同inode值的文件,不具有任何关系。
查询硬链接的命令有:ls -i
通过inode来查询文件
find -inum inode_value
查询硬链接数目大于2的文件:
find / -links +2 -type f
一旦源文件删除后,硬链接文件将变成普通的文件存在。
10.软连接(symbolic link)
ln -s source_path target_path
形同于windows下的快捷方式,源文件删除后,链接所产生的将不可用
11.acl
定义:对某个文件设置该文件具体的某些用户的权限,即通过acl对文件权限做扩展,可以做到不同用户对文件有不同的权限。
命令:
修改权限:setfacl
增加
setfacl -m u:username:权限
setfacl -m g:groupname:权限
删除:
setfacl -x 用户名 文件名
setfacl -x 组名 文件名
显示权限:getfacl
注意一些命令对于acl权限的影响
mv star cp-p---保留acl权限
cp tar————不保留acl权限。
H. linux系统命令权限怎么获得
有用户反映Linux系统中想使用命令进行一些配置,但是提示没有权限,怎么解颤谈厅决呢?下面我就给大家介绍下Linux普通用户没有权限使用系统命令的解决方法。
Linux普通用户没有权限使用命令怎么办?
解决方法:
这里就要用到linux的特殊权限命令了:suid权限的赋加。
比如说你登陆普通用户user1,想要使用reboot的命令,一般情况下会提示你没有权限执行此命令。
但如果把此命令的配置文件的权限修改下,就可以登陆普通用户使用此命令了。
首侍手先使用root用户登陆系统;
然后敲入 “which reboot”,会得到reboot配置文件的绝对路径/sbin/reboot
然后赋加给/sbin/reboot文件权限S,
chmod 4744 /sbin/reboot
然后切换到user1:su - user1
再次输入reboot后就可以执行此命令了。
补充:系统常用维护技巧
1,在 “开始” 菜单中选择 “控制面板” 选项,打开 “控制面板” 窗口,单击 “管理工具” 链接
2,在打开的 “管理工具” 窗口中双击 “事件查看器” 图标
3, 接着会打开 “事件查看器” 窗口
4,在右侧窗格中的树状目录中选择需要查看的日志类型,如 “事件查看器本地--Win日志--系统日志,在接着在中间的 “系统” 列表中即查看到关于系统的事件日志
5,双击日志名称,可以打开 “事件属性” 对话框,切换到 “常规” 选项卡,可以查看该日志的常规描述信息
6,切换到 “详细信息” 选项卡,可以查看该日志的详细信息
7,打开 “控制面板” 窗口,单击 “操作中心” 链接,打开 “操作中心” 窗口,展开 “维护” 区域
8,单击 “查看可靠性历史记录” 链接,打开 “可靠性监视程序” 主界茄隐面,如图所示, 用户可以选择按天或者按周为时间单位来查看系统的稳定性曲线表,如果系统近日没出过什么状况, 那么按周来查看会比较合适。观察图中的曲线可以发现,在某段时间内,系统遇到些问题,可靠性指数曲线呈下降的趋势,并且在这段时间系统遇到了三次问题和一次警告,在下方的列表中可以查看详细的问题信息。
相关阅读:系统故障导致死机怎么解决
1、病毒原因造成电脑频繁死机
由于此类原因造成该故障的现象比较常见,当计算机感染病毒后,主要表现在以下几个方面:
①系统启动时间延长;
②系统启动时自动启动一些不必要的程序;
③无故死机
④屏幕上出现一些乱码。
其表现形式层出不穷,由于篇幅原因就介绍到此,在此需要一并提出的是,倘若因为病毒损坏了一些系统文件,导致系统工作不稳定,我们可以在安全模式下用系统文件检查器对系统文件予以修复。
2、由于某些元件热稳定性不良造成此类故障(具体表现在CPU、电源、内存条、主板)
对此,我们可以让电脑运行一段时间,待其死机后,再用手触摸以上各部件,倘若温度太高则说明该部件可能存在问题,我们可用替换法来诊断。值得注意的是在安装CPU风扇时最好能涂一些散热硅脂,但我在某些组装的电脑上却是很难见其踪影,实践证明,硅脂能降低温度5—10度左右,特别是P Ⅲ 的电脑上,倘若不涂散热硅脂,计算机根本就不能正常工作,曾遇到过一次此类现象。该机主要配置如下:磐英815EP主板、PⅢ733CPU、133外频的128M内存条,当该机组装完后,频繁死机,连Windows系统都不能正常安装,但是更换赛扬533的CPU后,故障排除,怀疑主板或CPU有问题,但更换同型号的主板、CPU后该故障也不能解决。后来由于发现其温度太高,在CPU上涂了一些散热硅脂,故障完全解决。实践证明在赛扬533以上的CPU上必须要涂散热硅脂,否则极有可能引起死机故障。
3、由于各部件接触不良导致计算机频繁死机
此类现象比较常见,特别是在购买一段时间的电脑上。由于各部件大多是靠金手指与主板接触,经过一段时间后其金手指部位会出现氧化现象,在拔下各卡后会发现金手指部位已经泛黄,此时,我们可用橡皮擦来回擦拭其泛黄处来予以清洁。
4、由于硬件之间不兼容造成电脑频繁死机
此类现象常见于显卡与其它部件不兼容或内存条与主板不兼容,例如SIS的显卡,当然其它设备也有可能发生不兼容现象,对此可以将其它不必要的设备如Modem、声卡等设备拆下后予以判断。
5、软件冲突或损坏引起死机
此类故障,一般都会发生在同一点,对此可将该软件卸掉来予以解决。
I. linux 文件有哪些特殊权限
r 读权限 为用户提供可以阅读文件的权限 w 写权限 为用户提供可以更改文件的权限 x 执行权限 为用户提供可以执行文件的权限 比如当用户需要执行shell脚本时 就需要对脚本提供执行权限