RHCSA-A6.配置特殊权限的目录

Posted 白-胖-子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RHCSA-A6.配置特殊权限的目录相关的知识,希望对你有一定的参考价值。

红帽RHCE考试上午-RHCSA(RH134)

servera.example.com 任务

6.配置特殊权限的目录

任务要求

  • /home/managers 目录属于sysmgrs 组
  • 此目录可以被sysmgrs 的组成员读取、写入和访问,但是其他任何用户不具备这些权限。(不包括root 用户)
  • 在/home/managers 目录中创建的文件的所属组自动变成sysmgrs 组

完成步骤

  • 用户组sysmagrs是在之前创建用户的时候就创建好的
mkdir /home/managers # 创建目录
chgrp sysmgrs /home/managers # 更改目录的属组
chmod 2770 /home/managers # 设定目录的权限,目录的访问权限即为x权限rwx=7,自动变成sysmgrs 组用特殊权限2
ll -d /home/managers # 检查

-也可以使用以下方法添加权限

chown :sysmgrs /home/managers
chmod g+rw,o-rwx /home/managers
chmod g+s /home/managers
  • 生成文件去验证下

echo hello > /etc/managers/sun.log

考察的知识点

更改文件的属主和属组

  • chown 命令可以修改文件的属主,也可以修改文件属组
OWNER #只修改所有者
OWNER:GROUP #同时修改所有者和属组
:GROUP #只修改属组,冒号也可用 . 替换
--reference=RFILE #参考指定的的属性,来修改
-R #递归,此选项慎用,非常危险!
  • chgrp 命令可以只修改文件的属组
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...

文件权限

  • linux文件系统中的文件权限主要针对三类对象进行定义
owner 属主, u
group 属组, g
other 其他, o
  • 每个文件针对每类访问者都定义了三种权限
r Readable
w Writable
x eXcutable ## 对文件是执行,对目录是访问进入

文件权限的表示方法

  • 一组数字代表一种权限
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
  • 常见权限
---------- 000    所有用户对文件没有任何权限,root除外
-r--r----- 440    所有者和所属组内成员有只读权限
-rw------- 600    仅所有者有读写权限。
-rw-r--r-- 644    仅所有者有读写权限;而属组用户和其他用户仅读权限。
-rwx------ 700    仅所有者有读、写、执行权限。
-rwxr-xr-x 755    所有者有读、写、执行权限;而属组用户和其他用户仅读、执行权限。
-rwx--x--x 711    所有者有读、写、执行权限;而属组用户和其他用户仅执行权限。
-rw-rw-rw- 666    所有用户都有文件读、写权限。
-rwxrwxrwx 777    所有用户都有读、写、执行权限。

更改权限的方法

  • 使用chmod修改文件或者文件夹的权限
  1. 模式法格式

chmod <who><opt><permission> 文件/目录

MODE:who opt permission
who:u,g,o,a
opt:+,-,=
permission:r,w,x
# 指定一类用户的所有权限
u= g= o= ug= a= u=,g=
# 修改一类用户某个或某个权限
u+ u- g+ g- o+ o- a+ a- + -
-R: 递归修改权限
chmod u+wx,g-r,o=rx file
chmod -R g+rwX /testdir
  1. 数字法格式

chmod <权限数字> 文件/目录

chmod 600 file
chmod 000 /root/.secret

umask 新建文件和目录的默认权限

  • umask默认值
002 普通用户
022 root用户
  • 由umask计算出文件权限
666-umask #新建文件的默认权限,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变
777-umask #新建目录的默认权限
666-002=664 -rw-rw-r #普通用户创建的新文件权限为664,所有者和所属组可以读写,其他用户只读
777-002=775 drwxrwx-r-x #普通用户创建的新文件夹默认权限为775,所有者和所属组可以读写访问,其他用户只读和访问

666-022=644 -rw-r--r-- #root用户创建的新文件权限默认为644,所有者可以读写,所属组和其他用户只读
777-022=755 drwx-r-xr-x #root用户创建的新文件夹默认权限为755,所有者可以读写进入,所属组和其他用户只读和访问
  • 查看和临时修改umask
[root@centos8 ~]#umask
0022
[root@centos8 ~]#umask -S
u=rwx,g=rx,o=rx
[root@centos8 ~]#umask -p
umask 0022
[root@centos8 ~]#(umask 666; touch /data/f1.txt)
[root@centos8 ~]#umask
0022
[root@centos8 ~]#ll /data/f1.txt
---------- 1 root root 0 Mar 27 14:55 /data/f1.txt
  • 永久修改umask
vim /etc/bashrc #全局设置
vim /home/用户名/.bashrc #普通用户设置
vim /root/.bashrc #root用户设置

Linux文件系统上的特殊权限

  • 除了r, w, x 还有三种特殊权限:SUID, SGID, Sticky

特殊权限位SUID

  • SUID只对二进制可执行程序有效,SUID设置在目录上无意义
  • 二进制可执行程序设定SUID后,文件启动为进程之后,其进程的属主为原程序文件的属主,并不是启动它的用户
例如:
给一个二进制程序设置了SUID,这个二进制程序的属组和属主都是apache,用root启动这个程序后,仍然显示以apache启动
  • 设定SUID
chmod u+s FILE...
chmod 4xxx FILE
chmod u-s FILE...

特殊权限位SGID

  • SGID可以设置给二进制可执行程序也可以设置给目录
  • 二进制可执行程序设定SGID以后,文件启动为进程之后,其进程的属组为原程序文件的属组,这样用的不多
  • 目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组

例如: 给一个目录/home/managers设置了SGID,不管是哪个用户,在/home/managers
目录中创建的文件的所属组自动变成sysmgrs 组

  • 设定SGID
chmod g+s DIR...
chmod 2xxx DIR
chmod g-s DIR...

特殊权限 Sticky 位

  • Sticky 位主要用来防止目录内文件被误删除,设置在普通文件上无意义
  • 在目录设置Sticky 位,只有文件的所有者或root可以删除该文件

例如:
给一个目录/home/managers设置了Sticky,同时权限为drwxrwxrwx,普通用户可以在文件夹内写文件和修改文件,但虽然看上去有w权限,但是除了这个目录的所有者和root,其他人都不能删除目录内的文件包括子目录

  • 设定Sticky位
chmod o+t DIR...
chmod 1xxx DIR
chmod o-t DIR...

文件的隐藏特殊属性

  • 设置文件的特殊属性,可以访问 root 用户误操作删除或修改文件
    chattr +i file #不能删除,改名,更改
    chattr +a file #只能追加内容,不能删除,改名
    lsattr 显示特定属性

以上是关于RHCSA-A6.配置特殊权限的目录的主要内容,如果未能解决你的问题,请参考以下文章

RHCSA-A8.配置文件共享autofs

RHCSA-A16. 设置普通用户提权免密

RHCSA-A10.配置用户账户

RHCSA-A1.配置网络设置

RHCSA-A2.配置默认软件仓库

RHCSA-A7.配置NTP时间同步