[转载]linux下文件的特殊权限s和t

先看看这两个文件的权限:
[[email protected] ~]# ls -ld /usr/bin/passwd /tmp
drwxrwxrwt 4 root root 4096 Jun 2 17:33 /tmp
-rwsr-xr-x 1 root root 22984 Jan 7 2007 /usr/bin/passwd

这里的s和t是针对执行权限来讲的。
这个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权限就是为了解决这个麻烦的。下面举一个例子,说明一下这个权限的用法:
[[email protected] ~]# cd /tmp/
[[email protected] tmp]# mkdir test
[[email protected] tmp]# chmod 1777 test
[[email protected] tmp]# ls -ld test
drwxrwxrwt 2 root root 4096 Jun 2 18:10 test
[[email protected] tmp]# su test1
[[email protected] tmp]$ touch test/1.txt
[[email protected] tmp]$ ls -l test
total 4
-rw-r--r-- 1 test1 test 0 Jun 2 18:12 1.txt
[[email protected] tmp]$ exit
[[email protected] tmp]# su www
[[email protected] tmp]$ ls -l test/1.txt
-rwxrwxrwx 1 test1 test 6 Jun 2 18:12 test/1.txt
[[email protected] tmp]$ rm test/1.txt
rm: cannot remove `test/1.txt‘: Operation not permitted
提示不能删除1.txt
[[email protected] tmp]$ exit
[[email protected] tmp]# chmod -t test
去掉t权限。
[[email protected] tmp]# ls -ld test
drwxrwxrwx 2 root root 4096 Jun 2 18:13 test
[[email protected] tmp]# su www
[[email protected] tmp]$ rm -f test/1.txt
再次删除,则删除成功。
[[email protected] tmp]$ ls test/1.txt
ls: test/1.txt: No such file or directory

时间: 2024-10-24 06:12:37

[转载]linux下文件的特殊权限s和t的相关文章

Linux下文件的特殊权限笔记

特殊权限: SUID,SGID,STICKY 安全上下文: 1.进程以某用户的身份运行;进程是发起此进程用户的代理,因此以此用户的身份和权限完成所有操作; 2.权限匹配: (1)判断进程的属主,是否为被访问的文件属主;如果是,则应用属主的权限;否则进入第2吧 (2)判断进程的属主,是否属于被访问的文件数组;如果是,则应用数组的权限;否则进入第3不 (3)应用other的权限 SUID: 默认情况下:用户发起的进程,进程的属主是其发起者;因此,其以发起者的身份在运行; SUID的功能:用户运行某个

linux下文件以及目录权限修改(摘抄)

http://www.linuxidc.com/Linux/2014-10/108114.htm chagrp 改变所属组:chown 改变拥有者:chmod 改变权限: 1. 改变所属群组, chgrp [[email protected] ~]# chgrp [-R] dirname/filename ... 选项与参数: -R :进行递归(recursive)的持续变更,亦即连同次目录下的所有档案.目录都更新成为这个群组之意.常常用在变更某一目录内所有的档案之情况. 范例:[[email 

linux下文件的权限

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

[转载] linux下打开windows txt文件中文乱码问题

原文链接 在linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码. 出现这种情况的原因为两种操作系统的中文压缩方式不同,在windows环境中中文压缩一般为gbk,而在linux环境中为utf8,这就导致了在windows下能正常显示 txt文件在linux环境下打开呈现了乱码状态. 解决方法:在linux用iconv命令,如乱码文件名为shujujiegou.txt,那么在终端输入如下命令: iconv -f gbk -t

【转载】linux下文件的复制、移动与删除命令使用详解

[转载]原文链接:https://www.cnblogs.com/qiuhong10/p/7940410.html linux下文件的复制.移动与删除命令为:cp,mv,rm一.文件复制命令cp    命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)              cp [option] source1 source2 source3 ...  directory    参数说明:    -a:是指archive的意思,也说是指复制

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下文件夹压缩

[转]linux下文件夹压缩 .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) --------------------------------------------- .gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.gz 解压:tar zxvf FileName.tar.gz 压缩:tar

Linux下ThinkPHP网站目录权限设置

在windows上运行好好的项目,迁移到Linux上就遇到了很多问题,其中最为重要的是网站目录权限的设置,当然简单期间你可以用 命令 "chmod 777 -R you web site" ,这样你就不用担心项目运行的时候会涉及到权限问题.通常来说如果你的项目时部署在公网或者是部 署在租用的Linux服务器上不建议这么做,应为如果这样设置了那么任何用户都可以对这个站点下的文件,目录进行操作,这样也会影响网站的运营, 同样不安全.下面以ubuntu14.4 系统为主进行分析. 最简单的做

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