Linux通过samba协议共享文件

一、服务端开启samba服务

(注:本例中服务端IP:10.1.30.87)

1.防火墙设置:放行samba服务

firewall-cmd --add-service=samba 

irewall-cmd --permanent --add-service=samba

2.selinux设置

setsebool -P samba_export_all_rw=1   #读写共享

setsebool -P samba_export_all_ro=1   #只读共享

设置完后可输入命令

getsebool -a | grep samba

查看当前状态。

3.添加账户

smbpasswd -a root

输入上述命令后回车,会让输入两遍密码确认,以设置账户登陆密码,此密码不必与对应主机用户的保持一致。
需注意的是,samba客户端账户(这里以root为例)首先应存在于linux主机用户中,否则会导致添加失败。

4.修改配置文件

gedit /etc/samba/smb.conf

在配置文件smb.conf的最后加上

[Public]             #共享文件夹的名字,可任意命名
	comment = commonshare
	path=/var        #共享文件夹的绝对路径
	writable = Yes   #设置为可写,等价于read only=no
	browseable = Yes #设置所有登陆用户都可见

5.重启samba服务

systemctl restart smb.service

二、客户端登陆共享目录

(注:本例中客户端IP:10.1.30.1)
对于Linux操作系统,输入

mount -t cifs //10.1.30.87/Public /mnt -o username=root

再按提示输入之前在服务端设置的登陆密码,即可将共享目录挂载到/mnt下。
对于windows系统,直接win+R,然后输入\10.1.30.87,回车后在弹窗内输入账户和密码,就可以看到如下界面
在这里插入图片描述

窗口中不仅出现了配置文件smb.conf中新增的Public文件夹,还出现了root这一家目录,这一原因是smb.conf中本身就包含如下内容:

[homes]
	comment = Home Directories
	valid users = %S, %D%w%S  #valid users是允许的登入者,%S表示取代目前设定项目值
	browseable = no          #只有当前登陆用户可见
	read only = no
	inherit acls = Yes

如果想要避免家目录被共享,可以在上述内容中添加一行

available=No  #大小写无所谓,配置文件里不区分

再次打开可以看到,root目录就没有了。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值