samba服务器搭建
1 配置
在配置文件/etc/samba/smb.conf中
#共享文件设置参数
[share] #自定义共享名称,共享路径对应显示的实际名称,常用项
comment = This is share software #共享描述,做一个说明
path = /home/testfile #共享目录路径
browseable = yes/no #设置共享是否可浏览,如果no就表示隐藏,需要通过IP+共享名称进行访问
writable = yes/no #设置共享是否具有可写权限
read only = yes/no #设置共享是否具有只读权限
admin users = root #设置共享的管理员,如果security =share 时,引项无效,多用户中间使用逗 号隔开,例如admin users = root,user1,user2
# 设置允许访问共享的用户,例如valid users = user1,user2,@group1,@group2(多用户或组使用逗号隔
# 开,@group表示group用户组)
valid users = username
invalid users = username #设置不允许访问共享的用户
# 设置在共享具有写入权限的用户,例如例如write list = user1,user2,@group1,@group2(多用户或组使
# 用逗号隔开,@group表示group用户组)
write list = username
public = yes/no #设置共享是否允许guest账户访问
guest ok = yes/no #功能同public 一样
create mask = 0700 #创建的文件权限为700
directory mode = 0700 #创建的文件目录为 700
force user = ubuntu #客户端默认创建所属用户,设置后防止windows访问成为nobody, 常用项
2 添加用户
smbpasswd -a ubuntu // 将ubuntu添加到samba用户组
3 重启服务
配置操作后需重启服务
ubuntu
sudo /etc/init.d/smbd restart
centos
常见问题
windows无法访问问题
graph TD
A["cmd:gpedit.msc"]
--> B["管理模板"]
B --> C["网络"]
C --> D["lanman工作站"]
D --> E["启用不安全的来宾登陆:已启用"]
centos 服务器 windows无访问权限
确保setlinux关闭,可以用setenforce 0命令执行。 默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。 /usr/bin/setenforce 修改SELinux的实时运行模式
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0 ,或者在/etc/grub.conf中添加这个参数
/usr/bin/setstatus -v
?? 不关闭防火墙方法
setsebool -P samba_enable_home_dirs on
setsebool -P samba_domain_controller on
#/usr/sbin/setsebool -P allow_smbd_anon_write=1
#chcon -t public_content_rw_t <共享文件路径>