友情帮助:博主参加2014博客之星评选,请大家多多支持哦!投票链接请猛击!
samba,连接Unix阵营和Windows系统的桥梁。在类Unix系统中安装samba服务端,让windows系统像访问共享文件夹一样访问类Unix系统中的指定文件夹。
samba,桑巴舞蹈也是它呢!给一个软件起了这样性感的名字,想想是不是醉了。
有了这个小家伙,解决了我们局域网多个系统互相访问文件的大麻烦。下面是全过程。
1.安装samba,apt-get 推荐我安装samba4.
sudo apt-get install samba4
安装时遇到错误:
/var/lib/dpkg/info/samba4.postinst: 14: /var/lib/dpkg/info/samba4.postinst: /usr/share/samba/setoption.pl: Permission denied dpkg: error processing samba4 (--configure): subprocess installed post-installation script returned error exit status 126 Errors were encountered while processing: samba4 E: Sub-process /usr/bin/dpkg returned an error code (1)
应该是我的dpkg有问题,源于上一次的apt-get upgrade中途被我人工阻断。
解决的办法是删掉/var/lib/dpkg/info这个文件夹并重新创建它。
cd /var/lib/dpkg sudo mv info info.bak sudo mkdir info
重新install就可以了。
2.在/home下创建文件夹用以共享
home$ sudo mkdir share home$ sudo chmod 777 share
创建一个文件在share文件夹中,一会用它作为访问成功与否的标志。
3.修改smb的配置文件
之前可以先做个备份
home$ sudo cp /etc/samba/smb.conf /etc/samba/smb-bk.conf home$ sudo vim /etc/samba/smb.conf
找到security = user这一句,如果被注释了,就放开注释。
在其后增加一句:username map = /etc/samba/smbusers
在文件的最后增加下面语句:
[Share] comment = Shared Folder path = /home/share public = yes writeable = yes valid users = friend create mask = 0700 directory mask = 0700 force user = nobody force group = nogroup available = yes browseable = yes
上面设置了文件的路径和可用的用户为friend。
再搜索[global]
在workgroup = workgroup下面增加如下:
display charset = UTF-8 unix charset = UTF-8 dos charset = cp936
保存并退出。
4.增加friend账户
home$ sudo useradd friend
为friend设置smb密码
home$ sudo smbpasswd -a friend New SMB password: Retype new SMB password: Added user friend.
5.新建smbusers文件并增加一行语句
home$ sudo vim /etc/samba/smbusers friend = "network username"
6.重启smbd
home$ sudo service smbd restart
查看smbd监听端口
home$ sudo netstat -tlnp | grep smb
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 5224/smbd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 5224/smbd
7.在windows中测试
命令行输入\\my ip
就可以访问了。
参考:
http://linux.vbird.org/linux_server/0370samba.php