1.普通权限位

  ls –l查看文件的属性

[root@oldboy ~]# ls -l
-rw-------. 1 root root 1073 Mar 4 22:08 anaconda-ks.cfg
-rwxrwxrwx 1 root root 256 Mar 24 21:27 get_ip.txt
-rw-r--r-- 1 root root 5 Mar 5 03:25 ifconfig
-rw-r--r--. 1 root root 22179 Mar 4 22:08 install.log
-rw-r--r--. 1 root root 5890 Mar 4 22:07 install.log.syslog

  

  • chmod 可以改变文件权限

a.直接加数字

chmod 777 filename  给文件777权限 即-rwxrwxrwx

b.对应属主(u)\属组(g)或者其它用户(o)加减权限

chmod g+x filename 给属组用户添加x权限

2.特殊权限:特殊权限有三种:--s--s--t;

如果原来有x权限,则用小写s或者t,原来没有x权限则用大写S或者T

suid    s(有x) S  4  用户对应的权限位(用户对应的3位上)

sgid    s(有x) S  2  用户组对应的权限位(用户组对应的3位上)

sticky  t(有x) T  1  其他用户对应的权限位

  suid(set uid设置用户ID)限定:只能在设置二进制可执行程序上面对目录设置无效。功能:程序运行行的权限从执行者变成程序的所有者。(因为二进制命令属于ROOT用户和ROOT组)。

a.所有(onwer)人s权限:称为Set UID,简称为SUID的特殊权限;即当执行该文件时将具有该文件所有者的权限。

当在文件上设置 suid 时,将以文件的属主的身份而不是运行该文件的用户身份执行操作。其中好的操作范本是 passwd 命令,它需要设置 suid 位,以便更改密码的操作具有 root 权限。

  • 设置 suid 位的示例:chmod u+s /bin/foo_file_name

b.所在(group)组s权限:称为Set GID,简称为SGID的特殊权限;限定:既可以给二进制可执行程序,也可能以对目录设置。

功能:在设置了SGID权限目录下建议立文件时,新建的文件的所属组会继承上级目录的所属组。

一个使用 sgid 的例子是,如果多个用户正在同一个目录中工作,并且目录中创建的每个文件都需要具有相同的组权限。下面的示例创建一个名为meilian_net 的目录,设置 sgid 位,并将组所有权更改为 webdev。

1)mkdir meilian_net

2)chmod g+s meilian_net

3)chown :webdev meilian_net

现在,在该目录中创建的任何文件,都将具有 webdev 的组所有权,而不是创建该文件的用户的组。

1)cd meilian_net

2)touch file-sgid

3)ls -lah file-sgid

4)-rw-r--r--. 1 root webdev 0 Jun 12 06:04 file-sgid

  • 设置Sgid方法:chmod 2755 file 或者 chmod g+s file

chown使用

-R:对目录及该目录下的所有文件和子目录都进行相同的操作,即递归更改目录的所有者;

1)chown root:root aaaa.txt

2)chown root: aaaa.txt

在用户名后跟冒号【: 】运行该命令将同时设置用户和组所有权。要仅将文件 aaaa.txt 的用户所有权设置为 root 用户,操作命令:

chown root aaaa.txt

要仅更改文件 aaaa.txt 的组所有权,则需要在组之前加冒号,操作命令:

chown :root aaaa.txt

[test@oldboy ~]$ touch aaaa.txt

[test@oldboy ~]$ ls -l

-rw-rw-r-- 1 test test 0 Mar 25 19:52 aaaa.txt

[test@oldboy ~]$ chown root aaaa.txt #没有ROOT权限不能更改所属主或者组

chown: changing ownership of `aaaa.txt': Operation not permitted

[test@oldboy ~]$ su -

[root@oldboy ~]# ls

[root@oldboy test]# ls -l

-rw-rw-r-- 1 test test 0 Mar 25 19:52 aaaa.txt   #aaaa.txt本身属实test用户

[root@oldboy test]# chown root aaaa.txt  #使用chown命令改变aaaa.txt所属实用户
[root@oldboy test]# ls -l -rw-rw-r-- 1 root test 0 Mar 25 19:52 aaaa.txt #所属组test [root@oldboy test]# chown :root aaaa.txt #改变所属组
[root@oldboy test]# ls -l
-rw-rw-r-- 1 root root 0 Mar 25 19:52 aaaa.txt

最后的t权限:称为Sticky Bit,简称为SBIT权限,只针对目录有效。它表示只能让所属主以及root可以删除(重命名/移动)该目录下的文件,即便是该目录拥有w权限,但是除了root用户,其他用户只能对自己的文件进行删除、移动操作。

[root@oldboyedu ~]# ll -d /tmp/ drwxrwxrwt. 8 root root 105 Jul 2 10:15 /tmp/

如果该其他用户权限位上有执行权限,则会在其他用户权限位的执行权限上写个t(小写字母); 如果该其它用户权限位上没有执行权限,则会在其他用户权限位的执行权限上写个T(大写字母)。

授权方式:

[root@db04 ~]# chmod 1755 /opt

[root@db04 ~]# chmod o+t /opt



sticky(SI TI KI)粘滞,目前只对目录有效,作用如下:

普通用户对该目录拥有w和x权限,即普通用户可以在此目录中拥有写入权限,如果没有粘滞位,那么普通用户拥有w权限,就可以删除此目录下的所有文件,包括其他用户建立的文件。但是一旦被赋予了粘滞位,除了root可以删除所有文件,普通用户就算有w权限也只能删除自己建立的文件,而不能删除其他用户建立的文件。

 tmp相当于共内容,所有用户可以对这个目录操作,但是不能破坏(t的作用)

/tmp是经典的粘滞位目录,特点:谁都有写的权限,因此有安全隐患

[root@localhost omd]# ll -ld /tmp/    -->t表示粘滞位t表示有个x,没有就是大T

  • 设置sticky方法:chmod 1777 file 或者 chmod o+t file

最新文章

  1. JSTL 将double值保留小数点后两位
  2. Android 分析工具 APKAnalyser
  3. Ember.js demo1
  4. get 和 post的使用.
  5. Protocol buffer序列化及其在微信蓝牙协议中的应用
  6. 使用C++11实现无锁stack(lock-free stack)
  7. 怎么给没链接的flash加超链接
  8. 对付"反盗链"
  9. MVC5+EF6 入门
  10. C#为什么要多线程开发(一)
  11. Linux下postgres9.4 版本的单机版安装小笔记
  12. 常用正则表达式爬取网页信息及HTML分析总结
  13. java学习笔记17(Calendarl类)
  14. 坑人的 Javascript 模块化编程 require.js
  15. JQuery攻略(二) Jquery手册
  16. JavaScript 覆盖document.createElement 方法
  17. 最简单的rman操作
  18. Linux下rm -rf删除文件夹报错_ Device or resource busy
  19. P2P通讯
  20. Android架构须知

热门文章

  1. 在git下如何创建分支
  2. springboot错误统一处理
  3. 刷题不应该刷leecode 应该刷oj
  4. 浅谈SRT和NDI®在广电制作领域的技术优势和应用
  5. liunx命令的运用
  6. win10系统安装robotframework环境时,不能成功安装autoItLibrary报错的问题解决
  7. 深度对比Apache CarbonData、Hudi和Open Delta三大开源数据湖方案
  8. Appium常用操作之「元素定位、swipe 滑屏操作」
  9. 定位流之z-index属性
  10. NB-IoT的RLC子层服务功能