$ yum install samba samba-client samba-common
$ systemctl status smb.service
此时Samba状态显示为"disable",接下来我们启动Samba服务。
$ systemctl start smb.service
$ systemctl enable smb.service
再次用命令查看Samba服务状态,应该显示为"running"了,但是现在还不能马上使用Samba共享文件,在此之前还需要进行一些设置,具体看下文详细描述。
Centos7.3默认开启了防火墙,如果要访问Samba服务器,必须开放指定端口或者关闭防火墙,使用哪种方式取决于网络环境:如果仅仅是内网使用,则可以简单粗暴地关闭防火墙;如果服务器还连接了外网,建议还是开放Samba服务所需的指定端口。下面是这两种方式的详细命令:
$ systemctl stop firwwalld.service
$ systemctl disable firwwalld.service
$ firewall-cmd --permanent --add-service=samba
$ firewall-cmd --reload
$ firewall-cmd --list-services
很多人发现在Centos7.3上搞定一切Samba所需配置后,还是无法访问Samba共享文件夹,罪魁祸首就是SELinux了!
SELinux是NASA搞出来的玩意,对权限管理极为严格,而配置又极其复杂,对大多数人而言都是鸡肋,索性禁用了之,下面给出了具体步骤:
setenforce 0
/etc/selinux/config
,将SELINUX值改为disabled...
#SELINUX=enforcing
SELINUX=disabled
...
注意,用户名必须存在于系统用户列表中!
可以使用之前已经存在的用户;为了方便权限管理,也可以新建一个“smb”用户。这里我们以root用户为例:
$ smbpasswd -a root
执行上述命令后,按照提示输入密码(可以不和系统密码相同),设置完成后,这组用户名与密码就是我们访问Samba服务时要输入的登录信息。
Samba服务的配置文件路径为:/etc/samba/smb.conf
,我们需要在这个文件中修改相关配置来设置共享文件夹。例如要共享/mnt目录,则在文件末尾增加如下配置:
...
[my share]
#共享文件夹路径
path = /mnt
#网络上是否可见
browseable = yes
#写入权限控制
writable = yes
#是否支持宾客访问模式
guest ok = yes
修改完成后,可以运行如下命令测试是否配置正确:
$ testparm
如果有报错信息,说明配置文件有些地方配置错误了,需要返回修改,否则Samba服务无法运行。
确认配置无误后,重启Samba服务以使修改过的配置生效:
$ systemctl restart smb.service
在文件管理器的地址栏或“运行”窗口输入IP地址,即可访问Samba共享文件夹,输入格式为:双斜杠+IP地址,举例如下:
\\192.168.0.101
smb://192.168.2.106
$ mount -t cifs -o username=root,password=123456 //192.168.0.101 /mnt/