资源准备
| 用途 | 操作系统 | IP地址 | 配置 |
|---|---|---|---|
| 服务端 | Kylin-Server-V10-SP3 | 192.168.10.143 | 随意 |
| 客户端 | Kylin-Desktop-V10-SP1 | 192.168.10.142 | 随意 |
注:准备Kylin-Server-V10-SP3操作系统镜像,配置本地yum源用。
服务端部署
服务端:数据目录和用用户准备
# 创建数据目录
mkdir /data/
# 创建用户
useradd sambaadmin
# 赋权
chmod 770 /data
chown sambaadmin.sambaadmin /data
服务端:配置本地yum源
# 创建挂载目录
sudo mkdir /cd
# 挂载镜像
sudo mount /dev/sr0 /cd/
# 备份
sudo cp /etc/yum.repos.d/kylin_x86_64.repo /etc/yum.repos.d/kylin_x86_64.repo_bak
# 编辑本地配置
sudo echo "
[Base-image]
name=base-image
baseurl=file:///cd
enabled=1
gpgcheck=0
">/etc/yum.repos.d/kylinBase.repo
# 清理yum并创建yum源缓存
sudo yum clean all && yum makecache
# 测试yum
sudo yum list |grep ftp
服务端:安装部署Samba
# 安装服务端
sudo yum install -y samba # 结果是已经安装过了,此事为了需要把一些依赖的目录创建出来
# 配置服务端
sudo vim /etc/samba/smb.conf
--------------------------
# 注释部分
#[homes]
# comment = Home Directories
# valid users = %S, %D%w%S
# browseable = No
# read only = No
# inherit acls = Yes
#
#[printers]
# comment = All Printers
# path = /var/tmp
# printable = Yes
# create mask = 0600
# browseable = No
#
#[print$]
# comment = Printer Drivers
# path = /var/lib/samba/drivers
# write list = @printadmin root
# force group = @printadmin
# create mask = 0664
# directory mask = 0775
# 新增部分
[shared]
path = /data
browseable = yes
create mask = 0777
directory mask = 0777
writable = yes
valid users = sambaadmin
--------------------------
- `path = /data`:共享的路径
- `browseable = yes`: 可以被所有用户浏览到资源名称
- `writable = yes`:允许写入。
- `create mask` 和 `directory mask`:设置新文件和目录的默认权限。
- `valid users`:指定允许访问的用户。
# 启动服务&自启动
systemctl enable nmb
systemctl enable smb && systemctl start smb
# 添加 Samba 用户
sudo smbpasswd -a sambaadmin
# 启动服务
systemctl enable smb && systemctl start smb
客户端访问
- 在 Linux 客户端:
sudo mount -t cifs //<服务器IP>/shared /mnt/local_shared -o username=yourusername
- 在 Windows 客户端:
打开文件资源管理器,输入\\<服务器IP>\shared,使用用户名和密码登录。 - Linux图形化(如银河麒麟)
打开文件资源管理器,输入smb//<服务器IP>/shared,使用用户名和密码登录。
Samba服务的验证方式
1. 查看 Samba 使用的端口
- 方式一 使用
netstat或ss
# 服务端
sudo netstat -tuln | grep -E '139|445'
或
sudo ss -tuln | grep -E '139|445'
- 方式二 使用 lsof
sudo lsof -i :139 -i :445
方法 2:检查 Samba 服务状态
Samba 的服务由两个主要组件组成:
smbd:处理文件和打印共享。
nmbd:处理 NetBIOS 名称解析。
- 方法 1:使用
systemctl
sudo systemctl status smb sudo systemctl status nmb
- 方法 2:使用
ps
ps aux | grep smbd
ps aux | grep nmbd
3. 验证防火墙规则
确保防火墙允许 Samba 所需的端口(137-139, 445)通过。
- 方法 1:使用
ufw
sudo ufw allow 137/udp
sudo ufw allow 138/udp
sudo ufw allow 139/tcp
sudo ufw allow 445/tcp
- 方法 2:使用
firewalld
sudo firewall-cmd --add-service=samba --permanent
sudo firewall-cmd --reload
4. 测试 Samba 共享
你可以使用 smbclient 工具测试 Samba 是否正常工作:
# 服务端时
smbclient -L localhost -U%
# 客户端时
smbclient -L 192.168.10.144 -U%
- 192.168.10.144 为samba服务端的IP地址

2万+

被折叠的 条评论
为什么被折叠?



