首页 > 编程知识 正文

超级用户的口令必须符合什么要求,linux用户管理

时间:2023-05-05 00:51:32 阅读:172578 作者:1731

在最近学习某个课题的过程中,遇到了Linux权限的结构,将自己的理解总结如下。

1.Linux权限模型——UGO模型

如果使用ls -l命令查看目录下的文件或目录,将显示以下内容:

- rw-rw-r---1 linuxwlinuxw 18 apr 1618336023 test.txt

今天,我们主要学习它的第一个字段-rw-rw-r--。 这里的r表示可读,w表示可写入,x表示可执行。 怎么解读? 首先舍弃第一名的“-”,后面的第九名分别按第三名分组。 也就是说,是一个三元组,即" rw-"、" rw-"、" r-- "。 它们依次表示文件或文件夹所有者owner的权限、所有组的权限和所有其他用户other的权限。 总结第一个字段,其所有者及其所有组都允许读写,允许其他用户阅读,但不允许写,他们都无权执行。 看看第一名吧。 在本例中用“-”表示。 这是普通文件。 但是,它只是有一种,概括起来,它可能出现的地方如下。

“d”目录、“l”符号链接、“c”字符专用设备文件、“b”块专用设备文件、“p”先进先出

" s "插座

我在写这篇博文的时候,也只看到过以“d”(文件)开头的东西。 其他几种,在今后的学习中要注意。

2.4位八进制权限模型

总体来说,他和UGO模特非常相似,我曾经没有意识到它们的区别,是局里的粉丝呢。 现在让我们一起来弄清楚这一点:

4位8进制权限模型是指用4个8进制(0~7)进行权限显示。 例如0755,现在我们来解读它的构成。 它可以分为两个部分。 第1位是单独的一部分,第2~4位是第2部分。 让我们先了解一下第二部分。 为什么会混淆呢? 因为数字0~7和一个三元组之间存在对应关系。

rwx 7rw-6r-x5r---4-wx3-w-2---x1---0

现在: 0755舍弃第一位,得到的755可以根据对应关系列举三个三元组。 rwxr-xr-x它所表示的意思与UGO一致,但在此不作说明。 让我们来看看。 第一部分。 第一部分只有一位数字。 但仍分为三个二进制数。 这三位与suid sgid sticky (粘滞)位相对应。 那么,为什么在这里这样处理呢? Linux这样处理是为了进一步完善权限结构。 我们来详细看看是怎么实现的。

首先,如上所述,是3位的二进制数,1表示on,0表示off。 它对应于八进制。 从onon7:(111 )到offoff0:(000 ),其他数字自己补充。 那么这一位数是怎么来的呢? 在这里,必须说明几个Linux权限设定的基本方法。 首先,如果您因为害怕孤独而创建文件并未设置其权限,则Linux上的缺省权限初始值通常为0666,但另请参见名为umask的内容来降低权限,使其权限设置更合理、更安全。 您可以在自己的系统上通过在命令行中输入umask来查看umask的值。 例如我的值是0002。 这里把他们统一看作二进制:

umask: 000 000 000 010

默认值: 000 110 110 110

对这两个值进行异或运算,得到了000 110 110 100。 令人惊讶的是,那个我们展示了

与“- rw-rw-r-- -”(0664 :二进制: 000 110 110 100 )一致,这是它们的参考方式吗? 因为这里只在我的机型上演示,所以不能给出肯定的答案,但是我很感兴趣,所以请在自己的机器上验证一下。 请注意,这如果你没有指定权限,或者这里有更深的联系。 如果你感兴趣,你可以了解更多。 下面介绍三个具体二进制位的作用。 如果在一个文件中设置suid位,则该所有者权限的三个组中的第三位相应地为s。 这意味着无论谁执行它,它都将以该文件的所有者身份执行。 例如,如果文件的所有者是root用户,则运行该文件的用户将拥有root用户的权限,这可能不安全,因此设置时需要小心。 sgid也可以同样设定。 意思根据suid类推。 谈谈sticky位:吧

[ email protected ] :/home/linuxw # ls-dl/tmp

rwxrwxrwt 13 root root 4096 apr 1922:06/tmp

查看tmp目录时,t; 这个t怎么理解? 和之前介绍的other元组的字母结构不一样呢。 其实,这就是我们想说的sticky比特设置后的结果。 要理解sticky位,我们先在一个叫做tmp的特殊文件夹里说吧。

/tmp目录包含所有用户操作时生成的临时文件。 那么,其权限应该是“rwxrwxrwx”。 因为是为所有用户提供服务的,所以所有用户都应该能够自由地进行读写(包括修改删除等)、执行等操作。 如果一个用户删除了另一个用户在使用时创建的临时文件,这种问题不是会导致无法恢复吗? 此时,我们说设置sticky位起作用,只有root用户及其所有者有删除文件的权限,并不是任何用户都能删除。 这也是Linux的保护机制。 通俗地说,设置粘性的意思相当于说我是你的。 只是

有你才能处理我,当然这里的你不包括root用户,因为root用户拥有绝对权限。这在文件权限的应用里是很有意义的,它可以防止其他用户损伤一些特定的文件。

3.权限的修改

以Test.txt进行权限的修改为例:

修改权限之前:

-rw-rw-r-- 1 linuxw linuxw   18 Apr 16 18:23 Test.txt

修改常规读、写、可执行权限

chmod u+x Test.txt     //所有者设置可执行权限,在Shell脚本编程里很常用。

-rwxrw-r-- 1 linuxw linuxw   18 Apr 16 18:23 Test.txt

chmod g+w Test.txt//所在组设置可写权限

chmod g-x Test.txt    //所在组取消可读权限

chmod u+r Test.txt    //所有者设置可读权限

chmod o-x Test.txt    //设置所有其他用户不可执行权限

设置数字权限:

chmod 0664 Test.txt

设置suid:

chmod u+s Test.txt

-rwsrw-r-- 1 linuxw linuxw   18 Apr 16 18:23 Test.txt

设置sgid

-rwsrwSr-- 1 linuxw linuxw   18 Apr 16 18:23 Test.txt

设置sticky:

chmod +t Test.txt

-rwsrwSr-T 1 linuxw linuxw   18 Apr 16 18:23 Test.txt

总结:首先我们学习了UGO模型和数字权限模型,两者的差异之处是第一位的不同。其次,我们介绍了suid sgid sticky bit位的作用,最后,我们练习了如何修改权限。细心的你可能会发现所有的命令我们都用了chmod,设置权限用“+”,取消权限用“-”,并且设置的三元组与字母间的组合,细心的你肯定会发现。到这里,我们本次的学习就告一段落了。

声明:本文例子均为为本人在Ubuntu kylin上实际演练过的,shell版本为bash.若有浏览到本文,可通过echo $SHELL查看自己的Linux shell版本。本文仅供初学Linux爱好者浏览大致内容,获取更多知识,请参考权威文献著作,本文不负任何法律责任。本文为作者原创,转载请注明出处。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。