Linux学习第七天

拜拜、爱过 提交于 2020-02-29 00:23:36

接续第5章内容

文件的特殊权限

SUID

--格式:chmod u+s 文件

--是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)

--用户密码保存在/etc/shadow文件中

SGID

--格式:chmod g+s 文件 或者 chmod -R g+s 目录名称

--主要实现如下两种功能:

--让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置)

--在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)

SBIT

--格式:chmod -R o+t 目录名称

--也称“粘滞位”,或者“保护位”

--可确保用户只能删除自己的文件,而不能删除其他用户的文件

        =============================================我·是·分·割·线=============================================

chmod命令

--作用是用于文件或目录的权限设置

--格式:chmod [参数] 权限 文件 

--或者

--chmod -R 权限 目录名称

--参数[ -R ]作用是针对目录进行操作时需要加上大写参数-R来表示递归操作,即对目录内所有的文件进行整体操作

--e.g

[root@linuxprobe ~]# chmod 760 test                    对test文件设置权限

[root@linuxprobe ~]# chmod -Rf 777 testdir/            对test目录设置权限

chown命令

--格式:chown  所有者:所有组 文件 

--或者 

--chown -R 所有者:所有组 目录名称

--参数[ -R ]作用是针对目录进行操作时需要加上大写参数-R来表示递归操作,即对目录内所有的文件进行整体操作

--e.g

[root@linuxprobe ~]#chown root:bin test                      设置文件的所有者和所属组

[root@linuxprobe ~]#chown -R root:bin testdir/               设置目录的所有者和所属组
        =============================================我·是·分·割·线=============================================

一般权限满权限(777)

--一般权限数字转换方式

-rwxrwxrwx=777                r=4    w=2    x=1

--e.g

-rw--wxr-x = 635               567 = -r-xrw-rwx
 
---xr-xrwx = 157               456 = -r--r-xrw-

特殊权限满权限(7777)

--特殊权限数字转换方式

---S--S--T=7000                   SUID=4    SGID=2    SBIT=1

--e.g

5746 = -rwsr--rwT               -rws--sr-T = 7714
4655 = -rwSr-xr-x               --wS-ws-wt = 7233
        =============================================我·是·分·割·线=============================================

文件的隐藏属性

--Linux系统中的文件除了具备一般权限和特殊权限之外,还有一种隐藏权限,即被隐藏起来的权限,默认情况下不能直接被用户发觉

chattr命令

--用于设置文件的隐藏权限,格式为“chattr [参数] 文件”

--chattr +权限 文件(用于设置隐藏权限)

--chattr -权限  文件(用于移除隐藏权限)

                             chattr命令中用于隐藏权限的参数及其作用

参数                                     作用 
i              无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件 
a              仅允许补充(追加)内容,无法覆盖/删除内容(Append Only) 
S              文件内容在变更后立即同步到硬盘(sync) 
s              彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域) 
A              不再修改这个文件或目录的最后访问时间(atime) 
b              不再修改文件或目录的存取时间 
D              检查压缩文件中的错误 
d              使用dump命令备份时忽略本文件/目录 
c              默认将文件或目录进行压缩 
u              当删除该文件后依然保留其在硬盘中的数据,方便日后恢复 
t              让文件系统支持尾部合并(tail-merging) 
x              可以直接访问压缩文件中的内容 

--e.g

[root@linuxprobe ~]# chattr +a linuxprobe
[root@linuxprobe ~]# lsattr linuxprobe
-----a---------- linuxprobe

lsattr命令

--用于显示文件的隐藏权限,格式为“lsattr [参数] 文件”

--e.g


[root@linuxprobe ~]# chattr -a linuxprobe
[root@linuxprobe ~]# lsattr linuxprobe 
---------------- linuxprobe
        =============================================我·是·分·割·线=============================================

文件访问控制列表

--一般权限、特殊权限、隐藏权限其实有一个共性—权限是针对某一类用户设置的。如果希望对某个指定的用户进行单独的权限控制,就需要用到文件的访问控制列表(ACL)了。通俗来讲,基于普通文件或目录设置ACL其实就是针对指定的用户或用户组设置文件或目录的操作权限。另外,如果针对某个目录设置了ACL,则目录中的文件会继承其ACL;若针对文件设置了ACL,则文件不再继承其所在目录的ACL

setfacl命令(设置)

--用于管理文件的ACL规则,格式为“setfacl [参数] 文件名称“

--针对目录文件需要使用-R递归参数;针对普通文件则使用-m参数;如果想要删除某个文件的ACL,则可以使用-b参数

--e.g

[root@linuxprobe ~]# setfacl -Rm u:linuxprobe:rwx /root
......省略部分代码......

[root@linuxprobe ~]# ls -ld /root
dr-xrwx---+ 14 root root 4096 May 4 2017 /root

getfacl命令(查看)

--用于显示文件上设置的ACL信息,格式为“getfacl 文件名称”

--想要设置ACL,用的是setfacl命令;要想查看ACL,则用的是getfacl命令

--e.g

[root@linuxprobe ~]# getfacl /root
getfacl: Removing leading '/' from absolute path names
# file: root
# owner: root
# group: root
user::r-x
user:linuxprobe:rwx
group::r-x
mask::rwx
other::---
        =============================================我·是·分·割·线=============================================

su命令与sudo服务

su命令

--格式:su 用户名(不完全切换,保留原环境变量)

--su命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,顺畅地切换到其他用户,比如从root管理员切换至普通用户

--格式:su - 用户名(完全切换,新建环境变量)

--su命令与用户名之间有一个减号(-),这意味着完全切换到新的用户,即把环境变量信息也变更为新用户的相应信息,而不是保留原始的信息。强烈建议在切换用户身份时添加这个减号(-)

--当从root管理员切换到普通用户时是不需要密码验证的,而从普通用户切换成root管理员就需要进行密码验证了

sudo服务

--用于给普通用户提供额外的权限来完成原本root管理员才能完成的任务,格式为“sudo [参数] 命令名称”

参数                        作用 
-h                       列出帮助信息 
-l                       列出当前用户可执行的命令 
-u                       用户名或UID值 以指定的用户身份执行命令 
-k                       清空密码的有效时间,下次执行sudo时需要再次进行密码验证 
-b                       在后台执行指定的命令 
-p                       更改询问密码的提示语 

sudo命令具有如下功能

--限制用户执行指定的命令:
--记录用户执行的每一条命令;
--配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数;

 --验证密码的后5分钟内(默认值)无须再让用户再次验证密码。

 visudo命令

--只有root管理员才可以使用visudo命令编辑sudo服务的配置文件

--在sudo命令的配置文件中,按照下面的格式将第99行(大约)填写上指定的信息:

--格式:谁可以使用  允许使用的主机=(以谁的身份)  可执行命令的列表

--e.g

[root@linuxprobe ~]# visudo
 96 ##
 97 ## Allow root to run any commands anywhere
 98 root ALL=(ALL) ALL
 99 linuxprobe ALL=(ALL) ALL
每次执行sudo命令都要输入一次密码其实也挺麻烦的,这时可以添加 NOPASSWD参数,使得用户执行sudo命令时不再需要密码验证
 
[linuxprobe@linuxprobe ~]$ exit
logout
[root@linuxprobe ~]# whereis poweroff
poweroff: /usr/sbin/poweroff /usr/share/man/man8/poweroff.8.gz
[root@linuxprobe ~]# visudo
 96 ##
 97 ## Allow root to run any commands anywhere
 98 root ALL=(ALL) ALL
 99 linuxprobe ALL=NOPASSWD: /usr/sbin/poweroff
        =============================================我·是·分·割·线=============================================

第6章 存储结构与磁盘划分

一切从” / “开始

Linux系统中常见的目录名称及相应内容

--★为需要记忆的内容,▲为需要了解的内容

/boot                      开机所需文件—内核、开机菜单以及所需配置文件等
★/dev                     以文件形式存放任何设备与接口
★/etc                      配置文件
★/home                 普通用户家目录
▲/bin                     普通用户执行的命令
/lib                          开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数
▲/sbin                    开机过程中需要的命令(超级用户root执行的命令)
▲/media                 用于挂载设备文件的目录(rhel6之前用/mnt)
/opt                        放置第三方的软件
★/root                   系统管理员的家目录
/srv                        一些网络服务的数据文件目录
/tmp                      任何人均可使用的“共享”临时目录
★/proc                  虚拟文件系统,例如系统内核、进程、外部设备及网络状态等
/usr/local               用户自行安装的软件
/usr/sbin Linux      系统开机时不会使用到的软件/命令/脚本
/usr/share              帮助与说明文件,也可放置共享文件
★/var                     主要存放经常变化的文件,如日志(经常变动的文件)
▲/lost+found        当文件系统发生错误时,将一些丢失的文件片段存放在这里

路径概念

--在Linux系统中另外还有一个重要的概念—路径。路径指的是如何定位到某个文件,分为绝对路径与相对路径。绝对路径指的是从根目录(/)开始写起的文件或目录名称,而相对路径则指的是相对于当前路径的写法

--绝对路径(absolute path)

--相对路径(relative path)

 

 

 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!