Centos 7使用Samba实现文件共享

参考网址:https://blog.51cto.com/andyxu/2170061

通过账户和密码的验证方式访问共享资源
1、创建用于访问共享资源的账户信息
注:第一次使用pdbedit命令写入账户信息数据时需要使用-a参数,以后执行修改密码、删除账户等操作时就无需使用-a了。

useradd -M -s /sbin/nologin test
pdbedit -a -u test

2、创建用于共享资源的目录

mkdir -p /data/tools
chown -Rf test:test /data/tools/

3、修改共享目录的selinux安全上下文

semanage fcontext -a -t samba_share_t /data/tools
restorecon -Rv /data/tools/

4、修改配置文件,添加如下内容
vim /etc/samba/smb.conf

[tools]   #共享目录名为tools
        comment = Do not arbitrarily modify the tools file   #描述信息
        path = /data/tools   #共享目录的路径
        valid users = test   #允许访问该共享的用户
        public = no   #不允许guest用户访问
        writable = yes   #允许写入操作

5、配置firewalld防火墙允许Samba服务

firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

6、启动samba服务,并加入开机启动

systemctl restart smb
systemctl enable smb

7、windows访问共享目录
在windows的“运行”命令框中输入\192.168.2.211\tools,输入访问共享资源的账号和密码,就可以登陆到共享目录了。

8、Linux访问共享目录(在另一台linux机器上操作)
(1)安装cifs-utils软件包
yum -y install cifs-utils
(2)将用户名、密码、共享域的信息写入到一个认证文件中
vim auth.smb

username=test
password=123456
domain=MYGROUP
chmod 600 auth.smb

(3)创建一个用于挂载共享资源的目录,并把挂载信息写入/etc/fstab文件中

mkdir /data/test
vim /etc/fstab

//192.168.2.211/tools /data/test cifs credentials=/root/auth.smb 0 0
mount -a
(4)测试
在共享目录里写入一个测试文件
echo "it is xuad" > /data/test/xuad.txt
在samba服务器上查看测试文件内容

通过guest用户访问共享资源
1、创建用于共享资源的目录

mkdir /data/xuad
chmod 777 /data/xuad/

2、修改共享目录的selinux安全上下文

semanage fcontext -a -t samba_share_t /data/xuad
restorecon -Rv /data/xuad/

3、修改配置文件,添加如下内容
vim /etc/samba/smb.conf

[xuad]
        comment = Fully shared directory
        path = /data/xuad
        public = yes   #允许guest用户访问
        writable = yes

4、检查samba服务的配置是否正确
testparm

5、重启samba服务
systemctl restart smb


6、windows访问共享目录