第九周学习记录

第四章 文件权限

4.3 高级权限

  • 在下图中,luosige20218546用户没有访问/root目录的权限,所以也没有读取root/file01.txt的权限

4.3.1 SUID权限

  • SUID权限:让本来没有相应权限的用户也可以访问没有权限访问的资源。
  • 使用chmod命令给user增加SUID权限,如下图所示:

4.3.2 SGID 权限

  •  在一个程序上添加SGID,用户在执行过程中会获得该程序用户组的权限(相当于临时加入了程序的用户组)。

注:在目录/home下创建一个目录hr,将hr组添加到该目录下,查看目录属组已修改为hr。在/home/hr目录下创建一个文件file02,该文件属组为root,并没有继承上级。在一个目录上添加SGID,该目录下新创建的文件会继承其属组。

4.3.3 Sticky权限

  • 添加Sticky后,当用户对目录具有w、x权限,在该目录下建立的文件或目录,仅有自己与root才有权删除。

注:在目录/home下创建目录dir01,并赋予其777权限,使用luosige20218546用户在该目录下创建文件file01,再使用centsos用户尝试删除file文件,发现是“不允许的操作”,因为添加“t”参数后,用户只能删除自己的文件。

  • 系统中还存在一些目录(如tmp目录),为了保证该目录下文件的安全,系统自动为其增加了“t”权限,因此目录下的文件只有属主才可以删除。/tmp目录为全局可写,其权限只能为1777,否则会导致程序不能正常运行,具体如下所示。

  • 权限的字符位只有9位,增加的特殊权限会占用“x”权限的位置。为了区分目录或文件是否含有“x”权限,系统会以特殊权限的大小写方式给予提示。当符号为大写时,表示不含有“x”权限;当符号为小写时,表示含有“x”权限。例如下图所示:

  • 高级权限的用法总结,如下图所示:

4.4 文件属性chattr

  • 为了保护系统文件,Linux系统会使用chattr命令改变文件的隐藏属性。chattr命令仅对EXT2/EXT3/EXT4文件系统完整有效,其他文件系统可能仅支持部分隐藏属性或者根本不支持隐藏属性。
  • lsattr命令可以查看文件的隐藏属性,具体如下所示。

  • man命令可以查看命令的使用方式,如下图所示:

  • “>”表示覆盖,“>>”表示追加,具体如下所示:

 

 

 

 

  • 使用chattr命令给file01文件增加“a”属性,具体如下所示:

  • 当给file02文件增加“a”属性之后,便不能再使用Vim编辑器写入文本,需要使用echo命令以追加的方式写入。此属性一般用于日志文件,因为日志文件内容是在后面追加,前面的内容不能被覆盖,整个文件也不能被删除。当需要截取某段日志时,去除该属性即可。具体如下所示:

  • 给文件增加“i”属性之后,该文件不接受任何形式的修改,只能读取(生产环境中在没有需求的情况下并不希望有人创建用户,为了防止黑客进入随意创建,一般会给/etc/passwd文件增加“i”属性保证安全).如下图所示:

 

4.5 进程掩码umask

当用户创建新目录或文件时,系统会赋予目录或文件一个默认的权限,umask的作用就是指定权限默认值。为系统设置一个合理的umask值,确保创建的文件或目录具有所希望的缺省权限,有利于保证数据安全。

学习心得:

  这周我在课堂上学习文件权限相关的内容,在本周课堂上我学习了高级权限的SUID、SGID和Sticky权限,以及文件属性chattr和进程umask的使用。SUID权限是一种特殊权限,让本来没有相应权限的用户也可以访问没有权限访问的资源。SGID权限类似于SUID权限,但是作用于目录上,允许用户在目录下创建的文件继承目录的组所有权。而Sticky权限则用于目录,它确保只有文件的所有者才能删除或重命名该文件,这在共享目录中非常有用。此外,我还学习了文件属性chattr,它允许用户设置文件的特殊属性,例如只读、不可修改等。这些属性对于保护重要文件和防止意外修改非常有用。另外,我也了解了进程umask,它是一种权限掩码,用于限制新创建文件和目录的默认权限。

  然而,在本周的学习中,我也发现自己遗忘了一些之前学过的知识点。这让我意识到需要在课后更加努力地巩固和复习。为了加强对文件权限的理解和应用,我计划在接下来的时间里,利用课后时间多进行练习和回顾我会将这次遗忘作为一个教训,时刻提醒自己要不断回顾和复习已学知识,以保持对知识的牢固掌握。

 

 

 

posted @ 2023-10-31 16:07  馒头头头  阅读(29)  评论(0)    收藏  举报