linux rws(linux版软件网站)

本篇文章给大家谈谈linux rws,以及linux版软件网站对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

linux中的rws中的s是什么权限如何赋予

答:linux中的rws中的s为特殊权限,赋值方式同样和普通的文件操作是一样的,命令如下:

chmod 1755 filename。

同样对,rwx、s/S,t/T进行一个解释:

1.r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。

2.w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。

3.x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。

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

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

linux RWX权限的解读

注意

chown和 chgrp都有一个-R选项,该选项可以用来告诉它们递归地将所属权和组改变应用到整个目录树中。例如:

注意:除非您是超级用户,否则您不可以使用 chown,然而任何人都可以使用 chgrp来将文件的组所有权改为他们所属的组。

该操作chmod示例已经影响到了所有三个三元组—用户、组和所有其他用户

亦可指定,对于“用户”三元组使用 u,对于“组”三元组使用 g,对于“其他/每个人”使用 o

定制化设定权限

直到现在为止,我们使用了叫做“符号”的模式来用 chmod指定权限的改变。然而,指定权限还有一种普遍使用的方法—使用 4位八进制数。使用叫做数字权限语法的语法,每一位代表一个权限三元组。例如,在 1777中,777设置本章我们所讨论的“owner”、“group”和“other”标志。1用来设置专门的权限位,我们将在本章的结束部分讲到。

举例:7=4+2+1,读写执行,5=4+1,读执行。各种组合方式。

rwx 7 rw- 6 r-x 5 r-- 4-wx 3-w- 2--x 1--- 0

当进程创建了新文件时,它指定新文件应该具有的权限。通常,所请求的模式是 0666(每个人可读和可写),它比我们希望的具有更多的权限。幸运的是,不管什么时候创建了新文件,Linux将参考叫做“umask”的东西。系统用 umask值来将初始指定的权限降低为更合理、更安全的权限。您可以通过在命令行中输入 umask来查看您当前的 umask设置:

Linux系统上,umask的缺省值一般为 0022,它允许其他人读您的新文件(如果他们可以得到它们),但是不能进行修改。为了在缺省的情况下使新文件更安全,您可以改变 umask设置:$ umask 0077umask将确保组和其他用户对于新创建的文件绝对没有任何权限。那么,umask怎样工作呢?与文件的“常规”权限不同,umask指定应该关闭哪一个权限。我们来参阅一下我们的“模式到数字”映射表,从而使我们可以理解 0077的 umask的意思是什么:模式数字 rwx 7 rw- 6 r-x 5 r-- 4-wx 3-w- 2--x 1--- 0使用该表,0077的最后三位扩展为---rwxrwx。现在,请记住 umask告诉系统禁用哪个权限。根据推断,我们可以看到将关闭所有“组”和“其他”权限,而“用户”权限将保留不动。

当您最初登录时,将启动一个新的 shell进程。您已经知道,但是您可能还不知道这个新的 shell进程(通常是 bash)使用您的用户标识运行。照这样,bash程序可以访问所有属于您的文件和目录。事实上,作为用户,我们完全依靠其它程序来代表我们执行操作。因为您启动的程序继承了您的用户标识,因此它们不能访问任何不允许您访问的文件系统对象。例如,一般用户不能直接修改 passwd文件,因为“write”标志已经对除“root用户”以外的每个用户关闭:

但是,一般用户确实需要在他们需要改变其密码的任何时候,能够修改/etc/passwd(至少间接地)。但是,如果用户不能修改该文件,究竟怎样完成这个工作呢?

Suid

幸好,Linux权限模型有两个专门的位,叫做“suid”和“sgid”。当设置了一个可执行程序的“suid”这一位时,它将代表可执行文件的所有者运行,而不是代表启动程序的人运行。现在,回到/etc/passwd问题。如果看一看 passwd可执行文件,我们可以看到它属于 root用户:

$ ls-l/usr/bin/passwd

-rwsr-xr-x 1 root wheel 17588 Sep 24 00:53/usr/bin/passwd

您还将注意到,这里有一个 s取替了用户权限三元组中的一个 x。这表明,对于这个特殊程序,设置了 suid和可执行位。由于这个原因,当 passwd运行时,它将代表 root用户执行(具有完全超级用户访问权),而不是代表运行它的用户运行。又因为 passwd以 root用户访问权运行,所以能够修改/etc/passwd文件,而没有什么问题。

suid/sgid告诫说明

我们看到了 suid怎样工作,sgid以同样的方式工作。它允许程序继承程序的组所有权,而不是当前用户的程序所有权。这里有一些关于 suid和 sgid的其它的但是很重要的信息。首先,suid和 sgid占据与 ls-l清单中 x位相同的空间。如果还设置了 x位,则相应的位表示为 s(小写)。但是,如果没有设置 x位,它将表示为 S(大写)。另一个很重要的提示:在许多环境中,suid和 suid很管用,但是不恰当地使用这些位可能使系统的安全遭到破坏。最好尽可能地少用“suid”程序。passwd命令是为数不多的必须使用“suid”的命令之一。

改变 suid和 sgid

设置和除去 suid与 sgid位相当简单。这里,我们设置 suid位:

此处,我们从一个目录除去 sgid位。我们将看到 sgid位怎样影响下面几屏中的目录:

权限和目到此为止,我们从常规文件的角度来看权限。当从目录的角度看权限时,情况有一点不同。目录使用同样的权限标志,但是它们被解释为表示略微不同的含义。对于一个目录,如果设置了“read”标志,您可以列出目录的内容;“write”表示您可以在目录中创建文件,“execute”表示您可以进入该目录并访问内部的任何子目录。没有“execute”标志,目录内的文件系统对象是不可访问的。没有“read”标志,目录内的文件系统对象是不可查看的,但是只要有人知道磁盘上对象的完整路径,就仍然可以访问目录内的对象。目录和 sgid如果启用了目录的“sgid”标志,在目录内创建的任何文件系统对象将继承目录的组。当您需要创建一个属于同一组的一组人使用的目录树时,这种特殊的功能很管用。只需要这样做:

现在,mygroup组中的所有用户都可以在/home/groupspace内创建文件或目录,同样,他们也将自动地分配到 mygroup的组所有权。根据用户的 umask设置,新文件系统对象对于 mygroup组的其他成员来说,可以或不可以是可读、可写或可执行的。目录和删除缺省情况下,Linux目录以一种不是在所有情况下都很理想的方式表现。一般来说,只要对一个目录有写访问权,任何人都可以重命名或删除该目录中的文件。对于个别用户使用的目录,这种行为是很合理的。但是,对于很多用户使用的目录来说,尤其是/tmp和/var/tmp,这种行为可能会产生麻烦。因为任何人都可以写这些目录,任何人都可以删除或重命名任何其他人的文件—即使是不属于他们的!显然,当任何其他用户在任何时候都可以输入“rm-rf/tmp/*”并损坏每个人的文件时,很难把/tmp用于任何有意义的文件。所幸,Linux有叫做“粘滞位”(sticky bit)的东西。当给/tmp设置了粘滞位(用chmod+t),唯一能够删除或重命名/tmp中文件的是该目录的所有者(通常是 root用户)、文件的所有者或 root用户。事实上,所有 Linux分发包都缺省地启用了/tmp的粘滞位,而您还可以发现粘滞位在其它情况下也很管用。难以理解的第一位

总结本章,我们最后来看一看数字模式的难以理解的第一位数。您可以看到,这个第一位数

用来设置 sticky、suid和 sgid位:

suid sgid sticky模式数字 on on on 7 on on off 6 on off on 5 on off off 4 off on on 3 off on off 2 off off on 1 off off off 0

这里有一个怎样用 4位数字模式来设置一个目录的权限的示例,该目录将由一个工作组使用:

# chmod 1775/home/groupfiles

请想一想 1755数字模式权限设置的含义。

linux权限补充:rwt rwT rws rwS特殊权限

众所周知,Linux的文件权限如: 777;666等,其实只要在相应的文件上加上UID的权限,就可以用到加权限人的身份去运行这个文件。所以我们只需要将bash复制出来到另一个地方,然后用root加上UID权限,只要用户运行此Shell就可以用用root的身份来执行任何文件了

一个文件都有一个所有者,表示该文件是谁创建的.同时,该文件还有一个组编号,表示该文件所属的组,一般为文件所有者所属的组.

如果是一个可执行文件,那么在执行时,一般该文件只拥有调用该文件的用户具有的权限.而setuid, setgid可以来改变这种设置.

setuid:该位是让普通用户可以以root用户的角色运行只有root帐号才能运行的程序或命令。比如我们用普通用户运行passwd命令来更改自己的口令,实际上最终更改的是/etc/passwd文件我们知道/etc/passwd文件是用户管理的配置文件,只有root权限的用户才能更改

[root@localhost~]# ls-l/etc/passwd

-rw-r--r-- 1 root root 2379 04-21 13:18/etc/passwd

作为普通用户如果修改自己的口令通过修改/etc/passwd肯定是不可完成的任务,但是不是可以通过一个命令来修改呢答案是肯定的,作为普通用户可以通过passwd来修改自己的口令这归功于passwd命令的权限我们来看一下;

[root@localhost~]# ls-l/usr/bin/passwd

-r-s--x--x 1 root root 21944 02-12 16:15/usr/bin/passwd

因为/usr/bin/passwd文件已经设置了setuid权限位(也就是r-s--x--x中的s),所以普通用户能临时变成root,间接的修改/etc/passwd,以达到修改自己口令的权限

setgid:该权限只对目录有效.目录被设置该位后,任何用户在此目录下创建的文件都具有和该目录所属的组相同的组.

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

下面说一下如何操作这些标志:

操作这些标志与操作文件权限的命令是一样的,都是 chmod.有两种方法来操作,

chmod g+s tempdir--为tempdir目录加上setgid标志(setgid只对目录有效)

chmod o+t temp--为temp文件加上sticky标志(sticky只对文件有效)

abc

a- setuid位,如果该位为1,则表示设置setuid 4---

b- setgid位,如果该位为1,则表示设置setgid 2---

c- sticky位,如果该位为1,则表示设置sticky 1---

设置完这些标志后,可以用 ls-l来查看.如果有这些标志,则会在原来的执行标志位置上显示.如

rwsrw-r--表示有setuid标志

rwxrwsrw-表示有setgid标志

rwxrw-rwt表示有sticky标志

那么原来的执行标志x到哪里去了呢?系统是这样规定的,如果本来在该位上有x,则这些特殊标志显示为小写字母(s, s, t).否则,显示为大写字母(S, S, T)

linux中的rws中的s是什么权限,如何赋予

答:linux中的rws中的s为特殊权限,赋值方式同样和普通的文件操作是一样的,命令如下:

chmod 1755 filename。

同样对,rwx、s/S,t/T进行一个解释:

1.r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。

2.w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。

3.x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。

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

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

阅读剩余
THE END