Ubuntu 25.04

系统版本:Ubuntu 25.04 桌面版

Ubuntu 基础配置

查看 Ubuntu 桌面版本:gnome-shell --version

点击查看教程

换国内软件源

  • 备份软件源配置文件
1
sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak
  • 修改软件源
1
sudo vim /etc/apt/sources.list.d/ubuntu.sources
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
清华源
Types: deb
URIs: http://mirrors.tuna.tsinghua.edu.cn/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg


中科大源
Types: deb
URIs: http://mirrors.ustc.edu.cn/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

阿里源
Types: deb
URIs: http://mirrors.aliyun.com/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

网易源
Types: deb
URIs: http://mirrors.163.com/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

更新软件源

1
sudo apt-get update && sudo apt-get upgrade

添加家目录

  • 在root模式下就可以使用 cd ~/下载 或者 cd $HOME/下载 ,进入到下载目录
  • /home/mobufan 修改为自己的
1
echo 'export HOME=/home/mobufan' >> ~/.bashrc && source ~/.bashrc

Ubuntu 配置SSH服务

点击查看教程

1 、安装SSH服务器
更新软件索引+安装SSH服务器

1
sudo apt update && sudo apt install openssh-server

2 、检查SSH服务的状态

1
sudo systemctl status ssh

如果服务正在运行,你将看到“active (running)”的状态信息。

3 、备份 SSH 配置文件

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

4 、SSH服务开启、设置、检查

1
sudo systemctl start ssh && sudo systemctl enable ssh && sudo systemctl status ssh

没有报错说明SSH服务开启成功,按Ctrl+Z退出

5 、检查防火墙设置
使用以下命令允许22号端口通过Ubuntu防火墙:

1
sudo ufw allow ssh

6 、查看IP地址

1
hostname -I | awk '{print $1}'

Ubuntu 配置 samba 共享

点击查看教程

一 、Ubuntu_samba共享 基本设置

1 、更新软件包+安装 samba+新建共享文件夹并添加权限

1
sudo apt update && sudo apt install samba -y && sudo mkdir -p -m 777 /mnt/mydisk

2 、创建Samba账户+添加用户admin到smb共享组+设置共享密码

创建Samba账户

1
sudo adduser admin && sudo gpasswd sambashare -a admin && sudo smbpasswd -a admin

3 、启动smba共享服务

1
sudo systemctl restart smbd.service nmbd.service

二 、Ubuntu为服务端samba配置

1 、备份samba配置文件

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

2 、方法一 、覆盖samba服务配置文件+重启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
sudo mkdir -pm 755 /mnt && sudo chmod +x /etc/samba/smb.conf && sudo cat > /etc/samba/smb.conf <<'EOF'
###################################
######## samba全局配置 ########
[global]
## 设置工作组名称
workgroup = WORKGROUP
## 设置非活动连接被关闭的时间(分钟)
deadtime = 99
## 服务器描述字符串
server string = Samba on Ubuntu
## 设置网络基本输入/输出系统(NetBIOS)名称
netbios name = Ubuntu
## 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共享设置 ########
[Ubuntu]
## 这是我的共享名称
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

sudo systemctl restart smbd && sudo hostname -I

3 、方法二 、追加samba服务配置文件+重启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
sudo mkdir -pm 755 /mnt && sudo chmod +x /etc/samba/smb.conf && sudo tee -a /etc/samba/smb.conf <<'EOF'
###################################
######## 我的samba共享设置 ########
[Ubuntu]
## 这是我的共享名称
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

sudo systemctl restart smbd && sudo hostname -I

4 、方法三 、一键开启SMB脚本(追加内容)
下面是一‮便个‬捷开启Smb‮脚的‬本,并且配置了Ubuntu目‮的录‬共享。默认共享‮号账‬为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
sudo touch ~/smb.sh && sudo cat > /smb.sh <<'EOF'
#!/bin/bash
sudo apt update && sudo apt install samba -y
sudo mkdir -pm 755 /mnt && sudo cat >>/etc/samba/smb.conf <<'MYENDMARK'
######## 我的samba共享设置 ########
[Ubuntu]
## 这是我的共享名称
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用户创建两次密码
useradd admin && (echo mobufan; echo mobufan) | smbpasswd -a -s admin && sudo systemctl restart smbd
EOF

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

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

1 、Ubuntu为samba客户端配置(追加内容)

1
2
3
4
5
6
7
sudo apt update && sudo apt install samba -y && mkdir -pm 755 /mnt/ARS2-SMB && tee -a /etc/fstab <<'EOF'
## Ubuntu为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

2 、查看samba用户

1
sudo pdbedit -L

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

1
sudo smbpasswd -a root

四 、其他非必要的命令

1 、如果您有UFW防火墙运行,允许Samba通过:

1
sudo ufw allow samba

2 、关闭 samba 服务命令:

1
sudo service smbd stop

3 、启动 samba 服务命令:

1
sudo service smbd start

4 、重启 samba 服务命令:

1
sudo service smbd restart

Ubuntu 配置 NFS 服务

点击查看教程
  • 安装NFS客户端软件
1
sudo apt update && sudo apt install nfs-kernel-server nfs-common -y

一、Ubuntu为服务端,NFS的配置

1 、挂载/mnt/mydisk为共享目录

1
2
3
4
5
6
sudo mkdir -pm 755 /mnt/mydisk && sudo chmod +x /etc/exports && sudo cat > /etc/exports <<'EOF'
## 挂载/mnt/mydisk为共享目录
/mnt/mydisk *(rw,fsid=0,no_subtree_check,no_root_squash,insecure,sync)
EOF

sudo exportfs -r ## 让编辑生效命令

2 、重启nfs服务器

1
sudo service nfs-kernel-server restart ## 重启nfs服务器
  • 或者
1
sudo /etc/init.d/nfs-kernel-server restart ## 重启nfs服务器

二、Ubuntu为客户端,NFS的配置

挂载10.10.10.251服务器的/mnt/mydisk目录,为本地/mnt/mydisk/NFS/ARS2

1、临时挂载NFS服务

1
2
3
4
5
6
7
8
## 临时挂载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/*

2、永久挂载NFS服务

方法 1、覆盖NFS配置文件/etc/fstab

1
2
3
4
5
6
7
8
9
sudo mkdir -pm 755 /mnt/ARS2-NFS /mnt/PVE-NFS /mnt/Debian-NFS && sudo chmod +x /etc/exports && sudo cat > /etc/fstab <<'EOF'
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 nfs nofail,x-systemd.device-timeout=15s 0 0

10.10.10.245:/mnt/mydisk /mnt/Debian-NFS nfs nofail,x-systemd.device-timeout=15s 0 0
EOF

sudo reboot

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

1
2
3
4
5
6
sudo mkdir -pm 755 /mnt/Alpine-NFS && sudo chmod +x /etc/exports && sudo cat >>/etc/fstab <<'EOF'
# 追加一条,挂载Alpine服务器NFS
10.10.10.242:/mnt/mydisk /mnt/Alpine-NFS nfs nofail,x-systemd.device-timeout=15s 0 0
EOF

sudo reboot

三、取消挂载命令

1 、查看NFS挂载目录

1
df -hT /mnt/*
  • 挂载目录详情
文件系统类型大小已用可用已用%挂载点
10.10.10.251:/mnt/mydisknfs2.7T1.8T823G69%/mnt/ARS2-NFS
10.10.10.254:/mnt/ntfsnfs932G216G717G24%/mnt/PVE-NFS
10.10.10.247:/mnt/mydisknfs16G7.9G6.9G54%/mnt/Ubuntu-NFS

2 、取消挂载命令

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

四 、查看NFS共享目录

1、查看客户端NFS共享

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

2 、查看本机NFS共享目录

1
sudo 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