Samba是Ubuntu和Windows进行网络共享的工具,比如分享打印机,互相之间传输资料文件。
安装samba
sudo apt-get install samba
查看samba是否安装成功
sudo dpkg -l samba*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
ii samba 2:3.5.8~dfsg-1 SMB/CIFS file, print, and login server for U
un samba-client
ii samba-common 2:3.5.8~dfsg-1 common files used by both the Samba server a
ii samba-common-b 2:3.5.8~dfsg-1 common files used by both the Samba server a
un samba-gtk
un samba-ldb-tool
un samba-tools
un samba4
un samba4-clients
un samba4-common
un samba4-common-
最前面的ii表示安装成功。可以看到samba是安装好了。
配置win7访问linux
第一步创建共享目录: 比如要创建/home/用户名/share首先创建这个文件夹 (这个用户名就是你的用户名,比如xiaoming)
代码:
mkdir /home/用户名/share (新建share文件夹)
chmod 777 /home/用户名/share (设置该文件夹的权限使其让所有用户可读可写可运行)
你也可以直接把硬盘挂载后的文件夹如硬盘挂载在/media/second_part下的话也可以写这个路径
备份并编辑smb.conf允许网络用户访问 (养成随时备份的好习惯,在关键的时候你会发现当初的备份是多么的明智!)代码:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo gedit /etc/samba/smb.conf
搜寻这一行文字代码:
; security = user
用下面这几行取代
代码:
security = user(这里也可以设置为share,这时访问就不需要用户名和密码了。那么就不需要映射用户和添加用户与密码)
username map = /etc/samba/smbusers
如果没有上面那行(; security = user),可手动添加上面两行代码在[global]在项里面
将下列几行新增到文件的最后面,假设允许访问的用户为:xiaoming。而文件夹的共享名为 Share #这里之所以这么写就是因为后面我们要创建一个smb用户xiaoming,并且让win7用户通过这个new来和我们进行数据交流。当然你可以写为自己喜欢的名字 只不过前后要一致就可以了
代码:
[Share] //选项名,可在testparm里面看到,相同选项只有最后个生效
comment = Shared Folder with username and password
path = /home/用户名/share #共享路径
public = yes
writable = yes
valid users = xiaoming #有效用户
如果发现共享后无写权限可把下面两项全部改成777
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup
available = yes
browseable = yes
然后顺便把这里改一下,找到[global]把 workgroup = MSHOME 改成 :(注意,这里的WORKGROUP是共享中的工作组名称) 代码:
多用户共享访问同一目录时可这样添加valid users = xiaoming userA userB userC
##下面这块没试过###############
workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
##########################
后面的三行是为了防止出现中文目录乱码的情况。现在要添加new这个网络访问帐户。如果系统中当前没有这个帐户,那么
代码:
sudo useradd xiaoming
要注意,上面只是增加了new这个用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。现在要新增网络使用者的帐号:
代码:
sudo smbpasswd -a xiaoming (设置你的new密码,这个密码不是开机登录时候用的,是你要访问WIN共享文件或者WIN共享文件访问你的时候要填的密码) sudo gedit /etc/samba/smbusers
在新建立的文件内加入下面这一行并保存
代码:
xiaoming= “network username”
多用户时可向下加如
userA= “network username”
userB= “network username”
如果将来需要更改new的网络访问密码,也用这个命令更改
代码:
sudo smbpasswd -a xiaoming
删除网络使用者的帐号的命令把上面的 -a 改成 -x sudo smbpasswd -x xiaoming
测试并重启samba
代码:
sudo testparm //查看生效的选项,如果加的没有生效要去检查,否则不会生效
sudo /etc/init.d/samba restart
这里注意,比如我的安装后/etc/init.d/中就没有samba(为什么没有我还不清楚,清楚的朋友告知以下,:-)),这重启的命令就不再是这个,而是下面的命令:
sudo smbd restart
sudo nmbd restart
最好是sudo reboot 有时上面的命令不会生效
这样,在win7命令行中输入\\linux ip,就可以访问你linux下的文件了。
添加该用户并设置samba密码:
sudo useradd shareuser 添加用户
sudo smbpasswd -a shareuser 设置访问共享文件密码/修改网络登录访问密码
sudo gedit /etc/samba/smbusers 加入 shareuser = "network username"
sudo smbpasswd -x shareuser 删除网络共享用户
参考文章
http://blog.csdn.net/duola_rain/article/details/20914113