1 ACL权限管理
1、 查看分区ACL权限是否开启
dumpe2fs –h /dev/sda3
dumpe2fs命令是查询指定分区详细文件系统信息的命令
选项:
-h 仅显示超级块中信息,而不显示磁盘块组的详细信息
2、临时开启分区ACL权限
mount –o remount,acl /
重新挂载根分区,并挂载加入acl权限
3、 永久开启分区ACL权限
vi /etc/fstab
UUID=--------------- / ext4 defaults,acl
加入acl
mount –o remount
重新挂载文件系统或重启动系统,使修改生效
4、 查看ACL命令
getfacl 文件名
查看acl权限
5、 设定ACl权限的命令
setfacl 选项 文件名
选项:
-m 设定ACL权限
-x 删除指定的ACL权限
-b 删除所有的ACL权限
-d 设定默认的ACL权限
-k 删除默认ACL权限
-R 递归设定ACl权限
示例:
useradd zhangsan
useradd lisi
useradd st
groupadd tgroup
mkdir /project
chown root:tgroup /project/
chmod 770 /project/
setfacl –m u:st:rx /project/
给用户st赋予r-x权限,使用“u:用户名:权限”格式
6、 给用户组设定ACL权限
groupadd tgroup2
setfacl –m g:tgroup2:rwx project/
为组group2分配ACL权限。使用“g:组名:权限”格式
7、 最大有效权限mask
mask是用来指定最大有效权限的、如果我给用户赋予了ACl权限,是需要和mask的权限“相与”才能得到用户的真正权限。
8、 删除ACl权限
setfacl –x u:用户名 文件名
删除指定用户的ACL权限
setfacl –x g:组名 文件名
删除指定用户组的ACL权限
setfacl –b 文件名
会删除文件的所有的ACL权限
9、 递归ACL权限
递归是父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限
setfacl –m u:用户名:权限 –R 文件名
10、默认ACL权限
默认ACL权限的作用是如果给父目录设定了默认权限,那么父目录中所有的新建子文件都会继承父目录的ACL权限。
setfacl –m d:u:用户名:权限 文件名
11、setUID的功能
只有可以执行的二进制程序才能设定SUID权限
命令执行者对该程序拥有x(执行)权限
命令执行者在执行该程序时获得该程序文件属主身份(在执行程序的过程中灵魂附体为文件的属主)
SetUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效。
passwd命令拥有setUID权限,所有普通用户可以修改自己的密码。
cat命令没有setUID权限,所以普通用户不能查看/etc/shadow文件内容
12、设定setUID的方法
4代表SUID
chmod 4755 文件名
chmod u+s 文件名
13、危险的setUID
关键目录应严格控制写权限。比如“/”、“/usr”等
用户的密码设置要严格要求遵守密码三原则
对系统中默认应该具有setUID权限的文件做一列表,定时检查有没有这之外的文件被设置了setUID权限。
2 文件系统管理
1、 文件系统查看命令df
df [选项] [挂载点]
选项:
-a 显示所有的文件系统信息,包括特殊文件系统,如/proc、/sysfs
-h 使用习惯单位显示容量,如KB,MB或GB等
-T 显示文件系统类型
-m 以MB为单位显示容量
-k 以KB为单位显示容量。默认就是以KB为单位
2、 统计目录或文件大小(常用统计目录)du
du [选项] [目录或文件名]
选项:
-a 显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
-h 使用习惯单位显示磁盘占用量,如KB,MB或GB等
-s 统计总占用量,而不列出子目录和子文件的占用量
3、 du命令和df命令的区别
df命令是从文件系统考虑的,不光要考虑文件占用的空间,还要统计被命令或持续占用的空间(最常见的就是文件已经删除,但是持续并没有释放空间)
du命令是面向文件的,只会计算文件或目录占用的空间
4、 文件系统修复命令fsck
fsck [选项] 分区设备文件名
选项:
-a 不用显示用户
-y 自动修复。和-a作用一致,不过有些文件系统只支持-y
5、显示磁盘状态命令dumpe2fs
dumpe2fs 分区设备文件名
6、挂载命令
mount [-l]
查询系统中已经挂载的设备,-l会显示卷标名称
mount –a
依据配置文件/etc/fstab的内容,自动挂载
挂载命令格式
mount [-t 文件系统] [-L 卷标名] \ [-o 特殊选项] 设备文件名 挂载点
选项:
-t 文件系统 :加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统
-L 卷标名:挂载指定卷标的分区,而不是安装设备文件名挂载
-o 特殊选项:可以指定挂载的额外选项
mount –o remount,noexec /home
重新挂载/boot分区,并使用noexec权限
cd /home
vi hello.sh
chmod 755 hello.sh
./hello.sh
mount –o remount,exec /home
记得改回来,要不可能影响系统启动
7、挂载光盘和U盘
mkdir /mnt/cdrom/
建立挂载点
mount –t iso9660 /dev/cdrom /mnt/cdrom/
挂载光盘
mount /dev/sr0 /mnt/cdrom/
卸载命令
umount 设备文件名或挂载点
umount /mnt/cdrom
8、挂载U盘
fdisk -l
#查看U盘设备文件名
mount –t vfat /dev/sdb1 /mnt/usb/
注意:linux默认是不支持NTFS文件系统的
9、支持NTFS文件系统
tar -zxvf ntfs-3g_ntfsprogs-2017.3.23.tgz
#解压
cd ntfs-3g_ntfsprogs-2017.3.23/
#进入解压目录
./configure
#编译器准备。没有指定安装目录,安装到默认位置中
make
#编译
make install
#编译安装
使用
mount –t ntfs-3g 分区设备文件名 挂载点
10、fdisk分区
fdisk –l
(1) 使用fdisk命令分区
fdisk /dev/sdb
(2)重新读取分区表信息
partprobe
(3)格式化分区
mkfs –t ext4 /dev/sdb1
11、分配swap分区
free #查看内存与swap分区使用状况
cached(缓存):是指把读取出来的数据保存在内存当中,当再次读取时,不用读取硬盘而直接从内存当中读取,加速了数据的读取过程。
buffer(缓冲):是指在写入数据时,先把分散的写入操作保存到内存中,当达到一定程度再集中写入硬盘,减少了磁盘碎片和硬盘的反复寻道,加速了数据的写入过程。
网友评论