bash shell命令(六)

Linux文件的权限

用户权限通过创建用户时分诶的用户ID(User ID,通常缩写为UID)来跟踪的。登陆系统时使用的是登录名。
Linux系统会为各种各样的功能创建不同的用户账户,而这些账户并不是真的用户。这些账户叫作系统账户,是系统上运行的各种服务进程访问资源用的特殊账户。所有运行在后台的服务都需要用一个系统用户账户登录到Linux系统上。

添加新用户

用来向Linux系统添加新用户的主要工具是useradd。
从系统中删除用户可以用userdel命令。默认情况下, userdel命令会只删除/etc/passwd文件中的用户信息,而不会删除系统中属于该账户的任何文件。如果加上-r参数, userdel会删除用户的HOME目录以及邮件目录。
在这里插入图片描述
八进制模式的值664代表属主和属组成员都有读取和写入的权限,而其他用户都只有读取权限。
umask值只是个掩码。它会屏蔽掉不想授予该安全级别的权限。
要把umask值从对象的全权限值中减掉。
对文件来说,全权限的值是666(所有用户都有读和写的权限);
而对目录来说,则是777(所有用户都有读、写、执行权限)。
文件一开始的权限是666, 减去umask值022之后, 剩下的文件权限就成了644。
由于目录的默认权限是777, umask作用后生成的目录权限不同于生成的文件权限。 umask
值026会从777中减去,留下来751作为目录权限设置。

chmod命令用来改变文件和目录的安全性设置。
在这里插入图片描述
符号模式的权限
在这里插入图片描述
第一组字符定义了权限作用的对象:
u代表用户
g代表
o代表其他
a代表上述所有
下一步,后面跟着的符号表示你是想在现有权限基础上增加权限( +),还是在现有权限基础
上移除权限( .),或是将权限设置成后面的值( =)。
第三个符号代表作用到设置上的权限。
 X:如果对象是目录或者它已有执行权限,赋予执行权限。
 s:运行时重新设置UID或GID。
 t:保留文件或目录。
 u:将权限设置为跟属主一样。
 g:将权限设置为跟属组一样。
 o:将权限设置为跟其他用户一样。

chown命令用来改变文件的属主。
在这里插入图片描述
在这里插入图片描述
chown命令也支持同志改变文件的属主和属组。
在这里插入图片描述
chgrp命令可以更改文件或目录的默认属组。

在这里插入图片描述
/usr/sbin/groupadd shared 在系统上创建新组shared
/usr/sbin/usermod -G shared rich 将用户rich添加到组shared
/usr/sbin/groupmod -n sharing shared 修改组shared名为sharing
可以修改已有组的GID(加-g选项)或组名(加-n选项)。

Linux系统上共享文件的方法是创建组。
Linux还为每个文件和目录存储了3个额外的信息位。
 设置用户ID( SUID) :当文件被用户使用时,程序会以文件属主的权限运行。
 设置组ID( SGID) :对文件来说,程序会以文件属组的权限运行;对目录来说,目录中创建的新文件会以目录的默认属组作为默认属组。
 粘着位:进程结束后文件还驻留(粘着)在内存中。
SGID位对文件共享非常重要。启用SGID位后,你可以强制在一个共享目录下创建的新文件都属于该目录的属组,这个组也就成为了每个用户的属组。
SGID可通过chmod命令设置。它会加到标准3位八进制值之前(组成4位八进制值),或者在符号模式下用符号s。
在这里插入图片描述
在这里插入图片描述
mkdir命令来创建共享的目录。
chgrp命令将目录的默认属组改为包
含所有需要共享文件的用户的组(你必须是该组的成员)。最后,将目录的SGID位置位,以保证
目录中新建文件都用shared作为默认属组。
为了让这个环境能正常工作,所有组成员都需把他们的umask值设置成文件对属组成员可
写。在前面的例子中, umask改成了002,所以文件对属组是可写的。
做完了这些,组成员就能到共享目录下创建新文件了。跟期望的一样,新文件会沿用目录的
属组,而不是用户的默认属组。现在shared组的所有用户都能访问这个文件了。

小结

本章讨论了管理Linux系统安全性的一些命令行命令。Linux通过用户ID和组ID来限制对文件、目录以及设备的访问。
useradd命令用来创建新的用户账户, groupadd命令用来创建新的组账户。修改已有用户账户,我们用usermod命令。类似的groupmod命令用来修改组账户信息。
每个文件都有三个安全等级:文件的属主、能够访问文件的默认属组以及系统上的其他用户。
每个安全等级通过三个访问权限位来定义:读取、写入以及执行,对应于符号rwx。如果某种权限被拒绝,权限对应的符号会用单破折线代替(比如r–代表只读权限)。
chmod命令用来修改文件和目录的安全设置。只有文件的属主才能改变文件或目录的权限。
不过root用户可以改变系统上任意文件或目录的安全设置。 chown和chgrp命令可用来改变文件默认的属主和属组。
设置组ID位来创建共享目录。 SGID位会强制某个目录下创建的新文件或目录都沿用该父目录的属组,而不是创建这些文件的用户的属组。这可以为系统的用户之间共享文件提供一个简便的途径。

发布了26 篇原创文章 · 获赞 13 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_44710568/article/details/105013302