在新装的ubuntu16.04下安装samba。
安装好samba后备份下配置文件:
zhuben@zb:~$ sudo apt-get install samba
zhuben@zb:~$ cd /etc/samba
zhuben@zb:/etc/samba$ sudo cp smb.conf smb.conf.bk
zhuben@zb:/etc/samba$ sudo vi smb.conf
例如:我要将我的/var/www/html文件夹设为共享
一.如果是想设置一个无需验证的任何人都可以访问的共享文件夹
那么只需要在配置文件的最后面加上:
[share]
comment=samba ##这个是说明,随意填
path=/var/www/html
public=yes
create mask=0775
directory mask=0775
##要能修改文件夹,要么就将/var/www/html权限设置为777,或者加上如下设置
forceuser=root
forcegroup=root
保存后重启samba:
zhuben@zb:/etc/samba$ sudo /etc/init.d/sambd restart
windows下打开开始-->运行-->输入\[ip address]\share
二. 如果是想设置一个需要账号登陆才能访问的共享文件夹
- 你需要一个系统用户(新建或者已存在),例如新建一个系统用户
usamba
:
zhuben@zb:~$sudo adduser usamba
- 建好后,将此用户添加到samba用户
zhuben@zb:~$sudo smbpasswd -a usamba
zhuben@zb:~$sudo smbpasswd -e usamba
- 配置smb.conf文件,在最后加上
[user]
comment=samba
path=/var/www/html
public=no
valid users=usamba
create mask=0775
directory mask=0775
windows下打开开始-->运行-->输入\[ip address]\user-->输入账号密码
如果此时你尝试修改或者添加文件,提示没有权限的话:
原因:与你需要共享的文件夹的访问权限和你新建的samba用户的所拥有的访问权限相关。
比如说,我的/var/www/html的所属用户是root,所属用户组是root,权限是755。而我新建的系统用户usamba的所属的用户组是usamba,所以usamba用户是只能访问而不能修改。
这就是一个访问权限的问题,要让usamba用权限能修改,添加。这里就可以用很多种方法了。
我的办法是修改usamba的用户组和/var/www/html的用户组:
zhuben@zb:~$sudo usermod -G zhuben usamba
zhuben@zb:~$sudo chgrp -R zhuben /var/www/html