[翻译前]:严格来说,这篇文章不算翻译,因为不算是全盘直接翻译的。而是加入了自己的理解的。当然时间有限,也就弄了个匿名的(也就是不需要密码的。)如果英文够好,可以直接点开网址看:点击直达 然后,你没耐心,按照下面的教程复制黏贴命令也能弄好(前提是你别蠢到把配置文件也当命令来复制黏贴)
好吧,让我们来第一步吧,首先你的有安装好CentOS7 的Linux机器,包括实体机或者是KVM啊VMware啊等虚拟机,还得通网,不然你没法装samba需要的软件。
然后安装samba
yum install samba samba-client samba-common -y
这样就安装了samba的软件,很简单吧。 然后就是配置smb的配置文件了。 先把samba的原始配置文件给备份一遍
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
这句就是将其重命名为smb.conf.bak 有基础的小伙伴应该看的懂。 然后弄个新的配置
vi /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
security = user
map to guest = bad user
dns proxy = no
#============================ Share Definitions ==============================
[Anonymous]
path = /home/samba #这个配置文件只需要修改路径就好了!不过建议你还是使用分区剩余容量比较大的Home,一般来说如果默认安装的CentOS系统都将会给系统50G其余的分在Home的。如果你自己分区的那无所谓,然后写配置文件,请把#后面的文字删除。
browsable =yes
writable = yes
guest ok = yes
read only = no
然后我们来创建文件夹并启动吧。
mkdir -p /home/samba
systemctl enable smb.service
systemctl enable nmb.service
systemctl restart smb.service
systemctl restart nmb.service
下面我们要开启防火墙来让我们能够访问
firewalld-cmd --permanent --zone=public --add-service=samba
firewalld-cmd --reload
当然如果你不爽firewalld那么你也可以直接就关闭它!
yum install -y iptables-services
iptables -F
service iptables save
systemctl stop firewalld
systemctl disable firewalld
搞定访问之后,你还得搞定权限,因为我们弄的是匿名访问的,所以随便弄个没有密码的用户和组都OK。最开心的就是nobody了这货什么都不能干就只能访问。所以我们给这个路径nobody权限就好 由于我还在这个共享文件夹上弄了个transmission 因此,我直接就把nobody用户改成了transmission用户,效果很好,transmission下载来的视频,直接就可以看了233333
chown -R nobody:nobody /home/samba
chmod -R 0755 /home/samba
最后你会发现文件夹能访问,文件却显示不出来,这TMD是selinux搞的鬼! 还得用命令
chcon -t samba_share_t /home/samba
或者用
setenforce 0
或者干脆就关闭selinux,一切就清净了!!