linux下文件特殊权限设置位S和沾附位T(转载)

今天在创建文件的时候,发现了文件权限末尾有个T,之前没留意过,后来又用c创建(open)了两个文件来查看,在我没有指定权限(省略open的第三个参数)的时候,有时还会出现S,虽然还没弄懂什么时候会出现S和T,但是先了解S和T的含义,以此记录。这里的S和T都是针对执行权限x的。少数内容和原文不同,整理了别的资料。

一. 设置位S

为了让一般使用者临时具有该文件所属主/组的执行权限。比如/usr/bin/passwd在执行它的时候需要去修改/etc/passwd和 /etc/shadow等文件,这些文件除了root外,其他用户都没有写权限,但是又为了能让普通用户修改自己的密码,只能时临时让他们具有root的 权限。所以这个s权限就是用来完成这个特殊任务的。s权限只能应用在二进制的可执行文件上。
如果你不想让普通用户修改自己的密码,只需要 [[email protected] ~]# chmod u-s /usr/bin/passwd 或者 [[email protected] ~]# chmod 0755 /usr/bin/passwd

0755最前面的0表示不使用任何特殊权限,该位上的数字可以是0,1(--t),2(-s-),3(-st),4(s--),5(s-t),6(ss-),7(sst)

二. 沾附位T

一般只作用在目录上,它表示只能让所属主以及root可以删除(重命名/移动)该目录下的文件。比如/tmp目录本来就是任何用户都可以读写,如果别人可以任意删除(重命名/移动)自己的文件,那岂不是很危险,所以这个t权限就是为了解决这个问题。

下面通过一个实例来体会这个t权限的用法:

(1) root用户在/tmp目录下创建一个test目录,并设置test目录的相关权限为1777(有特殊权限t)

[[email protected] tmp]# mkdir test
[[email protected] tmp]# chmod 1777 test
[[email protected] tmp]# ls -ld test
drwxrwxrwt. 2 root root 4096 Oct 12 22:31 test

(2) 切换到第一个用户zhangming,在test目录下创建一个新文件aaa.txt,并写入数据

[[email protected] tmp]# su zhangming
[[email protected] tmp]$ touch test/aaa.txt
[[email protected] tmp]$ echo "hello" >> test/aaa.txt
[[email protected] tmp]$ ls -l test
total 4
-rw-rw-r--. 1 zhangming zhangming 6 Oct 12 22:34 aaa.txt

(3) 切换到第二个用户shuihuo379,尝试删除zhangming用户创建的文件aaa.txt,此时提示无法删除

[[email protected] tmp]$ su shuihuo379
[[email protected] tmp]$ ls -l test/aaa.txt
-rw-rw-r--. 1 zhangming zhangming 6 Oct 12 22:34 test/aaa.txt
[[email protected] tmp]$ rm test/aaa.txt
rm: remove write-protected regular file `test/aaa.txt‘? y
rm: cannot remove `test/aaa.txt‘: Operation not permitted

(4) 重新切换到root用户,执行删除权限位t操作

[[email protected] tmp]$ su
[[email protected] tmp]# chmod -t test
[[email protected] tmp]# ls -ld test
drwxrwxrwx. 2 root root 4096 Oct 12 22:33 test

(5) 再次切换到用户shuihuo379,尝试删除zhangming用户创建的文件aaa.txt,此时删除成功,zhangming用户创建的文件aaa.txt已经不存在了

[[email protected] tmp]# su shuihuo379
[[email protected] tmp]$ ls -l test
total 4
-rw-rw-r--. 1 zhangming zhangming 6 Oct 12 22:34 aaa.txt
[[email protected] tmp]$ rm test/aaa.txt
rm: remove write-protected regular file `test/aaa.txt‘? y
[[email protected] tmp]$ ls -l test
total 0

转自:

http://www.cnblogs.com/zhangming-blog/articles/5956280.html

时间: 2024-10-31 16:42:09

linux下文件特殊权限设置位S和沾附位T(转载)的相关文章

linux下文件的权限

最近搞了一批权限最小化的问题,这里专门进行一下linux下文件权限的总结,其实非常简单. 在介绍linux下文件的情况,需要先介绍一个概念,用户.用户组. 和win一样,linux也是需要用户才能登录的.不同的是在linux中,还存在一个概念:用户组.也就是当前用户所属的属组.为什么要引入这样一个看似无用的用户组呢?这主要是为了在linux下,团队协作的方便.每一个用户都有属于自己独特的权限控制.但是有时候,有一些公有的文件或文件夹,这个你也用,我也用,但是我们并不希望所有人都能用.(防盗连接:

9.12 linux下文件的权限管理、用户和组管理

Su 切换用户 查看当前登录的用户:whoami.id 查看当前用户属于哪个组:groups 查看当前计算机中有几个组:cat /etc/group Groupadd 组名  添加组 Groupsdel 组名  删除组 avahi:x:122: colord:x:123: geoclue:x:124: gdm:x:125: abc:x:1000: sambashare:x:126:abc 456:x:1001: 格式:  组名:组密码:GID:当前组下有哪些用户 将123用户添加到456组中:

Linux下文件特殊权限

SUIDSUID表示在所有者的位置上出现了s在一个命令的所有者的权限上如果出现了s,当其他人在执行该命令的时候将具有所有者的权限.SUID权限仅对二进制文件有效 SGID表示在组的位置上出现了s如果一个目录的组的权限上出现了s,那么该目录下所有的文件或者目录都会继承此目录所属组如果一个二进制文件的组的权限上出现了s,那么与SUID类似,当其他人在执行该二进制文件的时候,获得该用户组的权限. SBITSBIT只能分给一个目录other对应的权限上如果一个目录的other的权限上出现了t,这个目录里

Linux 程序设计学习笔记----Linux下文件类型和属性管理

转载请注明出处:http://blog.csdn.net/suool/article/details/38318225 部分内容整理自网络,在此感谢各位大神. Linux文件类型和权限 数据表示 文件属性存储结构体Inode的成员变量i_mode存储着该文件的文件类型和权限信息.该变量为short int类型. 这个16位变量的各个位功能划分为: 第0-8位为权限位,为别对应拥有者(user),同组其他用户(group)和其他用户(other)的读R写W和执行X权限. 第9-11位是权限修饰位,

Linux下文件的基本操作

文件的基本操作 新建和删除文件夹 命令#mkdir /file 在当前目录创建file文件夹 命令#rmdir /file 删除当前目录下file文件夹 复制和移动文件 命令#cp text/file.txt /text1/file1.txt  将text目录下file.txt 复制到text1并更名为file1.txt 命令#mv text/file.txt /text1 将text目录下file.txt复制到text1目录下 查看和创建文件 命令#cat text/file.txt 查看te

linux下文件和目录的属性

linux下文件或目录的属性 [[email protected] ~]# ls -l -rw-r--r--. 1 root root      9119 Nov 13 09:29 install.log drwxr-xr-x. 2 root root      4096 Mar 17 13:50 test #列出当前所有的目录 ^d代表以d开头的类型 [[email protected] ~]# ls -l |grep '^d'     drwxr-xr-x. 2 root root     

linux下文件打包、压缩详解

Linux平台下,有如下几种常见的压缩工具: ========================================================================= 工 具 文件扩展名 描述 ------------------------------------------------------------------------- bzip2 .bz2 采用Burrows-Wheeler块排序文本压缩算法和霍夫曼编码 compress .Z 原始的Unix文件压

Linux下文件的三个时间意义及用法

Linux下文件的三个时间参数: (1)modification time(mtime):内容修改时间        这里的修改时间指的是文件的内容发生变化,而更新的时间. (2)change time(ctime):状态修改时间        这里的修改时间指的是文件的属性或者权限发生变化,而更新的时间. (3)access time(atime):最后访问时间        这里的访问时间是指文件被读取,而更新的时间. 在Linux下操作命令分别为: ls -l    获取文件最后一次内容修

Linux下的用户权限

用户权限: drwxr-xr-x 4 root root 1024 06-22 17:36 boot #权限位 硬连接数 所属用户 所属组 大小 最后修改时间 文件/目录# r w x 4 2 1 用户权限位分为3段,分别对应USER GROUP OTHER rwxr-xr-x 755 默认的目录权限 rw-r--r-- 644 默认的文件权限(都是不给执行权限的) umask 查看默认创建目录时候的去掉的权限,看后面3位 [[email protected] zhangsan]# umask