AlmaLinux 部署 Samba 服务:文件共享快速实现
AlmaLinux部署Samba服务
1. 安装Samba
sudo dnf update
sudo dnf install samba samba-client samba-common
2. 创建系统用户和Samba用户
创建系统用户(不设置登录权限)
# 创建系统用户组
sudo groupadd smbusers# 创建系统用户(不创建home目录,不设置登录shell)
sudo useradd -M -s /sbin/nologin -g smbusers pokes
创建Samba用户数据库目录
sudo mkdir -p /etc/samba/private
3. 配置Samba使用tdbsam后端
备份原始配置文件
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.backup
编辑Samba主配置
sudo vi /etc/samba/smb.conf
添加以下内容:
[global]workgroup = WORKGROUPserver string = Samba Server %vnetbios name = almalinux-sambasecurity = userpassdb backend = tdbsam:/etc/samba/private/passdb.tdb# 日志设置log file = /var/log/samba/log.%mmax log size = 50# 性能优化socket options = TCP_NODELAY# 共享设置hosts allow = 192.168.1.guest account = nobodymap to guest = bad user# 创建共享目录
[shared]comment = Shared Folderpath = /srv/samba/sharedbrowseable = yeswritable = yesguest ok = novalid users = @smbuserscreate mask = 0664directory mask = 0775[public]comment = Public Folderpath = /srv/samba/publicbrowseable = yeswritable = yesguest ok = yesread only = nocreate mask = 0664directory mask = 0775
4. 创建共享目录并设置权限
# 创建共享目录
sudo mkdir -p /srv/samba/shared
sudo mkdir -p /srv/samba/public# 设置目录权限
sudo chown -R smbuser:smbusers /srv/samba/shared
sudo chmod -R 2775 /srv/samba/sharedsudo chown -R nobody:nobody /srv/samba/public
sudo chmod -R 2777 /srv/samba/public
这里我们没有开启SELinux,所以没有SELinux部分的配置.
如果SELinux是开启的,需要配置SELinux上下文:
sudo semanage fcontext -a -t samba_share_t “/srv/samba(/.*)?”
sudo restorecon -R /srv/samba
5. 创建和管理Samba虚拟用户
创建Samba用户
smbpasswd -a pokes
系统会提示你设置密码2次
将用户添加到smbusers组
usermod -aG smbusers pokes
常见的报错解决:
如果这一步你出现了“usermod: user ‘pokes’ does not exist”的报错?
错误是因为系统用户pokes不存在。
在使用Samba虚拟用户时,需要先创建系统用户,然后再创建Samba用户。
6. 管理Samba用户
#查看所有Samba用户
