1.综述
Samba是个桑巴舞,是舞蹈的名字。Samba是一款开源的文件共享软件,经过简单配置就能够实现Linux系统与Windows系统之间的文件共享工作。
Samba分为服务端和客户端,我用的系统是腾讯云的centos,为了方便,我将服务端和客户端都安装在一起了,之后我用同学的Linux作为客户端,也验证成功。
不足之处在于我的云机和windows的IP不在同一网段,共享给windows的测试没能成功,只完成了Linux之间的共享。
我做的大体思想是:我在服务器上建立一个共享文件,其他人通过我给的账户(xsh01)和密码就可以查看我的文件,特定用户还可以进行文件的修改。
2.Samba的配置
2.1 安装并启动
yum install samba-client samba-common samba -y
systemctl stop firewalld.service
setsebool -P samba_enable_home_dirs on
systemctl start smb
2.2 主配置文件修改
由于在Samba服务程序的主配置文件中,注释信息行实在太多,不便于分析里面的重要参数,因此先把主配置文件改个名字,然后使用cat命令读入主配置文件,再在grep命令后面添加-v参数(反向选择),分别去掉所有以井号(#)和分号(;)开头的注释信息行,对于剩余的空白行可以使用^$参数来表示并进行反选过滤,最后把过滤后的可用参数信息通过重定向符覆盖写入到原始文件名称中。
[root@VM_0_6_centos ~]# cd /etc/samba
[root@VM_0_6_centos samba]# mv smb.conf smb.conf_bak
[root@VM_0_6_centos samba]# grep -v "#" smb.conf_bak | grep -v ";" | grep -v "^$" > smb.conf
[root@VM_0_6_centos samba]# cat smb.conf
2.3 指定密码存放位置
vim /etc/samba/smb.conf
[global]
workgroup = xuegod.cn
server string = xuegod.cn samba server
security = USER
# #passdb backend = tdbsam
passdb backend =smbpasswd
smb passwd file=/etc/samba/smbpasswd
printing = cups
printcap name = cups
load printers = yes
cups options = raw
2.4 重启
[root@VM_0_6_centos ~]# service smb restart
Redirecting to /bin/systemctl restart smb.service
[root@VM_0_6_centos ~]# ls /etc/samba
lmhosts smb.conf smb.conf_bak smb.conf.example smbpasswd
2.5 添加组和用户
在组里面添加多个用户,在创建samba用户时就可以直接添加组,不要再麻烦单个添加。
groupadd xsb
[root@VM_0_6_centos ~]# useradd -g xsb xsb01
[root@VM_0_6_centos ~]# useradd -g xsb xsb02
为用户添加samba账号
[root@VM_0_6_centos ~]# smbpasswd -a xsb01
New SMB password:
Retype new SMB password:
Added user xsb01.
[root@VM_0_6_centos ~]# smbpasswd -a xsb02
New SMB password:
Retype new SMB password:
Added user xsb02.
[root@VM_0_6_centos ~]# cat /etc/samba/smbpasswd
创建共享目录
[root@VM_0_6_centos ~]# mkdir /xsb
[root@VM_0_6_centos ~]# cp /etc/hosts /xsb
修改配置内容
vim /etc/samba/smb.conf
[xsb]
comment=this is a important data
path=/xsb
valid users=@xsb
writable=yes
write list=root
重启服务
service smb restart
3.测试验证
3.1自己服务器上验证
IP:172.*****
列出共享目录的信息
smbclient -L //172.17.0.6 -U xsb01
进入共享目录
smbclient //172.17.0.6/xsb -U xsb01
3.2其他系统上验证
yum install samba-client
smbclient //公网IP/xsb -U xsb02
参考文章:
- https://blog.csdn.net/QwQ_QAQ/article/details/64923637
- https://blog.csdn.net/yy892489942/article/details/98450023
- https://blog.csdn.net/x875227668/article/details/47104387
- https://www.bilibili.com/video/av22195097/?p=3
g.csdn.net/yy892489942/article/details/98450023 - https://blog.csdn.net/x875227668/article/details/47104387
- https://www.bilibili.com/video/av22195097/?p=3
- https://www.cnblogs.com/hshyx/p/10824593.html