ubuntu 16.04 samba安装与设置访问权限
阅读原文时间:2021年04月20日阅读:1

1.ubuntu 16.04 samba安装

参考博客《 ubuntu 14.04 samba安装 解决指定的网络名不再可用》

没有经验,遇到问题乱改一通,但还是不行。境遇和上面那篇博客中的大兄弟一样。最后重头来

前提:虚拟机与主机为桥接连接,且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

ubuntu1604版本使用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客户端不能修改文件的解决办法

原因是客户端创建出来的文件所属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:http://yuanbin.blog.51cto.com/363003/115761/
参考博客2:http://blog.csdn.net/fyh2003/article/details/7280119