学习啦 > 学习电脑 > 操作系统 > Linux教程 >

Linux常用权限有哪些s权限和t权限区别

时间: 加城1195 分享

  Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。有时对一些操作需要有权限,本文介绍了linux系统内的2个特殊权限s权限和t权限,简单易懂,大家可以详细看看。

  常用权限

  linux系统内有档案有三种身份 u:拥有者 g:群组 o:其他人

  这些身份对于文档常用的有下面权限:

  r:读权限,用户可以读取文档的内容,如用cat,more查看

  w:写权限,用户可以编辑文档

  x:该目录具有可以被系统执行的权限

  其他权限

  除了读写执行权限外系统还支持强制位(s权限)和粘滞位(t权限)

  s权限

  s权限: 设置使文件在执行阶段具有文件所有者的权限,相当于临时拥有文件所有者的身份. 典型的文件是passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.

  ls -al /usr/bin/passwd

  -rwsr-xr-x 1 pythontab pythontab 32988 2018-03-16 14:25 /usr/bin/passwd

  我们可以通过字符模式设置s权限:chmod a+s filename,也可以使用绝对模式进行设置:

  设置suid:将相应的权限位之前的那一位设置为4;

  设置guid:将相应的权限位之前的那一位设置为2;

  两者都置位:将相应的权限位之前的那一位设置为4+2=6。

  注意:在设置s权限时文件属主、属组必须先设置相应的x权限,否则s权限并不能正真生效(c h m o d命令不进行必要的完整性检查,即使不设置x权限就设置s权限,chmod也不会报错,当我们ls -l时看到rwS,大写S说明s权限未生效)

  t权限

  t权限:要删除一个文档,您不一定要有这个文档的写权限,但您一定要有这个文档的上级目录的写权限。也就是说,您即使没有一个文档的写权限,但您有这个文档的上级目录的写权限,您 也能够把这个文档给删除,而假如没有一个目录的写权限,也就不能在这个目录下创建文档。

  怎样才能使一个目录既能够让任何用户写入文档,又不让用户删除这个目录下他人的文档,t权限就是能起到这个作用。t权限一般只用在目录上,用在文档上起不到什么作用。

  在一个目录上设了t权限位后,(如/home,权限为1777)任何的用户都能够在这个目录下创建文档,但只能删除自己创建的文档(root除外),这就对任何用户能写的目录下的用户文档 启到了保护的作用。

  可以通过chmod +t filename 来设置t权限

  在这再总结一下

  s或S(SUID,Set UID):

  可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源。请注意具备SUID权限的文件,黑客经常利用这种权限,以SUID配上root帐号拥有者,无声无息地在系统中开扇后门,供日后进出使用。

  T或T(Sticky):

  /tmp和 /var/tmp目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。

  补充:Linux基本命令

  ①ls 意为list 列出当前文件夹中的文件

  -l 显示文件的属性 可用ll来表示

  ②alias 别名 看看是否有别名的文件

  ③cd dir 跳跃目录 -P选项 将路径中的链接文件替换成链接指向的文件路径

  ④pwd 查看当前工作的文件夹名 使用-P的选项,会直接进入到其中,相当于cd

  相关阅读:Linuxshell脚本不执行问题实例分析

  shell脚本不执行问题:某天研发某同事找我说帮他看看他写的shell脚本,死活不执行,报错。我看了下,脚本很简单,也没有常规性的错误,报“:badinterpreter:Nosuchfileordirectory”错。看这错,我就问他是不是在windows下编写的脚本,然后在上传到linux服务器的……果然。原因:在DOS/windows里,文本文件的换行符为rn,而在*nix系统里则为n,所以DOS/Windows里编辑过的文本文件到了*nix里,每一行都多了个^M。解决:

  1)重新在linux下编写脚本;

  2)vi:%s/r//g:%s/^M//g(^M输入用Ctrl+v,Ctrl+m)附:sh-x脚本文件名,可以单步执行并回显结果,有助于排查复杂脚本问题。


Linux权限相关文章:

1.Linux系统怎么设置文件权限

2.linux root权限命令

3.怎么查看及修改Linux系统文件读写权限

4.给linux文件添加可执行权限的方法

5.linux常用操作命令

4016624