CentOS 配置SSH 服务

点击查看教程

1、更新软件包+安装 openssh-server

1
yum -y update && yum install -y openssl openssh-server

2、查看SSH配置文件

1
cat /etc/ssh/sshd_config

3、修改‮置配‬文件

1
2
3
4
5
6
sed -i.bak \
-e '/Port 22/ a Port 22' \
-e '/PermitRootLogin/ a PermitRootLogin yes' \
-e '/ClientAliveInterval/ a ClientAliveInterval 10' \
-e '/ClientAliveCountMax/ a ClientAliveCountMax 999' \
/etc/ssh/sshd_config

4 、重启 SSH 服务

1
systemctl restart sshd && hostname -I
具体配置配置说明
Port 22SSH 服务监听端口
PermitRootLogin yes允许 root 用户通过 SSH 登录
GSSAPIAuthentication no禁用 GSSAPI 认证以提高安全性
UseDNS no禁用 DNS 反向解析,加快 SSH 连接速度
ClientAliveInterval 10每 10 秒发送一次保活消息给客户端
ClientAliveCountMax 999允许客户端连续 999 次无响应才断开连接

CentOS 配置 samba 服务

点击查看教程

一 、samba 基础设置
1 、更新软件包+安装samba+samba服务开机自启+重启samba服务

1
yum update && yum install samba && sudo systemctl enable smb && sudo systemctl restart smb

2 、创建admin用户+设置admin用户密码

1
useradd admin && smbpasswd -a admin

二 、CentOS为服务端samba配置

1 、备份samba配置文件

1
cp -i /etc/samba/smb.conf /etc/samba/smb.conf.bak && cd /etc/samba && ls

2 、方法一、覆盖samba服务配置文件+修改/mnt目录的权限+重启samba服务+查看IP地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
mkdir -pm 755 /mnt && chmod +x /etc/samba/smb.conf && cat > /etc/samba/smb.conf <<'EOF'
###################################
######## samba全局配置 ########
[global]
## 设置工作组名称
workgroup = WORKGROUP
## 设置非活动连接被关闭的时间(分钟)
deadtime = 99
## 服务器描述字符串
server string = Samba on CentOS
## 设置网络基本输入/输出系统(NetBIOS)名称
netbios name = CentOS
## Unix字符集设置为UTF-8
unix charset = UTF-8
## 禁用核心转储
enable core files = no
## 设置安全模式为用户级别
security = user
## 将未知用户映射为访客
map to guest = Bad User
## 设置socket选项,优化网络传输性能
socket options = IPTOS_LOWDELAY TCP_NODELAY
## 设置最大传输单元大小
max xmit = 131072
## 设置最小接收文件大小,用于异步I/O操作
min receivefile size = 131072
## 启用假的机会锁
fake oplocks = Yes
## 启用sendfile系统调用,提高文件传输效率
use sendfile = Yes
## 设置异步I/O读取阈值,0表示禁用
aio read size = 0
## 设置异步I/O写入阈值,0表示禁用
aio write size = 0
## 设置服务器支持的最低SMB协议版本
server min protocol = NT1
## 允许使用NTLMv1认证方式
ntlm auth = ntlmv1-permitted
## 禁用自动加载printcap打印机
load printers = No
## 设置打印服务不使用printcap
printcap name = /dev/null
## 禁用SPOOLSS服务
disable spoolss = yes
## 设置打印机状态信息的解释方式
printing = bsd
## 设置通过MDNS广告的服务器名称
mdns name = mdns
## 设置Samba不共享的文件和目录列表
veto files = /Thumbs.db/.DS_Store/._.DS_Store/.apdisk/
## 允许删除只包含veto文件的目录
delete veto files = yes
# 设置无效用户
# invalid users = root
## 指定服务器应该监听 SMB 流量的端口。
## 139 是 netbios/nmbd
# smb ports = 445 139

######## 我的samba共享设置 ########
[CentOS]
## 这是我的共享名称
comment = mysamba
## 共享目录的路径
path = /mnt
## 指定共享是否应该在网络邻居中被浏览到,yes显示共享名称,no隐藏共享名称。
browseable = yes
## 是否允许用户写入此共享,yes为可写入,no为不可写入。
writeable = yes
## 指定共享用户是否可读写,yes为只读,no为读写。
read only = no
## 新建文件的默认权限掩码
create mask = 0777
## 新建目录的默认权限掩码
directory mask = 0777
## 允许访客否
guest ok = no
## 强制用户为root
force user = root
## 强制组为root
force group = root
## 定义管理员用户列表
admin users = admin
## 定义允许访问此共享的有效用户列表,也可以是组名(以 @ 开头)
valid users = admin,root
## 要求密码访问
password required = yes
## 共享是否可用, yes为显示共享,no 为隐藏共享
available = yes
## 对于Apple文件进行编码
fruit:encoding = native
## 对于Apple文件元数据
fruit:metadata = stream
## 设置为 no 表示Samba不会拒绝AppleDouble文件
fruit:veto_appledouble = no
## 这些VFS模块可以增强Samba服务器的功能
vfs objects = catia fruit streams_xattr
EOF

chown admin /mnt/ && systemctl restart smb && hostname -i

3 、方法二、追加samba服务配置文件+修改/mnt目录的权限+重启samba服务+查看IP地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
mkdir -pm 755 /mnt && chmod +x /etc/samba/smb.conf && tee -a /etc/samba/smb.conf <<'EOF'
###################################
######## 我的samba共享设置 ########
[CentOS]
## 这是我的共享名称
comment = mysamba
## 共享目录的路径
path = /mnt
## 指定共享是否应该在网络邻居中被浏览到,yes显示共享名称,no隐藏共享名称。
browseable = yes
## 是否允许用户写入此共享,yes为可写入,no为不可写入。
writeable = yes
## 指定共享用户是否可读写,yes为只读,no为读写。
read only = no
## 新建文件的默认权限掩码
create mask = 0777
## 新建目录的默认权限掩码
directory mask = 0777
## 允许访客否
guest ok = no
## 强制用户为root
force user = root
## 强制组为root
force group = root
## 定义管理员用户列表
admin users = admin
## 定义允许访问此共享的有效用户列表,也可以是组名(以 @ 开头)
valid users = admin,root
## 要求密码访问
password required = yes
## 共享是否可用, yes为显示共享,no 为隐藏共享
available = yes
## 对于Apple文件进行编码
fruit:encoding = native
## 对于Apple文件元数据
fruit:metadata = stream
## 设置为 no 表示Samba不会拒绝AppleDouble文件
fruit:veto_appledouble = no
## 这些VFS模块可以增强Samba服务器的功能
vfs objects = catia fruit streams_xattr
EOF

chown admin /mnt/mydisk && systemctl restart smb && hostname -i

4 、方法三、一键开启SMB脚本(追加内容)

下面是一‮便个‬捷开启Smb‮脚的‬本,并且配置了CentOS目‮的录‬共享。默认共享‮号账‬为admin,密码为mobufan

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
touch ~/smb.sh && cat > /smb.sh <<'EOF'
#!/bin/bash
yum update -y && yum install samba -y
mkdir -pm 755 /mnt && cat >>/etc/samba/smb.conf <<'MYENDMARK'
[CentOS]
## 这是我的共享名称
comment = mysamba
## 共享目录的路径
path = /mnt
## 指定共享是否应该在网络邻居中被浏览到,yes显示共享名称,no隐藏共享名称。
browseable = yes
## 是否允许用户写入此共享,yes为可写入,no为不可写入。
writeable = yes
## 指定共享用户是否可读写,yes为只读,no为读写。
read only = no
## 新建文件的默认权限掩码
create mask = 0777
## 新建目录的默认权限掩码
directory mask = 0777
## 允许访客否
guest ok = no
## 强制用户为root
force user = root
## 强制组为root
force group = root
## 定义管理员用户列表
admin users = admin
## 定义允许访问此共享的有效用户列表,也可以是组名(以 @ 开头)
valid users = admin,root
## 要求密码访问
password required = yes
## 共享是否可用, yes为显示共享,no 为隐藏共享
available = yes
## 对于Apple文件进行编码
fruit:encoding = native
## 对于Apple文件元数据
fruit:metadata = stream
## 设置为 no 表示Samba不会拒绝AppleDouble文件
fruit:veto_appledouble = no
## 这些VFS模块可以增强Samba服务器的功能
vfs objects = catia fruit streams_xattr
MYENDMARK

## 新建admin用户 && 为admin用户创建两次`mobufan`密码
useradd admin && (echo mobufan; echo mobufan) | smbpasswd -a -s admin
systemctl restart smb
EOF

chmod +x ~/smb.sh && bash smb.sh
1
cat /smb.sh ## 查看脚本

三 、CentOS 8为samba客户端配置(追加内容)

1
2
3
4
5
6
7
8
yum update && yum install samba && sudo systemctl enable smb && sudo systemctl restart smb && mkdir -pm 755 /mnt/ARS2-SMB && tee -a /etc/fstab <<'EOF'
## CentOS 8为samba客户端配置(追加内容)
## 服务器地址和共享名:10.10.10.251/ARS2,挂载到本地路径: /mnt/ARS2-SMB,账户:root,密码:mobufan
//10.10.10.251/ARS2 /mnt/ARS2-SMB cifs username=root,password=mobufan 0 0

EOF

reboot

四 、验证samba服务

1 、安装smbclient

1
yum update && yum install samba-client

2 、验证samba服务

1
smbclient //10.10.10.246/ContOS -U admin ## 输入密码后,ls看一下,ctrl+c退出

3 、查询有没有安装samba,查询命令如下:

1
rpm -qa|grep samba

4 、查看samba服务状态

1
systemctl status smb

5 、查看samba用户

1
pdbedit -L

6 、添加root用户到samba—可以忽略

1
smbpasswd -a root

CentOS 配置 NFS 服务

点击查看教程
  • 安装NFS依赖包+启动NFS服务+开机自启动NFS服务+NFS状态查看
1
yum clean all; yum -y install nfs-utils rpcbind; yum clean all; yum -y install nfs-utils rpcbind; systemctl status rpcbind.service; systemctl status rpcbind.service

一、CentOS 9_服务端NFS配置

1
2
3
4
5
6
7
mkdir -pm 755 /mnt/mydisk && chmod +x /etc/exports && cat > /etc/exports <<'EOF' 
## 覆盖/etc/exports内容
## NFS 共享将被挂载到 /mnt/mydisk 目录,并赋予相关权限
/mnt/mydisk *(rw,fsid=0,no_subtree_check,no_root_squash,insecure,sync)
EOF
## 让编辑生效命令+重启NFS服务
exportfs -r && systemctl restart nfs-server.service

二、CentOS 9客户端NFS配置
1、临时挂载NFS服务

1
2
3
4
5
6
7
8
9
10
11
## 临时挂载10.10.10.251服务器的/mnt/mydisk文件夹,挂载到本地的/mnt/ARS2-NFS文件夹
mkdir -pm 755 /mnt/ARS2-NFS && chmod +x /etc/exports && mount -t nfs -o rw 10.10.10.251:/mnt/mydisk /mnt/ARS2-NFS && df -hT /mnt/*

## 临时挂载10.10.10.254服务器的/mnt/ntfs文件夹,挂载到本地的/mnt/PVE-NFS文件夹
mkdir -pm 755 /mnt/PVE-NFS && chmod +x /etc/exports && mount -t nfs -o rw 10.10.10.254:/mnt/ntfs /mnt/PVE-NFS && df -hT /mnt/*

## 临时挂载10.10.10.245服务器的/mnt/mydisk文件夹,挂载到本地的/mnt/Debian-NFS文件夹
mkdir -pm 755 /mnt/Debian-NFS && chmod +x /etc/exports && mount -t nfs -o rw 10.10.10.247:/mnt/mydisk /mnt/Debian-NFS && df -hT /mnt/*

## 临时挂载10.10.10.247服务器的/mnt/mydisk文件夹,挂载到本地的/mnt/Ubuntu-NFS文件夹
mkdir -pm 755 /mnt/Ubuntu-NFS && chmod +x /etc/exports && mount -t nfs -o rw 10.10.10.247:/mnt/mydisk /mnt/Ubuntu-NFS && df -hT /mnt/*

2、永久挂载NFS服务
方法 1、覆盖NFS配置文件/etc/fstab

1
2
3
4
5
6
7
8
9
10
11
12
13
mkdir -pm 755 /mnt/ARS2-NFS /mnt/PVE-NFS /mnt/Debian-NFS && chmod +x /etc/exports && cat > /etc/fstab <<'EOF'
## 覆盖/etc/fstab文件
## 将10.10.10.251服务器的/mnt/mydisk文件夹,挂载到本地的/mnt/ARS2-NFS文件夹
10.10.10.251:/mnt/mydisk /mnt/ARS2-NFS nfs nofail,x-systemd.device-timeout=15s 0 0

## 将10.10.10.254服务器的/mnt/ntfs文件夹,挂载到本地的/mnt/PVE-NFS文件夹
10.10.10.254:/mnt/ntfs /mnt/PVE-NFS nfs nofail,x-systemd.device-timeout=15s 0 0

## 将10.10.10.245服务器的/mnt/mydisk文件夹,挂载到本地的/mnt/Debian-NFS文件夹
10.10.10.245:/mnt/mydisk /mnt/Debian-NFS nfs nofail,x-systemd.device-timeout=15s 0 0
EOF
# 覆盖/etc/fstab文件
reboot

方法 2、追加NFS配置文件/etc/fstab

1
2
3
4
5
6
7
mkdir -pm 755 /mnt/ARS2-NFS && chmod +x /etc/exports && cat >>/etc/fstab <<EOF
## 追加一条,挂载ARS2服务器NFS
## 将10.10.10.251服务器的/mnt/mydisk文件夹,挂载到本地的/mnt/ARS2-NFS文件夹
10.10.10.251:/mnt/mydisk /mnt/ARS2-NFS nfs nofail,x-systemd.device-timeout=15s 0 0
EOF

reboot

三、取消挂载命令

1 、查看NFS挂载目录

1
df -hT /mnt/*
  • NFS挂载目录详情

|:—:|:—:|:—:|:—:|:—:|:—:|:—:|
|文件系统|类型 |大小|已用|可用|已用%|挂载点|
|10.10.10.251:/mnt/mydisk | nfs| 2.7T| 1.8T | 823G| 69% | /mnt/ARS2-NFS|
|10.10.10.254:/mnt/ntfs| nfs | 932G| 216G | 717G| 24% | /mnt/PVE-NFS|
|10.10.10.247:/mnt/mydisk| nfs| 16G | 7.9G| 6.9G | 54%| /mnt/Ubuntu-NFS|

2 、取消挂载命令

1
umount /mnt/ARS2-NFS && df -hT /mnt/* # 这些是本地目录

四 、查看NFS共享目录
1、查看客户端NFS共享

1
showmount -e 10.10.10.254 # 客户端查看NFS共享

2 、查看本机NFS共享目录

1
showmount -e # 本机查看NFS共享

3 、查看所有NFS服务器挂载目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
touch ./check_nfs_shares.sh && cat > ./check_nfs_shares.sh <<EOF
#!/bin/bash
echo -e "-----------------------"
echo -e "\E[1;31m$(showmount -e 10.10.10.242 | sed 's/^Export list for //')\E[0m"
echo -e "-----------------------"
echo -e "\E[1;31m$(showmount -e 10.10.10.252 | sed 's/^Export list for //')\E[0m"
echo -e "-----------------------"
echo -e "\E[1;31m$(showmount -e 10.10.10.243 | sed 's/^Export list for //')\E[0m"
echo -e "-----------------------"
echo -e "\E[1;31m$(showmount -e 10.10.10.254 | sed 's/^Export list for //')\E[0m"
echo -e "-----------------------"
echo -e "\E[1;31m$(showmount -e 10.10.10.251 | sed 's/^Export list for //')\E[0m"
echo -e "-----------------------"
echo -e "\E[1;31m$(showmount -e 10.10.10.245 | sed 's/^Export list for //')\E[0m"
echo -e "-----------------------"
echo -e "\E[1;31m$(showmount -e 10.10.10.246 | sed 's/^Export list for //')\E[0m"
echo -e "-----------------------"
echo -e "\E[1;31m$(showmount -e 10.10.10.247 | sed 's/^Export list for //')\E[0m"
echo -e "-----------------------"
EOF

chmod +x ./check_nfs_shares.sh && ./check_nfs_shares.sh