# find / -type f \( -perm -1000 -o -perm -2000 -o -perm -4000 \) -print
[内容] Linux acl 权限
案例一:给某 1 个文件或目录添加 acl
1.1 给某 1 个文件或目录添加 1 个用户的 acl
# setfacl -m u:zhumingyu:r-x /var
(补充:这里以在 /var 目录上给 zhumingyu 用户设置读和执行的 acl 权限为例)
(注意:给一个文件或目录添加了 acl 权限以后,更改权限的命令 chmod 对此文件或目录的操作可能会失效)
1.2 给某 1 个文件或目录添加 1 个组的 acl
# setfacl -m g:zhumingyu:r-x /var
(补充:这里以在 /var 目录上给 zhumingyu 组设置读和执行的 acl 权限为例)
(注意:给一个文件或目录添加了 acl 权限以后,更改权限的命令 chmod 对此文件或目录的操作可能会失效)
1.3 递归给某 1 个目录和目录里的所有内容添加 1 个 acl
# setfacl -Rm u:zhumingyu:r-x /var
(补充:这里以在 /var 目录上递归给 zhumingyu 组设置读和执行的 acl 权限为例)
案例二:删除某 1 个文件或目录的 acl
2.1 删除某 1 个文件或目录 1 个用户的 acl
# setfacl -x u:zhumingyu /var
(补充:这里以在 /var 目录上删除 zhumingyu 用户的 acl 权限为例)
2.2 删除某 1 个文件或目录 1 个组的 acl
# setfacl -x g:zhumingyu /var
(补充:这里以在 /var 目录上删除 zhumingyu 组的 acl 权限为例)
2.3 删除某 1 个文件或目录的所有 acl
# setfacl -b /var
(补充:这里以在 /var 目录上删除所有 acl 权限为例)
2.4 递归删除某 1 个文件或目录的 acl
# setfacl -Rx u:zhumingyu:r-x /var
(补充:这里以在 /var 目录上递归删除 zhumingyu 用户的 acl 权限为例)
2.5 递归删除某 1 个文件或目录的所有 acl
# setfacl -Rb /var
(补充:这里以在 /var 目录上递归删除所有 acl 权限为例)
案例三:显示某 1 个文件或目录的 acl
# getfacl /var
(补充:这里以显示 /var 目录的 acl 权限为例)
案例四:备份和还原某个文件或目录的 acl
4.1 备份某 1 个文件或目录的 acl
# getfacl -R /var > /acl.backup
(补充:这里以备份 /var 目录的 acl 权限为例)
4.2 还原某 1 给文件或目录的 acl
# setfacl --restore /acl.backup
(补充:这里以还原 /var 目录的 acl 权限为例)
[步骤] 临时文件或目录的自动删除(CentOS Linux & RHEL 版)
步骤一:创建自动清理临时文件或目录的配置文件
# cp /usr/lib/tmpfiles.d/tmp.conf /etc/tmpfiles.d/
# vim /etc/tmpfiles.d/tmp.conf
将以下内容:
......
q /tmp 1777 root root 10d
......
修改为:
......
q /tmp 1777 root root 5d
......
(补充:这样设置后会将 /tmp 目录下,权限为 1777 超过 5 天的文件或目录删除)
步骤二:自动清理临时文件或目录
# systemd-tmpfiles --clean /etc/tmpfiles.d/tmp.conf
[命令] Linux 命令 rsync (差异同步)
案例一:将一个地方里的所有差异数据同步到另一个地方
# rsync -avDogp <source directory>/* <target directory>
案例二:将一个地方里的所有差异数据同步到另一个地方,并且被同步的地方有的数据而原地方没有的数据都将被删除
# rsync -avDogp --delete <source directory>/* <target directory>
[实验] 自动挂载服务的搭建 (通过 Autofs 和 NFS 实现) (CentOS Linux 8 版)
纪念:站主于 2020 年 6 月完成了此开源实验,并将过程中的所有命令经过整理和注释以后,形成以下教程
步骤一:规划拓扑
1.1 服务器列表
服务端 192.168.101.10
客户端 192.168.101.11
1.2 服务器列表简介
1) 服务器提供 NFS 服务将自己的目录分享
2) 客户端挂载和使用 NFS 服务将服务端分享的目录挂载在自己的目录上
步骤二:系统环境要求
1) 所有服务器的系统都需要是 CentOS 8 版本
2) 所有服务器都要关闭防火墙
3) 所有服务器系统都要配置好可用的软件源
4) 需要按照拓扑图给对应的服务器配置好 IP 地址和主机名
5) 所有服务器都要可以相互 ping 通自己和对方的 IP 地址和主机名
步骤三:所有服务器安装 NFS 服务
3.1 所有服务器安装 NFS 服务
(分别在服务端和客户端上执行以下步骤)
# yum -y install rpcbind nfs-utils
3.2 设置所有服务器开机自启 NFS 服务
(分别在服务端和客户端上执行以下步骤)
# systemctl enable nfs-server
3.3 所有服务器启动 NFS 服务
(分别在服务端和客户端上执行以下步骤)
# systemctl start nfs-server
步骤四:配置 NFS 服务
4.1 创建用于 NFS 服务的目录
4.1.1 创建被 NFS 服务共享的目录
(只在服务端上执行以下步骤)
# mkdir /nfsshare
4.1.2 创建用于自动挂载 NFS 服务分享目录的目录
(只在客户端上执行以下步骤)
# mkdir /autofs
4.2 配置服务端的 NFS 服务配置文件
4.2.1 在服务端上添加可被 NFS 服务挂载的选项
(只在服务端上执行以下步骤)
# vim /etc/exports
添加以下内容:
......
/nfsshare 192.168.101.0/24(rw,sync,no_root_squash,no_subtree_check)
(补充:这里的 192.168.101.0.24 是客户端的 IP 地址所在的网段)
4.2.2 让刚刚修改的 NFS 服务配置文件生效
(只在服务端上执行以下步骤)
# exportfs -a
4.3 部署客户端的 Autofs 自动挂载服务
4.3.1 安装 Autofs 服务
(只在客户端上执行以下步骤)
# yum -y install autofs
4.3.2 设置客户端开机自启 Autofs 服务
(只在客户端上执行以下步骤)
# systemctl enable autofs
4.3.3 在客户端上设置 Autofs 自动挂载服务
4.3.3.1 在客户端上设置 Autofs 自动挂载的主配置文件
(只在客户端上执行以下步骤)
# vim /etc/auto.master
将以下内容:
......
#
/misc /etc/auto.misc
#
......
修改为:
......
/misc /etc/auto.misc
/autofs /etc/auto.autofs
......
(补充:在这里指定了 /etc/auto.autofs 为 Autofs 的从配置文件,并且将 autofs 的主目录设置为 /autofs)
4.3.3.2 在客户端上设置 Autofs 的从配置文件
(只在客户端上执行以下步骤)
# cp /etc/auto.misc /etc/auto.autofs
# vim /etc/auto.autofs
将以下内容:
......
cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
......
修改为:
......
cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
directory01 -fstype=nfs,rw 192.168.101.10:/nfsshare
......
(补充:在这里指定了 Autofs 的次级目录为 directory01,即:/autofs/directory01)
4.3.4 让刚刚修改的 Autofs 自动挂载服务配置文件生效
(只在客户端上执行以下步骤)
# systemctl restart autofs
步骤五:显示 Autofs 自动挂载服务是否设置成功
5.1 显示客户端当前的目录挂载情况
(只在客户端上执行以下步骤)
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 957M 0 957M 0% /dev
tmpfs 971M 0 971M 0% /dev/shm
tmpfs 971M 17M 954M 2% /run
tmpfs 971M 0 971M 0% /sys/fs/cgroup
/dev/vda1 10G 1.6G 8.5G 16% /
tmpfs 195M 0 195M 0% /run/user/0
5.2 进入到 Autofs 自动挂载的目录
(只在客户端上执行以下步骤)
# cd /autofs/directory01
5.3 再次显示客户端当前的目录挂载情况
(只在客户端上执行以下步骤)
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 957M 0 957M 0% /dev
tmpfs 971M 0 971M 0% /dev/shm
tmpfs 971M 17M 955M 2% /run
tmpfs 971M 0 971M 0% /sys/fs/cgroup
/dev/vda1 10G 1.6G 8.5G 16% /
tmpfs 195M 0 195M 0% /run/user/0
192.168.101.10:/nfsshare 10G 1.6G 8.5G 16% /autofs/directory01
(补充:在进入到 Autofs 自动挂载的目录后,自动挂载就在系统中自动出现了)