安装
yum -y install samba samba-common samba-client
备份smb.conf
mv /etc/samba/smb.conf /etc/samba/smb.conf.backup
新建 Samba 配置文件 smb.conf
vi /etc/samba/smb.conf
配置 Samba
[global] workgroup = LANCENT server string = Ted Samba Server %v netbios name = CentOS security = user map to guest = Bad User passdb backend = tdbsam [wwwroot] comment = Project development directory path = /www/wwwroot valid users = yunkui write list = yunkui printable = no create mask = 0644 directory mask = 0755
配置说明:
[shared] # 共享文件目录描述 comment = Shared Directories # 共享文件目录 path = /home/shared/ # 是否允许 guest 访问 public = no # 指定管理用户 admin users = yunkui # 可访问的用户组、用户 valid users = @www # 是否浏览权限 browseable = yes # 是否可写权限 writable = yes # 是否只读 read only = no # 文件权限设置 create mask = 0644 directory mask = 0755 force directory mode = 0755 force create mode - 0644
创建用户
groupadd www useradd yunkui -g www -s /sbin/nologin smbpasswd -a yunkui
创建文件夹并修改文件夹用户权限
mkdir /www/wwwroot chown -R yunkui:www /www/wwwroot
批量修改文件夹的权限
find /www/wwwroot -type d|xargs chmod 755 find /www/wwwroot -type f|xargs chmod 644
启动Samba服务,设置开机启动
systemctl start smb systemctl enable smb
查看samba信息
#查看samba的状态 systemctl status smb #查看Samba服务进程 ps -ef | grep -E 'smb|nmb' #查看Samba应用服务端口 grep -E 'smbd|nmbd'
设置防火墙,开放端口并重载防火墙
firewall-cmd --zone=public --add-port=139/tcp --permanent firewall-cmd --zone=public --add-port=445/tcp --permanent systemctl reload firewalld.service
也可以直接关闭防火墙
#停止服务 systemctl stop firewalld.service #关闭开机启动 systemctl disable firewalld.service
重启samba服务
systemctl restart smb
常见问题:
如果能访问服务器,但某些配置的共享文件夹不能访问,可能是 SELinux 的问题。
vi /etc/sysconfig/selinux # 修改 SELINUX 设置为: SELINUX=disabled # 修改保存后执行以下命令: setenforce 0