文件高级权限与文件系统
文件高级权限
默认权限
- 文件
最大666
- 目录
最大777
- umask
root用户 022
普通用户 002
文件特殊权限
-
suid:以文件拥有人的身份执行程序(不能用在脚本上),二进制可执行文件/程序 chmod u+s 4---; 赋予suid,x位会变s,如本来没有x权限,变为S。
- 设置在文件上
-
sgid:以文件拥有组的身份执行程序(不能用在脚本上),二进制可执行文件/程序 用在目录上,该目录下创建的所有文件和目录的拥有组都继承该目录的拥有组, chmod g+s 2---;
-
stciky/sbit:公共目录,每个用户只能管理自己的文件,root除外。chmod o+t 1---
ACL权限
设置ACL权限 会改变文件的mask值,默认权限,文件的mask值,默认权限可能会影响用户设置的acl权限
setfacl 设置acl权限
getfacl 查看acl权限
- setfacl -m 设置和修改文件的acl权限
命令 | 功能 |
---|---|
setfacl -m u:user1:rwx /file | 给指定用户设置acl权限 |
setfacl -m u::rwx /file | 给文件的拥有人设置acl权限 |
setfacl -m g:group1:rwx /file | 给指定组设置acl权限 |
setfacl -m g::rwx /file | 给文件拥有组设置acl权限 |
setfacl -m o::rx /file | 给文件其他人设置acl权限 |
setfacl -m m::rwx /file | 设置文件的mask值 |
-n 可以避免设置acl权限时影响文件的mask值
-
setfacl -x 删除单个acl权限 :setfacl -x u:user1 /file
-
setfacl -b 清空文件的acl权限 setfacl -b /file
-R 递归acl权限
-
设置默认的acl权限,一般设置于目录 setfacl -m d:u:user1:rwx /directory
用户提权
sudo命令
sudo提权设置
配置文件 /etc/sudoers /etc/sudoers.d/*
配置文件语法
- 支持别名,别名要大写
- 主机别名:Host_Alias 主机别名 = 主机1,主机2
- 用户别名:User_Alias 用户别名 = 用户1, 用户2
- 命令别名:Cmnd_Alias 命令别名 = 命令1,命令2
文件系统
- inode block
- 软连接和硬连接
- cp、mv、和rm与inode的关系
文件系统和设备
- 块设备命名
- IDE设备:/dev/hda......
- SATA/SAS/USB: /dev/sda.....
- virtio-blk超虚拟化存储: /dev/vda..
- NVMe设备:/dev/nvme0 n1
- 逻辑卷:/dev/mapper/*
- Linux下的各种文件系统
- 本地文件系统:ext2 ext3 ext4 xfs
- 网络文件系统:NFS、CIFS
- 集群文件系统:GFS、GFS2
- 分布式文件系统:CEPGH
- 光盘:iso9660
inode
inode表是文件系统上的所有文件的列表
inode用来存储文件的元数据信息:
- 文件的类型、权限、uid和gid
- 文件的链接数
- 文件的大小和时间戳
- 文件数据块在磁盘上的块指针
- 文件的其他信息
ls -i file #查看文件的inode号
#系统通过inode号来识别文件,人通过文件名来识别文件,inode号不记录文件名
#文件名和inode号的映射关系存放在目录
- | 数据 | 元数据 |
---|---|---|
文件 | 文本内容或者二进制数据 | 文件的属性信息 |
目录 | 文件名和inode的映射关系 | 目录的属性信息 |
cp和inode的关系
- 分配一个新的inode号,并添加到inode表中,
- 在新的目录下,将该inode号关联一个文件名
- 数据拷贝到新文件,占用新的数据块
mv和inode的关系
- 在同一个文件系统内进行mv
- 在新的目录下创建记录关联原文件inode和新的文件名
- 删除就的目录虾米那该文件名与inode的映射关系
- 数据不移动,保留部分元数据的属性信息
- 在不同文件系统进行mv
- 相当于cp和rm
rm和inode的关系
链接
- 硬链接
- 软链接
查看文件系统的使用情况
- df 查看已挂载的文件系统的使用情况
-h 单位换算位M和G
-i 查看你inode使用情况
-T 查看文件系统类型
- du 查看目录的大小
-h -s查看目录汇总的大小
挂载和卸载文件系统
mount 文件系统 挂载点
umount 挂载点/文件系统
文件打包压缩
压缩
gzip/gunzip
bzip2/bunzip2
xz/unxz
-k 可以保留原文件进行压缩
打包
打包一般是打包目录
-J 使用xz压缩