一.samba的安装:
apt-get
insall
samba // (sudo get temp root auth)
sudo
apt-get
install
smbfs
二. 创建共享目录:
/home/
john/share
sudochmod
777
/home/
john/
share
说明:john为你的ubuntu的用户名
share你可以随便起个名字做为共享文件夹
三.创建Samba配置文件:
1. 保存现有的配置文件
cp
/etc/samba/smb.conf
/etc/samba/smb.conf.bak
2.修改现配置文件
vim
/etc/samba/smb.conf
在smb.conf最后添加
share]
path = /home/book/share
available = yes
browseable = yes
public = yes
writable = yesvalid users = myname
create mask = 0700
directory mask =0700
force user =nobody
force group = nogroup
说明:valid users = myname 这个myname是自己起的,后面在添加用户名时就是添加的这个
另外这个[share]名字也是可以随便起的,这个是你在windows下访问时显示的名字,
在windows下 \\162.168.160.11\share就可以访问linux下/home/god/code目录下的内容了
其中162.168.160.11是你linux的IP地址,用ifconfig就可以查看到
:(注意,这里的WORKGROUP是
如果没有也可加上去)
workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
后面的三行是为了防止出现中文目录乱码的情况。
四.创建samba帐户
现在要添加john
己存在的账户如root,god),那么代码:
sudouseradd john
上面只是增加了john
能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。这个你可以在重启
机器时看到这个你添加的用户,但是你却用它登陆不了系统,因为没有赋予本机登录密码。
sudo
touch
/etc/samba/smbpasswd
sudo
smbpasswd
-a
john
(如果你直接用系统中的账号,这里myname就是你系统中的账户即可)
然后会要求你输入samba帐户的密码 :此处密码为1
这个密码不是开机登录时候用的,是你要访问WIN共享文件或者WIN共享文件访问你的时候要填的密码
现在要新增网络使用者的帐号:
sudo vim /etc/samba/smbusers
john
[如果没有第四步,当你登录时会提示session setup failed: NT_STATUS_LOGON_FAILURE]
删除网络使用者的帐号的命令把上面的 -a 改成 -x 即:sudo smbpasswd -x john
五.重启samba服务器
问题1:
sudo: testparm: command not found。
找了好久终于找到眉目,貌似又是少安装了个东西。于是按照网上解决办法输入语句进行安装
$ sudo apt-get install samba-common-bin
问题解决。
问题2:
sudo /etc/init.d/samba restart 无反应
发现init.d目录下没有samba这个文件,参考网上的,在/etc/cron.daily下有samba,
于是sudo cp /etc/cron.daily/samba /etc/init.d/目录下。
sudo testparm
验证一下配置参数有没有问题,如果有问题在回去修改
sudo /etc/init.d/samba restart
六. 测试
smbclient -L //localhost/share 或者
smbclient -L \\127.0.0.1
john
//这时输入的密码就是你刚才设置的samba密码
七,使用
可以到windows下输入ip使用了,在文件夹处输入
"
\\
"
+
"
Ubuntu机器的ip或主机名
"
+
"
\\
"
+
"
share
"
我的即为:
\\162.168.160.11\share
(share就是刚才smb.conf中的[share])
第一次进入时要输入用户名和密码,这个就是你在第四步中设置的用户名和密码