安装samba

使用命令行进行配置简单的文件共享服务器只要安装 sambasamba-common 就够了。

sudo dnf install samba samba-common

默认安装的是samba 4

smb 服务

启动systemd中的smb服务。

sudo systemctl enable --now smb

--now 参数的作用是注册开机启动的同时立即启动服务,这样就不用再输一条 systemctl start smb 了。

添加用户

先添加linux用户。例如,想要添加samba用户yda,密码是samba的话,需要先在samba服务器上创建一个 linux用户,名字叫yda,密码是samba,并且将yda用户添加到一个用户组中,方便samba的权限管理。使用id 命令可以查看用户所在的组。

然后将用户添加到samba中。使用smbpasswd -a命令来添加用户到samba中。

$ id yda
uid=1001(yda) gid=1000(test)=1000(test),1007(smbgroup)

配置共享文件夹

需要密码的文件夹:

[private]
	inherit permissions = Yes
	path = /samba/share/private
	read only = No
	force group = +smbgroup
	valid users = @smbgroup

valid users = @smbgroup表示只有smbgroup用户组的用户可以使用这个共享文件夹。 force group = +smbgroup表示共享文件夹中的文件都会被强制加上smbgroup这个所有者。

SELinux 和 firewalld

开启samba的端口:

sudo firewall-cmd --add-service=samba --permanent
sudo firewall-cmd --reload

selinux:

sudo chcon -R -t samba_share_t /samba/share
sudo semanage fcontext -a -t samba_share_t "/samba/share(/.*)?"
sudo setsebool samba_enable_home_dirs=1