TongxinV / oneBook

记录自己的知识框架,有时写写BLOG CSDN博客地址

Home Page:https://blog.csdn.net/TongxinV

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

TongxinV opened this issue · comments

ubuntu 14.04 samba安装

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

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

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(这时去星网锐捷实习的时候ZZJ告诉我的)。

另外如果你是用无线来上网的,记得去虚拟机上的网络首选项里的桥接选择无线的网卡,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

设置访问权限

以上的设置方式是文件夹的访问的读写是完全开放的,显然是不合理,所以接下来又琢磨了如何设置访问权限的问题

打开配置文件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