接续第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命令具有如下功能
--验证密码的后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
[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)
来源:oschina
链接:https://my.oschina.net/190211/blog/3178835