[步骤] CentOS&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>

[步骤] sftp 的搭建

步骤目录:

步骤一:创建 sftp 用户的组

步骤二:创建用于 sftp 的主目录
2.1 创建用于 sftp 的主目录
2.2 设置用于 sftp 的主目录的所属组和所属主
2.3 设置用于 sftp 的主目录的权限

步骤三:开启 sftp 服务
3.1 修改 sshd 配置文件
3.2 重启 sshd 服务

步骤四:创建 sftp 用户
4.1 创建 sftp 用户
4.1.1 创建 sftp 用户
4.1.2 给 sftp 用户设置密码
4.2 创建 sftp 用户的主目录
4.2.1 创建 sftp 用户的主目录
4.2.2 设置 sftp 用户的主目录的所属组和所属主
4.2.3 设置 sftp 用户的主目录的权限
4.3 创建 sftp 用户有写入权限的目录
4.3.1 创建 sftp 用户有写入权限的目录
4.3.2 设置 sftp 用户有写入权限的目录的所属组和所属主
4.3.3 创建 sftp 用户有写入权限的目录的权限

步骤五: sftp 的使用
5.1 登陆 sftp
5.2 sftp 可使用的命令
5.2.1 查看当前目录下的所有文件和目录
5.2.2 创建某一个目录
5.2.3 从被远程的主机上下载一个文件
5.2.4 将本地的一个文件上传到被远程的主机上

具体的操作步骤:

步骤一:创建 sftp 用户的组

# groupadd sftp

步骤二:创建用于 sftp 的主目录
2.1 创建用于 sftp 的主目录

# mkdir /sftp

(补充:这里以创建 /sftp 目录为例)

2.2 设置用于 sftp 的主目录的所属组和所属主

# chown root:sftp /sftp

(补充:这里以给 /sftp 设置 root 主和 sftp 组为例)

2.3 设置用于 sftp 的主目录的权限

# chmod 755 /sftp

(补充:这里以给 /sftp 目录权限为例)

步骤三:开启 sftp 服务
3.1 修改 sshd 配置文件

# vim /etc/ssh/sshd_config

将以下内容:

......
Subsystem       sftp    /usr/libexec/openssh/sftp-server
......

修改为:

......
# Subsystem       sftp    /usr/libexec/openssh/sftp-server
......

并添加以下内容:

......
Subsystem       sftp    internal-sftp
Match Group sftp
ChrootDirectory /sftp/%u
ForceCommand    internal-sftp
AllowTcpForwarding no
X11Forwarding no


补充:这里以
(1)sftp 的所属组是 sftp
(2)以 /sftp/%u 作为 sftp 的家目录
为例

3.2 重启 sshd 服务

# systemctl restart sshd

步骤四:创建 sftp 用户
4.1 创建 sftp 用户
4.1.1 创建 sftp 用户

# useradd -g sftp -s /bin/false sftpuser

(补充:这里以创建名为 sftpuser ,所属组为 sftp,解释器是 /bin/false 的用户为例)

4.1.2 给 sftp 用户设置密码

# passwd sftpuser

(补充:这里以给 sftpuser 用户设置密码为例)

4.2 创建 sftp 用户的主目录
4.2.1 创建 sftp 用户的主目录

# mkdir /sftp/sftpuser

(补充:这里以创建 /sftp/sftpuser 目录为例)

4.2.2 设置 sftp 用户的主目录的所属组和所属主

# chown root:sftp /sftp/sftpuser

(补充:这里以给 /sftp/sftpuser 设置 root 主和 sftp 组为例)

4.2.3 设置 sftp 用户的主目录的权限

# chmod 755 /sftp/sftpuser

(补充:这里以给 /sftp/sftpuser 目录权限为例)

4.3 创建 sftp 用户有写入权限的目录
4.3.1 创建 sftp 用户有写入权限的目录

# mkdir /sftp/sftpuser/write

(补充:这里以创建 /sftp/sftpuser/write 目录为例)

4.3.2 设置 sftp 用户有写入权限的目录的所属组和所属主

# chown sftpuser:sftp /sftp/sftpuser/write

(补充:这里以给 /sftp/sftpuser/write 设置 sftpuser 主和 sftp 组为例)

4.3.3 创建 sftp 用户有写入权限的目录的权限

# chmod 755 /sftp/sftpuser/write

(补充:这里以给 /sftp/sftpuser/write 目录权限为例)

步骤五: sftp 的使用
5.1 登陆 sftp

# sftp sftpuser@127.0.0.0.1

(补充:这里以使用 sftpuser 用户登陆 IP 地址为 127.0.0.1 的 sftp 为例)

5.2 sftp 可使用的命令
5.2.1 查看当前目录下的所有文件和目录

sftp> ls

5.2.2 创建某一个目录

sftp> mkdir test

(补充:这里以创建 test 目录为例)

5.2.3 从被远程的主机上下载一个文件

sftp> get test.txt

(补充:这里以下载 test.txt 文件为例)

5.2.4 将本地的一个文件上传到被远程的主机上

sftp> put local.txt

(补充:这里以上传 local.txt 文件为例)

[实验] CentOS&RHEL 自动挂载服务的搭建 (通过 Autofs 和 NFS 实现) (CentOS 8 版)

纪念:站主于 2020 年 6 月完成了此开源实验,并将过程中的所有命令经过整理和注释以后,形成以下教程

步骤目录:

步骤一:规划拓扑
1.1 服务器列表
1.2 服务器列表简介

步骤二:系统环境要求

步骤三:所有服务器安装 NFS 服务
3.1 所有服务器安装 NFS 服务
3.2 设置所有服务器开机自启 NFS 服务
3.3 所有服务器启动 NFS 服务

步骤四:配置 NFS 服务
4.1 创建用于 NFS 服务的目录
4.1.1 创建被 NFS 服务共享的目录
4.1.2 创建用于自动挂载 NFS 服务分享目录的目录
4.2 配置服务端的 NFS 服务配置文件
4.2.1 在服务端上添加可被 NFS 服务挂载的选项
4.2.2 让刚刚修改的 NFS 服务配置文件生效
4.3 部署客户端的 Autofs 自动挂载服务
4.3.1 安装 Autofs 服务
4.3.2 设置客户端开机自启 Autofs 服务
4.3.3 在客户端上设置 Autofs 自动挂载服务
4.3.3.1 在客户端上设置 Autofs 自动挂载的主配置文件
4.3.3.2 在客户端上设置 Autofs 的从配置文件
4.3.4 让刚刚修改的 Autofs 自动挂载服务配置文件生效

步骤五:查看 Autofs 自动挂载服务是否设置成功
5.1 查看客户端当前的目录挂载情况
5.2 进入到 Autofs 自动挂载的目录
5.3 再次查看客户端当前的目录挂载情况

具体的操作步骤:

步骤一:规划拓扑
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 自动挂载的目录后,自动挂载就在系统中自动出现了)

[命令] Linux 命令 du (统计文件或目录大小)

内容一:du 命令的参数

1) h 以方便人类阅读的方式进行显示
2) s 将所有文件的大小进行相加

内容二:du 命令的使用案例
2.1 案例一:统计当前目录下所有文件的大小,将结果相加

# du -s
104989232

(补充:这里查看到的大小是 104989232)

2.2 案例二:统计某一个目录下所有文件的大小,并以方便人类阅读的方式进行显示

# du -h /etc/
8.0K	/etc/dnf/modules.d
0	/etc/dnf/aliases.d
0	/etc/dnf/modules.defaults.d
0	/etc/dnf/plugins/copr.d
12K	/etc/dnf/plugins
12K	/etc/dnf/protected.d
8.0K	/etc/dnf/vars
44K	/etc/dnf
0	/etc/terminfo
......

2.3 案例三:统计当前目录下所有文件的大小,将结果相加,并以方便人类阅读的方式进行显示

# du -sh
101G	.

(补充:这里查看到的大小是 101 G)

2.4 案例四:统计某个目录的大小,并以方便人类阅读的方式进行显示

# du -sh <file name>

2.5 案例五:统计当前目录的一级子目录的大小,并以方便人类阅读的方式进行显示

# du -h --max-depth=1