chmod

linux中文件的特殊权限(SetUID/SetGID/SBIT)

好久不见. 提交于 2020-02-29 22:44:30
1.SetUID 一.SetUID的功能 SetUID主要是给命令提供一个root权限,就是命令运行时拥有root用户权限,命令运行结束后root权限消失 1.只有执行的二进制程序才能设定SUID权限 2.命令执行者要对该程序有用x(执行)权限 3.命令执行者在执行该程序时获得该程序文件属主(所有者)的身份(在执行程序的过程中灵魂附体为文件的属主) 4.SetUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效. passwd passwd命令拥有SetUID权限,所以普通用户可以修改自己的密码 修改密码是向/etc/shadow写入数据的 但是/etc/shadow文件的权限是---------,只有root用户可以操作,普通用户连看都不可以 [root@izm5e2q95pbpe1hh0kkwoiz ~]# ll /etc/shadow ---------- 1 root root 1097 Dec 10 17:02 /etc/shadow 所以passwd命令拥有SetUID权限,让普通用户在修改自己密码的时候,短暂拥有root权限, 修改完密码之后,root权限也就没有了 passwd命令中其他组拥有的权限是r-x,普通用户划归在其他组中,对应上面第2条,命令执行者要对该程序有用x(执行)权限 [root@izm5e2q95pbpe1hh0kkwoiz

linux系统chmod、chown、umask、lsattr、chattr

强颜欢笑 提交于 2020-02-29 17:49:34
一个Linux目录或者文件都会有一个所有者和所属组。所有者是指文件的拥有者,所属组是指这个文件属于哪一个用户组我们可以用ls -l命令来查看这些属性: 其中第3列和第4列中的root就是所有者和所属组 rwxr-xr-x:表示权限位的值。 root root 分别代表文件的所有者,和所属组。那么他们的权限分别是多少呢?只需要把rwxr-xr-x每三个字母切割开来就是了: root:rwx root用户的权限是可读可写可执行。 root:r-x root组织有读和执行的权限。 other:r-x 其他用户只有读和执行的权限。 r 可读 w 可写 x 可执行 - 不可以 上面这个目录1的权限用数字表示是:755。 一、chmod chmod用来修改文件的权限位。 使用数字的方法修改权限(建议使用): chmod还支持使用u、g、o和a来增加或者减少它们的某个权限(读、写或者执行) 另外权限可以这样用数字来表示: r=4 w=2 x=1 二、chown 可以修改文件的所属者或者所属组。 其格式为:chown [-R]账户名,文件名或者chown [-R]账户名:组名 文件名。这里的-R选项只适用于目录,不仅更改当前目录,连目录里的目录或者文件也全部更改 修改文件的所有者: 修改文件的所属组: 同时修改所有者和所属组: 三、umask umask决定了我们默认建立一个文件或者目录的默认权限

linux-文件的特殊权限、隐藏权限

江枫思渺然 提交于 2020-02-29 16:56:56
1.SUID(让执行者临时拥有文件所有者的权限) SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效) chmod u+s 文件名 查看文件属性时发现所有者的权限由rwx变成了rws,其中x改变成s就意味着该文件被赋予了SUID权限。 另外如果原先权限位上没有x执行权限,那么被赋予特殊权限后将变成大写的S。 2. SGID SGID主要实现如下两种功能: 让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置); 在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)。 chmod g+s 目录或者路径 执行者临时拥有属组的权限, 创建的文件自动继承该目录的用户组 和suid一样,如果执行者原来有执行权限赋予sgid权限后原有的x变为s,若没有执行权限则变为S。 3.SBIT 保护位,可以确保用户只能删除自己的文件,即设置SBIT之后,文件只能被文件的所有者进行删除。 目录被设置SBIT特殊权限位后,文件的其他人权限部分的x执行权限就会被替换成t或者T,原本有x执行权限则会写成t,原本没有x执行权限则会被写成T。 例如: 若要取消特殊权限则是: SUID chmod u-s SGID chmod g-s SBIT chmod o-t 4.文件的隐藏权限 chattr 用于设置文件的隐藏权限

Linux Setuid(SUID)和Setgid(SGID) sticky bit

泪湿孤枕 提交于 2020-02-29 02:53:15
http://www.php100.com/html/webkaifa/Linux/2010/0812/6392.html  1、setuid和setgid的解说    setuid和setgid位是让普通用户可以以root用户的角色运行只有root帐号才能运行的程序或命令 。比如我们用普通用户运行passwd命令来更改自己的口令,实际上最终更改的是/etc/passwd文件,我们知道/etc/passwd文件是用户管理的配置文件,只有root权限的用户才能更改:   [root@localhost ~]# ls -l /etc/passwd   -rw-r--r-- 1 root root 2379 04-21 13:18 /etc/passwd   作为普通用户,如果修改自己的口令通过修改/etc/passwd肯定是不可完成的任务,是不是可以通过一个命令来修改呢?答案是肯定的,作为普通用户可以通过passwd 来修改自己的口令,这归功于passwd命令的权限。我们来看一下:   [root@localhost ~]# ls -l /usr/bin/passwd   -r-s--x--x 1 root root 21944 02-12 16:15 /usr/bin/passwd   因为/usr/bin/passwd 文件已经设置了setuid 权限位(也就是r-s--x-

linux文件权限位SUID,SGID,sticky的设置理解

非 Y 不嫁゛ 提交于 2020-02-29 01:24:32
SUID含义:文件的该位被设置为1,在该文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来 执行这个文件,他都有文件所有者的特权,如果所有者是root的话,那么执行人就有超级用户 的特权了,这是该位将变成一个安全漏洞,因此不要轻易设置该位。 SGID含义:运行者将具有文件所有组的权限。 粘合位: 要求操作系统既是在可执行程序退出后,仍要在内存中保留该程序的映像,这样做是为了节省大 型程序的启动时间,但是会占用系统资源,因此设置该位,不如把程序写好。 set uid ;set gid;sticky bit区别 每一个文件有所有者及组编号,set uid ;set gid可以改变用户对文件具有的权限:写和执行. setuid: 在执行时具有文件所有者的权限. setgid: 设置目录. 一个目录被标上setgid位,此目录下创建的文件继承该目录的属性. sticky bit: 该位可以理解为防删除位. 设置sticky bit位后,就算用户对目录具有写权限,但也只能添加文件而不能删除文件。 如何设置: 操作这些标志与操作文件权限的命令是一样的, 都是 chmod. 有两种方法来操作, 1) chmod u+s temp -- 为temp文件加上setuid标志. (setuid 只对文件有效,U=用户) chmod g+s tempdir --

有效用户id, 实际用户id

。_饼干妹妹 提交于 2020-02-28 21:49:24
copy from http://blog.csdn.net/jiean/archive/2009/01/02/3686207.aspx 今天在看APUE,这两个问题很难理解,GOOGLE一下,有篇文章总结的不错,看了一下才明白透彻了。 由于用户在UNIX下经常会遇到SUID、SGID的概念,而且SUID和SGID涉及到系统安全,所以用户也比较关心这个问题。关于SUID、 SGID的问题也经常有人提问,但回答的人一般答得不够详细,加上曾经回答过两个网友的问题,还查了一些资料,决定整理成本文,以供大家参考。限于本人的水平问题,文章中如果有不当之处,请广大网友指正。 第9位表示文件类型,可以为p、d、l、s、c、b和-: p表示命名管道文件 d表示目录文件 l表示符号连接文件 -表示普通文件 s表示socket文件 c表示字符设备文件 b表示块设备文件 第8-6位、5-3位、2-0位分别表示文件所有者的权限,同组用户的权限,其他用户的权限,其形式为rwx: r表示可读,可以读出文件的内容 w表示可写,可以修改文件的内容 x表示可执行,可运行这个程序 没有权限的位置用-表示 例子: ls -l myfile显示为: -rwxr-x--- 1 foo staff 7734 Apr 05 17:07 myfile 表示文件myfile是普通文件,文件的所有者是foo用户

linux:SUID、SGID详解

a 夏天 提交于 2020-02-28 21:43:17
linux:SUID、SGID详解 文章转载至: http://tech.ccidnet.com/art/2583/20071030/1258885_1.html 如果你对SUID、SGID仍有迷惑可以好好参考一下! Copyright by kevintz. 由于用户在UNIX下经常会遇到SUID、SGID的概念,而且SUID和SGID涉及到系统安全,所以用户也比较关心这个问题。关于SUID、SGID的问题也经常有人提问,但回答的人一般答得不够详细,加上曾经回答过两个网友的问题,还查了一些资料,决定整理成本文,以供大家参考。限于本人的水平问题,文章中如果有不当之处,请广大网友指正。 一、UNIX下关于文件权限的表示方法和解析 SUID 是 Set User ID, SGID 是 Set Group ID的意思。 UNIX下可以用ls -l 命令来看到文件的权限。用ls命令所得到的表示法的格式是类似这样的:-rwxr-xr-x 。下面解析一下格式所表示的意思。这种表示方法一共有十位: 9 8 7 6 5 4 3 2 1 0 - r w x r - x r - x 第9位表示文件类型,可以为p、d、l、s、c、b和-: p表示命名管道文件 d表示目录文件 l表示符号连接文件 -表示普通文件 s表示socket文件 c表示字符设备文件 b表示块设备文件 第8-6位、5-3位、2

LINUX设置SUID,SGID,Stick bit

倾然丶 夕夏残阳落幕 提交于 2020-02-28 20:51:18
前面介绍过SUID与SGID的功能,那么,如何打开文件使其成为具有SUID与SGID的权限呢?这就需要使用数字更改权限了。现在应该知道,使用数字 更改权限的方式为“3个数字”的组合,那么,如果在这3个数字之前再加上一个数字,最前面的数字就表示这几个属性了(注:通常我们使用chmod xyz filename的方式来设置filename的属性时,则是假设没有SUID、SGID及Sticky bit)。 4为SUID 2为SGID 1为Sticky bit 假设要将一个文件属性改为“-rwsr-xr-x”,由于s在用户权限中,所以是SUID,因此,在原先的755之前还要加上4,也就是使用“chmod 4755 filename”来设置。 SUID也可以用“chmod u+s filename”来设置,“chmod u-s filename”来取消SUID设置;同样,SGID可以用“chmod g+s filename”,“chmod g-s filename”来取消SGID设置。 一般来说,使用过Linux的同学都知道,Linux文件的权限有rwx,所有者、所有组、其它用户的rwx权限是彼此独立的。为此,经常会听到如果某个web文件需要被修改的话,需要加上777的权限,这就是让所有用户可写。 但仔细一想,这样的权限未免有些想得比较天真,没有考滤特殊情况。例如/tmp目录默认权限是777

chmod a+x和chmod u+x区别

大兔子大兔子 提交于 2020-02-28 18:43:06
https://blog.csdn.net/weixin_45527702/article/details/100045728 u 表示用户 g 表示用户组 o 表示其它 a 表示所有 chmod a+x a.txt 等价于 chmod +x a.txt 给所有用户给予a.txt文件可执行权限 chmod u+x a.txt a.txt文件的所有用户可执行权限 chmod g+x a.txt a.txt用户组可执行权限 chmod o+x a.txt a.txt其他用户可执行权限 来源: CSDN 作者: NRlovestudy 链接: https://blog.csdn.net/NRlovestudy/article/details/104557243

linux权限管理

守給你的承諾、 提交于 2020-02-28 13:17:05
1、ll命令列出文件/目录长属性(权限、属性) [root@centos7 ~]#ll /etc/passwd -rw-r--r--. 1 root root 1091 1 月 31 12:38 /etc/passwd   -rw-r--r--:权限   root root:属性 2、文件属性: 文件属性:所有者 所属组 其他人(不显示)   chown 设置文件的所有者 [root@centos7 ~]#chown [指定所有者] [文件] //格式[root@centos7 ~]#ll f1 //查看f1文件的属性信息-rw-r--r--. 1 root root 0 2月 27 22:40 f1[root@centos7 ~]#chown yang f1 //例:更改f1文件的所有者为yang(yang为本人创建的一个用户)[root@centos7 ~]#ll f1-rw-r--r--. 1 yang root 0 2月 27 22:40 f1   chgrp 设置文件的属组信息 [root@centos7 ~]#chgrp [指定所属组] [文件] //格式[root@centos7 ~]#ll f1-rw-r--r--. 1 yang root 0 2月 27 22:40 f1[root@centos7 ~]#chgrp yang f1 //例