系统信息
[lipl@localhost ~]$ cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[lipl@localhost ~]$
要确保虚拟机中centOS能够上网,
主机能够被ping通
安装samba
安装
sudo yum -y install samba
查看
[root@localhost samba]# rpm -qa | grep samba
samba-4.6.2-12.el7_4.x86_64
samba-client-libs-4.6.2-12.el7_4.x86_64
samba-common-4.6.2-12.el7_4.noarch
samba-common-libs-4.6.2-12.el7_4.x86_64
samba-libs-4.6.2-12.el7_4.x86_64
samba-client-4.6.2-12.el7_4.x86_64
samba-common-tools-4.6.2-12.el7_4.x86_64
创建共享目录
[lipl@localhost ~]$ sudo mkdir /home/share
[lipl@localhost ~]$ sudo chmod 777 /home/share
测试中发现,如果共享目录建立在用户目录下,windows会无法访问。后来发现在smb.conf的[global]里配置force user后可以解决该问题。
samba配置
备份
[lipl@localhost ~]$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orign
编辑
[lipl@localhost ~]$ sudo vi /etc/samba/smb.conf
末尾添加
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
map to guest = Bad User
force user = lipl
force group = lipl
hosts allow = 127. 192.168.10.
printing = cups
printcap name = cups
load printers = yes
cups options = raw
# 中间部分省略
[Share]
path = /home/share
writable = yes
guest ok = yes
guest only = yes
create mode = 0777
directory mode = 0755
lipl是我的centOS的用户名和用户组。如果没有设置force user 和 force group, windows下匿名创建的文件的归属为nobody。 lipl用户没有权限修改该文件和文件夹。
hosts allow 中的192.168.10为我的虚拟机的网段
启动
[lipl@localhost ~]$ systemctl start smb nmb
[lipl@localhost ~]$ systemctl enable smb nmb
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/nmb.service to /usr/lib/systemd/system/nmb.service.
[lipl@localhost ~]$
配置防火墙
注意,centOS 7.2 使用了firewall作为防火墙,而不是iptables。
[lipl@localhost ~]$ sudo firewall-cmd --add-service=samba --permanent
success
[lipl@localhost ~]$ sudo firewall-cmd --reload
success
[lipl@localhost ~]$
配置SELinux
[lipl@localhost ~]$ sudo setsebool -P samba_enable_home_dirs on
[lipl@localhost ~]$ sudo restorecon -R /home/share
windows 尝试访问
直接在资源管理器输入\\192.168.10.142
, 无需输入用户名密码。