Ubuntu Samba Configuration
Ubuntu Samba Configuration
1.Ubuntu 出现apt-get: Package has no installation candidate问题
解决方法如下:
# sudo apt-get update
# sudo apt-get upgrade
这样就可以正常使用apt-get了
一.samba的安装:
sudo apt-get install samba
二. 创建共享目录:
mkdir /home/ljn/share
sudo chmod 777 /home/ljn/share
修改share目录的权限:可读可写可执行
三.创建Samba配置文件:
1.保存现有的配置文件
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
2.修改现配置文件
sudo gedit /etc/samba/smb.conf在smb.conf中添加:
找到[global]把workgroup = MSHOME改成 :(注意,这里的WORKGROUP是共享中的工作组名称)代码:(如果没有也可加上去)
workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936后面的三行是为了防止出现中文目录乱码的情况。
搜索到security一项,修改如下,没有就自己加上
security = user
[share]
path = /home/ljn/share
available = yes
browseable = yes
public = yes
writable = yes
validusers = smbljn
createmask = 0700
directorymask =0700
force user=nobody
force group = nogroup
说明:valid users= smbljn这个smbljn是自己起的,后面在添加用户名时就是添加的这个另外这个[share]名字也是可以随便起的,这个是你在windows下访问时显示的名字。
四.创建samba帐户
现在要添加smbljn这个网络访问帐户。如果系统中当前没有这个帐户(也可以用系统中己存在的账户如root,god),那么代码:
sudo useradd smbljn
上面只是增加了smbljn这个系统用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。这个你可以在重启机器时看到这个你添加的用户,但是你却用它登陆不了系统,因为没有赋予本机登录密码。
sudo touch /etc/samba/smbpasswd
sudo smbpasswd -a smbljn
(如果你直接用系统中的账号,这里smbljn就是你系统中的账户即可)
然后会要求你输入samba帐户的密码
这个密码不是开机登录时候用的,是你要访问WIN共享文件或者WIN共享文件访问你的时候要填的密码现在要新增网络使用者的帐号:
sudo gedit /etc/samba/smbusers
在新建立的文件内加入下面这一行并保存代码:
smbljn = “networkusername”
[如果没有第四步,当你登录时会提示session setup failed: NT_STATUS_LOGON_FAILURE]
删除网络使用者的帐号的命令把上面的 -a 改成 -x 即:sudosmbpasswd -x smbljn
五.重启samba服务器
sudotestparm
验证一下配置参数有没有问题,如果有问题在回去修改
sudo /etc/init.d/samba restart
六. 测试
前提是在:Windows与虚拟机之间能够相互ping得通
在Ubuntu下使用ifconfig命令查看虚拟机的IP
在windows下按住win+R键,弹出,键入\\192.168.1.108后确定
或者使用浏览器输入ip,在文件夹处输入 "\\" + "Ubuntu机器的ip或主机名" + "\\" + "share"
我的即为:\\192.168.1.108\share