RHEL9 使用Samba
RHEL 9中安装使用Samba实现局域网内文件共享
本文记录我在RHEL9中安装和配置Samba实现局域网内电脑间文件共享功能。主要包括:
- 安装Samba
- 配置Samba
- 客户端使用Samba
为什么使用Samba
我的需求:
- 局域网内机器能使用同一密码访问RHEL 9上的某个共享文件夹以分享文件
- 必须密码登录,不允许guest访问
- 该用户名/密码只能用于此文件共享服务
- 客户端电脑无需再额外安装各种客户端软件
综合比较了FTP Server,NFS, Samba等各方案,发现还是以前用的Samba最适合。FTP 和NFS都需要客户端电脑进行额外配置。
结合ChatGPT的答案,快速实现了配置并使用。
RHEL 9安装Samba
安装很简单,一行命令解决:
1 |
|
RHEL 9配置Samba
创建Samba服务专用用户账户
为Samba创建1个Linux 用户share,但此用户没有自己的home目录和登录权限, 它不是一个常规的Linux用户
1
2
3sudo useradd -M -s /sbin/nologin share
# -M: no home directory
# -s /sbin/nologin this /sbin/nologin shell has no login为此用户share设置一个密码:
1
sudo smbpasswd -a share
激活此Smaba用户share:
1
sudo smbpasswd -e share
配置Samba服务分享目录
创建1个用于文件共享的目录
/srv/samba/shared
并配置合理权限:1
2
3sudo mkdir -p /srv/samba/shared
sudo chown -R share:share /srv/samba/shared
sudo chmod -R 0775 /srv/samba/shared修改SELinux 安全上下文以允许Samba访问该共享文件夹。
1
2
3#sudo setsebool -P samba_enable_home_dirs on
#允许Samba访问用户的home目录,这里用不到,因为share用户无home目录
sudo chcon -R -t samba_share_t /srv/samba/shared修改Smaba配置文件以添加新的共享:
1
2
3
4
5
6
7
8
9[FamilyShare] # this will be used in client access URL
path = /srv/samba/shared
valid users = share
read only = no
browseable = yes
writable = yes
guest ok = no
create mask = 0775
directory mask = 0775配置防火墙使Samba服务仅对局域网内电脑
10.0.0.x
可用1
2
3sudo firewall-cmd --permanent --zone=home --add-service=samba
sudo firewall-cmd --permanent --zone=home --add-source=10.0.0.0/24
sudo firewall-cmd --reload启动Samba服务:
1
2
3
4
5
6sudo systemctl start smb
sudo systemctl enable smb
# 如果想使用服务器名字而不是IP形式访问,则还需要下面两条命令:
sudo systemctl start nmb
sudo systemctl enable nmb
客户端使用Samba
Windows 用户:
打开文件浏览器,输入
\\serverIP\FamilyShare
MacOS 用户:
打开Finder,
Go > Connect to Server
,输入serverIP
RHEL9 使用Samba
https://pub.zangchuantao.com/20240818/RHEL9-Samba-FileShare.html