复习上节课内容(重点记录)
1、chown -R 递归修改目录下包含子目录和子目录下的文件的属组
2、chmod -R 递归修改目录下包含子目录和子目录下的文件的权限

============================================================
其实在UNIX的实现中,文件权限用12个二进制位表示,如果该位置上的值是1,表示有相应的权限,如果是0则没有相应权限
第11位为SUID位,第10位为SGID位,第9位为sticky位,第8-0位对应于上面的三组rwx位
11 10 9 8 7 6 5 4 3 2 1 0
S G T r w x r w x r w x
chmod u+s filename 设置SUID位
chmod u-s filename 去掉SUID设置
chmod g+s filename 设置SGID位
chmod g-s filename 去掉SGID设置

-rwsrwxswt ======>出现了t,t的作用在内存中尽量保存a.txt,节省系统再加载的时间.
从s和S中我们可以看出在设置su前,脚本相应的执行权限有没有被设置(有则s,没有则S)。
对于sgid的设置时也类似。粘性位则用t和T表示,但其中包含的意义是一样的。

rwsrw-r– 表示有setuid标志
rwxrwsrw- 表示有setgid标志
rwxrw-rwt 表示有sticky标志

chmod 4777 //是设sid
chmod 2777 //是设置gid
chmod 1777 //是设sticky-- t 该位可以理解为防删除位. 一个文件是否可以被>某用户删除,主要取决于
该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不
能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件但同时不能删除文件, 则
可以对文件使用sticky bit位

0: 不设置特殊权限
1: 只设置sticky
2 : 只设置SGID
3: 只设置SGID和sticky
4 : 只设置SUID
5 : 只设置SUID和sticky
6 : 只设置SUID和SGID
7 : 设置3种权限

1、设置特殊权限 SUID、SGID详解 参考:http://www.cnblogs.com/fhefh/archive/2011/09/20/2182155.html
SUID : Set User ID (find / -perm -04000 -type f -ls查找设置SUID的程序)
作用:临时赋予用户二进制文档的拥有者的权限(主要用于让普通用户可以使用某些特殊命令)
语法1:chmod u+s file(增加s权限)
语法2:chmod u-s file(减去s权限)
使用限制与环境:
1、仅对于二进制文件有效;
2、执行者必须对文件拥有x权限(否则即使设置了SUID,由于你对文件根本无法执行SUID此时也无效,此时权限位显示S);
3、权限只是在执行过程中拥有。
PS:例如passwd命令,路径/usr/bin/passwd,权限为"-rwsr-xr-x"。(passwd命令会修改"/etc/shadow")
PS:SUID只可用于二进制文件,不可用于shell script文件。

SGID : Set Group ID:
对于文件
作用:临时赋予用户二进制文档的拥有组的权限(多用于让普通用户可以使用某些特殊命令,和suid类似)
语法1:chmod g+s file(增加s权限)
语法2:chmod g-s file(减去s权限)
使用限制与环境:
1、仅对于二进制文件有效;
2、执行者必须对文件拥有x权限(否则根本无法执行文件,更别谈SGID赋予权限,此时权限位显示S);
3、权限只是在执行过程中拥有。
PS:例如locate命令,路径/usr/bin/locate,权限为"rwx--s--x"。
(locate命令会读取"/var/lib/mlocate/mlocate.db")
对于目录
作用:临时将用户的effective group修改成该目录的的群组
语法1:chmod g+s dir(增加s权限)
语法2:chmod g-s dir(减去s权限)
使用限制与环境:
1、使用者必须对该目录拥有x权限(否则无法进入,更别谈SUID赋予权限,此时权限位显示S);
2、若用户对此目录拥有w权限,由于effective group被修改成该目录的group,所以用户在此目录下创建任何文件,属组该目录的用户组。

SBIT
作用:限制目录下不同用户之间对于其他用户文档或目录的编辑权限。
语法1:chmod o+t dir(增加t权限)
语法2:chmod o-t dir(减去t权限)
使用限制与环境
1、只能针对目录;
2、必须有x和w权限(否则无法进入和编辑,更不用谈sbit权限,此时权限位显示T);
3、用户自身创建的文档和目录,只有自己和root可以编辑(重命名、修改内容、复制、删除等)

2、查询文件类型与文件位置命令
file
作用:查看文件类型(linux下的文件类型不以后缀名区分)
语法举例:
[root@web01 ~]# file passwd
passwd: ASCII text 《——ASCII文本文档
[root@web01 ~]# file 123
123: directory 《——目录文档
[root@web01 ~]# file /var/lib/mlocate/mlocate.db
/var/lib/mlocate/mlocate.db: data 《——data文档
[root@web01 ~]# file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped 《——可执行文档(包含suid设置、兼容的cpu硬件平台,lib库,linux内核等)

which
作用:搜索命令用
语法:which 命令名称
参数:-a 不仅仅是第一个被找到的命令,所有被搜索到的命令都会列出。
PS:只是在系统定义的PATH路径下搜索。
[root@web01 ~]# type cd
cd is a shell builtin 《——cd是一个内置命令,不在PATH内,所以下面的which搜索不到cd。
[root@web01 ~]# which cd
/usr/bin/which: no cd in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

whereis
作用:在特定的多个文件夹里搜索文件(/bin:/sbin:/usr/bin:/usr/sbin:man文档的相关文件夹等)
语法:whereis 参数 关键字
参数:
-b 只找 binary 格式的文件;
-m 只找在说明手册文件manual 路径下的文件;
-s 只找 source 来源的文件;
-u 查找不在上述三个参数中的其他特殊文件。

locate
作用:从特定资料库里查询文件
语法:locate keywords
PS:安装方法,yum install -y mlocate,安装完成后需要用updatedb命令更新一下数据库
PS:系统每天凌晨4点自动updatedb
PS:资料库文件路径/var/lib/mlocate/mlocat.db

find
说明:最强大的查询工具。
语法: find [PATH] [option] [action]
参数:-mtime 以改变文件内容时间为搜索条件查询文件
我们事先约定,从现在时间开始往前推24小时为第1天,n=1。以此类推第一天再往前推24小时是第2天,n=2...
-mtime n :n为数字,意为查询第n+1天当天24小时内改动过内容的文件;
-mtime +n :意为查询 n+1天之前(不含n+1天本身)被改动过內容的文件;
-mtime -n :列出在 n 天之內(含 n 天本身)被改动过内容的文件;
-newer file :file 为一个已存文件,列出比 file被改动内容更早之前的文件。

-mtime 4 是查询第5天改动过内容的文件;
-mtime +4 是查询5天前改动过内容的文件;
-mtime -4 是查询4天内改动过内容的文件。
参数:-mmin 同-mtime,只是n不代表天数,代表分钟。
参数:-type 以文件类型为搜索条件查询文件
-type TN :TN=f (普通文件),d(目录文件), l(链接文件),s(套接字),p(管道),c(字符文件)和b(块设备)等。
参数:-i 忽略查询条件的大小写
参数:-inum 以文件的inode号为查询条件查询文件。
可用于删除文件名乱码的文件。find 路径 -inum inode号 | xargs rm

find扩展执行命令
参数xargs(execute arguments 用于执行的参数)
作用:
find ***|xargs -i mv {} {}.bak (参数-i 代表把前面的信息一条一条分批的处理)
PS:find ***|xargs -i rm

stat
作用:查看三个时间
语法:stat file/dir
PS:更改ctime不一定更改mtime
PS:更改mtime一定会改动ctime

3、软连接与硬链接
ln 硬链接
作用:主要用于安全备份
语法:ln source destination
原理:
普通文件的inode里存取了文件权限、归属、时间等信息及文件资料存取的block号,block里存取的是实际文件的数据。
然而对于目录文件,它的inode也存取了该文件夹的权限、归属、时间等信息及指向的inode号,而其block里存取的是一个储存了inode与其对应的文件名称的列表清单。类似于下表

做完硬链接之后,实际文件的inode相当于有了两个入口,而这些入口都是写在目录文件的block里边的,这两个入口拥有同样的inode号,只是文件名称不一样,正因为如此,所以硬链接是不额外产生inode号的,只是相当于给源文件做了一层安全保护,防止被误删。
PS:硬链接不产生新的inode
PS:不能跨分区做硬链接
PS:不能对目录做硬链接

ln -s 软连接
作用:可以用于不同分区之间“容量共享”和“inode共享”
语法:ln -s source destination
原理:
软链接和硬链接不同,软链接是由系统新分配了一个inode和block,block里存的是源文件的名称等信息。

链接文件inode

block:存了源文件的信息

------>

源文件inode

block:实际文件资料

基于此原理,所以软连接会产生新的inode,也可以对目录做软连接(硬链接不可以是因为有可能会产生目录回环)
PS:尽量写绝对路径
PS:软连接的大小和连接的文件名称长短有关

额外知识点
vim安装方法
方法1:yum install -y vim-enhanced
方法2:yum install -y vim*

查看系统信息
[root@web01 123]# uname -a
Linux web01 2.6.32-431.el6.i686 #1 SMP Fri Nov 22 00:26:36 UTC 2013 i686 i686 i386 GNU/Linux

转载于:https://www.cnblogs.com/LinuxSuDa/p/4308814.html

第五节 suid/ sgid /sbit /which /locate / find /stat / ln / uname -a相关推荐

  1. Linux之特殊权限(SUID/SGID/SBIT)

    Linux之特殊权限(SUID/SGID/SBIT) 博客分类: Linux Linux脚本UnixF#  特殊权限的介绍 Set UID 当s这个标志出现在文件所有者的x权限上时,如/usr/bin ...

  2. linux suid权限,Linux 学习:文件特殊权限SUID, SGID, SBIT

    本次记录Linux特殊权限SUID.SGID.SBIT相关知识及使用实例等. 由于SUID和SGID涉及到系统安全,所以对它们知识点的掌握尤为重要.关于文件权限的表示方法和解析 SUID是Set Us ...

  3. linux 文件访问控制 特殊权限 suid,sgid,sbit

    setuid 和 setgid 分别是 set uid ID upon execution 和 set group ID upon execution 的缩写.我们一般会再次把它们缩写为 suid 和 ...

  4. SGID,SUID,SBIT

    特殊权限的介绍 Set UID 当s这个标志出现在文件所有者的x权限上时,如/usr/bin/passwd这个文件的权限状态:"-rwsr-xr-x.",此时就被称为Set UID ...

  5. linux特殊权限SUID,SGID和SBIT的介绍

    先来看看两个特殊的文件与目录 [root@ldz ~]# ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 26968 Jan 29  2010 /usr/b ...

  6. 关于SUID SGID

    关于SUID SGID setuid(suid): 针对命令和二进制程序的,当普通用户执行某个(passwd)命令的时候,可以拥有这个命令对应用户的权限, 即让普通用户可以以root用户的角色执行程序 ...

  7. Linux特殊权限之umask,SBIT,SUID,SGID及ACL权限列表

    1.用户权限: 基本上, umask 就是指定 "目前使用者在创建文件或目录时候的权限默认值 umask 的分数指的是"该默认值需要减掉的权限! 一般文件的创建则不应该有执行的权限 ...

  8. linux基础2-cd、mkdir、touch、umask、chattr、lsattr、SUID/SGID/Sticky Bit

    一 cd : . 代表当前目录 .. 代表上一层目录 - 代表前一个工作目录 ~ 代表[目前用户身份]所在的自家目录 与cd效果相同 ~account 代表 account 这个用户的自家家目录 二m ...

  9. 第五节 按键的三种用法

    1.按键介绍 这也许是第一个接触的单片机输入设备了,而且这玩意能玩很久,基本上有啥没啥都能加一个上去,执行某些你想达到的功能. 这里的独立按键也叫"轻触式按键",这是我们平日里面见 ...

最新文章

  1. SAP零售行业解决方案初阶 1
  2. LCD Backlight circuit
  3. 成功解决WARNING:tensorflow:Variable += will be deprecated. Use variable.assign_add if you want assignmen
  4. 已选商品数量总计如何实现_英国VAT新政临近,没有API如何添加或修改税率?教程来了!...
  5. java socket编程实现聊天程序_java Socket编程 聊天程序 服务器端和客户端
  6. MFC GDI+ 绘图
  7. 下列哪个滤波器是非线性的_上海海事数字信号处理2006试卷A参考答案
  8. 一文读懂AlphaGo Zero算法
  9. 线段树,方差,数学(Variance,玲珑杯 Round#5 H lonlife 1063)
  10. 计算机图形学学习:GAMES101
  11. 1.Python下载与安装教程 For Windows
  12. Etcd——大厂面试问题集合
  13. pr 导入 歌词 字幕
  14. 扫码支付(原生支付)-模式一和模式二
  15. android锁屏快捷键设置,【Android高级】锁屏功能简单实现
  16. 【python】语法
  17. SAP Report painter报表绘制器
  18. 读《中台架构与实现:基于DDD和微服务》有感
  19. 关于学好C语言的心得
  20. 一个64位操作系统的实现

热门文章

  1. c# DllImport 错误处理的不足及解决办法
  2. 关于可扩展的web架构设计的探索-框架结构的描述文件
  3. 我是如何去了解需求的
  4. 71 说出常用的类、包、接口各5个
  5. 分布式事务 dtc 的使用
  6. Hadoop 2.x的DistributedCache无法工作的问题
  7. java xml添加节点_Java对XML节点的修改、添加、删除 –By Xstream框架
  8. nohup 输出日志到文件_超详细的EFK安装部署教程--filebeat日志数据采集
  9. python循环中append_[Python]list.append()在for循环中每次添加的都是最后的一个元素
  10. Win64 驱动内核编程-21.DKOM隐藏和保护进程