红联Linux门户
Linux帮助

ubuntu 16.04 samba安装与设置访问权限

发布时间:2017-05-23 10:10:09来源:blog.csdn.net/tongxinv作者:TongxinV
1.ubuntu 16.04 samba安装
参考《ubuntu 14.04 samba安装 解决指定的网络名不再可用》:http://www.linuxdiyf.com/linux/30998.html
没有经验,遇到问题乱改一通,但还是不行。境遇和上面那篇文章中的大兄弟一样。最后重头来
前提:虚拟机与主机为桥接连接,且ip地址为同一网段
1].安装sudo apt-get install samba samba-common
2].修改配置文件vim /etc/samba/smb.conf
samba 配置文件 smb.conf 不用改什么东西,只在末尾加几条即可:
[share]
path = /home/share
available = yes     //vailable用来指定该共享资源是否可用
browsable = yes    //browseable用来指定该共享是否可以浏览
public    = yes    //public用来指定该共享是否允许guest账户访问
writable  = yes  //writable用来指定该共享路径是否可写
3].到/home新建文件夹share并修改权限为777
4].重启samba服务sudo service samba restart
ubuntu16.04版本使用sudo systemctl restart smbd.service命令重启
5].到windows下打开命令终端,输入相应虚拟机上的Linux系统的ip
我这里利用桥接方式,之前桥接上不了网是自己没配DNS
另外如果你是用无线来上网的,记得去虚拟机上的网络首选项里的桥接选择无线的网卡,VMware默认桥接的网卡是有线网卡
最后可以看到网络中的文件夹,但是无法访问,网上找了找解决办法:
1].sudo apt-get install daemon重启后解决不了
2].sudo apt-get install libtalloc2重启后解决了
最后的最后还有一个问题,客户端(即windows)下无法修改服务端(即ubuntu)创建的文件
参考了Ubuntu 14.04 Samba客户端不能修改文件的解决办法(http://www.linuxdiyf.com/linux/26055.html)
原因是客户端创建出来的文件所属user是nobdoy, group是nogroup, 而服务端的user/group是root/root(获取了root情况下)
两个不同用户和不同组不能相互修改
smb.conf提供了另外一个配置叫force user,它表示客户端默认创建的文件所属用户,只要和服务端设置成一样,那么就直接可以创建和修改所有文件了
所以去配置文件下添加:
[share]
path = /home/share
...
...
force user = root    //直接设置成最高权限root
 
2.设置访问权限
以上的设置方式是文件夹的访问的读写是完全开放的,显然是不合理,所以接下来又琢磨了如何设置访问权限的问题。
打开配置文件vim /etc/samba/smb.conf修改为:
[share]
path = /home/share
available = yes
browsable = yes
writable = yes
public = yes
valid users = root    //设置为只允许
force user = root
添加samba客户端访问用户root,同时会让你填写密码:(网上说添加的访问用户要事先存在于linux系统的中用户)
smbpasswd -a root

参考1:
ubuntu 16.04 samba安装与设置访问权限
参考2:
ubuntu 16.04 samba安装与设置访问权限
 
本文永久更新地址:http://www.linuxdiyf.com/linux/30999.html