`
tiankefeng0520
  • 浏览: 143110 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

Linux学习记录--文件特殊权限

阅读更多

文件特殊权限

 

文件除了读写(r),写(w),执行(x) 权限,还有些特殊权限(s,t)

SUID

功能:

SUID权限仅对二进制程序有效

执行者对于程序需要有X可执行的权限

执行者将均有改程序所有者的权限

本权限只在执行程序过程中有效

 

举例:

普通用户也可以通过命令passwd修改自己的密码。修改的密码内容将会记录/etc/shadow文件中,但是普通用户对这个文件无任何权限,那如何修改这个文件呢?

 

以上步骤可以理解为这样

普通用户执行passwd命令修改密码èèpasswd命令程序修改/etc/shadow文件将密码记录其中

 

[root@localhost /]# ll /etc/shadow/usr/bin/passwd

-r-------- 1 root root  1352 02-14 10:36 /etc/shadow

-rwsr-xr-x 1 root root 23420 2010-08-11/usr/bin/passwd

 

这就是SUID的功能,当普通用户在执行passwd程序命令时,由于passwd具有SUID权限,同时普通用户对于passwd命令具有X权限,那么在passwd执行过程中普通用户将程序所有者(root)的权限,因此/etc/shadow就可以被修改

 

SGID

SGID对于二进制程序来说,功能和SUID差不多

SGID权限对二进制程序有效

执行者对于程序需要有X可执行的权限

执行者将均有改程序用户组的权限

本权限只在执行程序过程中有效

 

SGID也可以针对目录设置,功能如下

用户在具有SGID权限的目录下创建的文件或目录其所属的用户组就是目录所有的有户组

 

说明,默认情况下用户创建的文件所属的用户组为用户的有效用户组

 

举例

 

[root@localhost /]# mkdir -m 777 /tmp/newdir;ll -d /tmp/newdir
drwxrwxrwx 2 root root 4096 03-10 12:35 /tmp/newdir
[root@localhost /]# cd /tmp/newdir/
[root@localhost newdir]# touch rootfile
[root@localhost newdir]# ll rootfile 
-rw-r--r-- 1 root root 0 03-10 12:35 rootfile
=>所属用户和所属用户组都是root
[root@localhost newdir]# su tkf
=>切换到普通用户
[tkf@localhost newdir]$ touch tkffile
[tkf@localhost newdir]$ ll 
-rw-r--r-- 1 root root 0 03-10 12:35 rootfile
-rw-rw-r-- 1 tkf  tkf  0 03-10 12:36 tkffile
=>所属用户和所属用户组都是tkf

[root@localhost ~]# chmod g+s /tmp/newdir/
=>给newdir添加SGID权限
[root@localhost ~]# ll -d /tmp/newdir/
drwxrwsrwx 2 root root 4096 03-10 12:36 /tmp/newdir/

[root@localhost ~]# su tkf
[tkf@localhost root]$ touch /tmp/newdir/sgidfile;ll /tmp/newdir/
-rw-r--r-- 1 root root 0 03-10 12:35 rootfile
-rw-rw-r-- 1 tkf  root 0 03-10 12:40 sgidfile
-rw-rw-r-- 1 tkf  tkf  0 03-10 12:36 tkffile
=> sgidfile文件所属用户组发生变化,和目录(newdir)的用户组一样

 

 

SBIT

 

SBIT只针对目录有效,其主要功能是

当用户拥有目录的WX权限时,用户可以删除(删除,重命名,移动)目录下的任意文件

当目录拥有SBIT权限时,即使用户拥有目录的WX权限,用户只能删除自己创建的文件(可以修改不是自己创建的文件)。root用户都可以删除

举例

 

[root@localhost ~]# mkdir -m 1777 /tmp/bitdir
[root@localhost ~]# su tkf
[tkf@localhost root]$ ll -d /tmp/bitdir/
drwxrwxrwt 2 root root 4096 03-10 12:59 /tmp/bitdir/
=>tkf用户拥有目录的rwx权限
[tkf@localhost root]$ touch /tmp/bitdir/tkffile ;ll /tmp/bitdir/
-rw-rw-r-- 1 tkf tkf 0 03-10 12:59 tkffile
=>在目录下创建文件

[tkf@localhost root]$ su userA
=>切换另一个用户
[userA@localhost root]$ ll -d /tmp/bitdir/
drwxrwxrwt 2 root root 4096 03-10 12:59 /tmp/bitdir/
=> userA用户拥有目录的rwx权限

[userA@localhost root]$ cd /tmp/bitdir/
[userA@localhost bitdir]$ touch userfile;ll
-rw-rw-r-- 1 tkf   tkf   0 03-10 12:59 tkffile
-rw-rw-r-- 1 userA userA 0 03-10 13:04 userfile
=>在目录下创建文件userfile

[userA@localhost bitdir]$ rm tkffile 
rm:是否删除有写保护的 一般空文件 “tkffile”? y
rm: 无法删除 “tkffile”: 不允许的操作
=>由于目录具有SBIT权限 虽然userA对目录具有WX权限,但是不能删除非他创建的文件

[root@localhost ~]# chmod o-t /tmp/bitdir/
=>将目录SBIT权限去掉
[root@localhost ~]# su userA
[userA@localhost root]$ cd /tmp/bitdir/
[userA@localhost bitdir]$ ll
-rw-rw-r-- 1 tkf   tkf   0 03-10 12:59 tkffile
-rw-rw-r-- 1 userA userA 0 03-10 13:04 userfile
[userA@localhost bitdir]$ rm tkffile 
rm:是否删除有写保护的 一般空文件 “tkffile”? y
[userA@localhost bitdir]$ ll
-rw-rw-r-- 1 userA userA 0 03-10 13:04 userfile
=>可以删除不是自己创建的文件

 

 

权限设置方法

 

和设置和基本权限(rwx)方法基本,可以通过数字设置也可以通过符号设置

数字设置

SUID:4

SGID:2

SBIT:1

符号设置(+-=)

SUID:u+s

SGID:g+s

SBIT:o+t

举例:

[root@localhost ~]# touch test
[root@localhost ~]# chmod 4755 test; ll test 
-rwsr-xr-x 1 root root 0 03-10 13:14 test
[root@localhost ~]# chmod 6755 test; ll test 
-rwsr-sr-x 1 root root 0 03-10 13:14 test
[root@localhost ~]# chmod 1755 test; ll test 
-rwxr-xr-t 1 root root 0 03-10 13:14 test
[root@localhost ~]# chmod 7666 test; ll test 
-rwSrwSrwT 1 root root 0 03-10 13:14 test
=>这里S,T都是大写是因为文件本身不具有X权限,而S,T权限设置成功的
=>前提是文件具有X权限,因此大写的ST代表文件无这些特殊权限



0
2
分享到:
评论

相关推荐

    Linux简明教程.rar

    二、访问权限----------------------------------------------------------------------------------------- 1.显示访问权限 2.改变访问权限 3.目录访问权限 4.链接的概念 Shell------------------------------...

    Linux运维学习笔记一

    Linux 中的一些特殊文件还是要求写 "扩展名" 的,但 Linux 不依赖扩展名来识别文件类型,写这些扩展名是为了帮助运维人员来区分不同的文件类型。 这样的文件扩展名主要有以下几种: 压缩包:Linux 下常见的压缩...

    Java学习笔记-个人整理的

    {1.13}Linux命令}{41}{section.1.13} {1.13.1}基本查看、移动}{41}{subsection.1.13.1} {1.13.2}权限}{42}{subsection.1.13.2} {1.13.3}打包备份与恢复}{42}{subsection.1.13.3} {1.13.3.1}\texttt {tar},\text...

    入门学习Linux常用必会60个命令实例详解doc/txt

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux...

    Linux命令笔记

    权限管理/文件特殊权限 1:SetUID 可执行的二进制文件(u:w=s 4) 2:SetGID 可执行的二进制文件或目录(g:r=s 2) 3:Sticky BIT 只对目录有效(o:x=t 1) 权限管理/文件系统属性chattr权限 1:chattr 文件系统属性权限...

    Linux FTP服务配置

    最终权限等于配置文件中的权限和linux文件系统权限相或的结果。比如vsftp配置文件中允许匿名用户下载,但光这样是不够的,还需要被下载的文件或文件夹的能够被其他用户读取。 尝试上传文件失败,符合匿名用户只允许...

    RED HAT LINUX 6大全

    本书内容翔实、涉及领域广泛,并且提供了详细的例子和大量的参考资料(包括书籍、电子文档和Internet站点),是一本学习、使用和管理Linux不可多得的好书。 目 录 译者序 前言 第一部分 Red Hat Linux的介绍与安装 ...

    php在线自动解压软件保证能用

    因 Unix/Linux 服务器特殊的文件操作权限的设置, 由程序创建的文件或文件夹, 不一定能通过 FTP 直接删除, 删除时往往会提示没有权限删除该文件。 所谓,解铃还需系铃人,当程序创建的文件或或文件夹无法删除时...

    Linux操作系统基础教程

    一.Linux的文件系统结构.....................................................................................................6 二. 文件类型................................................................

    Shell脚本学习笔记

    1.7 Linux文件权限 40 1.7.1 Linux安全性 40 1.7.2 使用Linux用户组 46 1.7.3 解码文件权限 47 1.7.4 修改安全设置 49 1.8 vim编辑器 52 第2章 基本脚本编译 54 2.1 创建脚本与使用变量 54 2.1.1 创建脚本 54 2.1.2 ...

    2009 达内Unix学习笔记

    显示文件的权限、硬链接数(即包含文件数,普通文件是1,目录1+)、用户、组名、大小、修改日期、文件名。 ls -t (time)按修改时间排序,显示目录和文件。 ls -lt 是“-l”和“-t”的组合,按时间顺序显示列表。 ls...

    边干边学Linux__第二版_doc格式

    4.3 特殊权限位SUID、SGID、Sticky 4.4 硬链接 4.5 符号链接 第5章 文件管理工具 5.1 正则表达式 5.2 排序文件 5.3 查找文件 5.4 搜索文件内容 5.5 命令记录 5.6 压缩文件、解压缩文件与打包文件 5.7 RPM包管理 第6...

    LINUX系统管理白皮书

    本书同时收录了Linux领域两位领导人物的作品—相当于“Linux 文档项目”的一个印刷版本,展示了Linux 核心概念及其基本结构。对于面向所有主流Linux子系统的支持与管理任务,本书都进行了恰到好处的讲解。涵盖的主题...

    Linux使用教程(教程)

    四、赋予普通用户特殊权限 12 三、文件系统结构和基本文件处理 13 ※1.文件类型 13 ※2.文件系统结构 14 ※3.主目录和当前工作目录 14 ※4.路径、绝对路径和相对路径 15 ※5.查看当前目录pwd 15 ※6.浏览文件系统cd ...

    Linux下C实现的聊天室.rar

    1. Server可以内建一个特殊权限的账号admin,用于管理聊天室 2. Admin可以将某个Client X “提出聊天室” 3. Admin可以将某个Client X ”设为只能旁听,不能发言” 4. Client 端发言增加表情符号,可以设置某些自定义的...

    Linux管理员指南

    目 录 前言 第一部分 安装Linux操作系统 作为服务器软件 第1章 Linux发行版本与Windows NT的 技术异同 1 1.1 Linux操作系统和Linux发行版本 1 1.2 “自由”软件和GNU许可证 1 1.2.1 什么是...

    新版Android开发教程.rar

    � 特殊功能的原生链接库 � 专属应用程序框架 � 由于 Android 的A pp Market 性质,可能催生出专门的应用软件开发商。 Android Android Android Android 应用现状 � 设备商: lenovo 、琦基、戴尔、三星、...

Global site tag (gtag.js) - Google Analytics