一、安装smb
执行命令行:
#sudo apt-get install samba
#sudo apt-get install smbfs
二、添加准备共享的文件夹。
有如下三种配置共享文件夹的方法,任选一种方法即可:
1、在ubuntu中使用图形界面的共享功能
按Alt+F2或打开终端,把执行运行程序界面叫出來。输入如下命令:
shares-admin
2、以图形界面管理SAMBA服务(system-config-samba)
你也可以使用简单的图形化管理界面來管理一些常用的功能,可以在终端运行如下命令来安装图形界面的管理程序。
sudo apt-get install system-config-samba安裝完成以后,就可以利用 系統-->系统管理-->samba,来启动图形界面的samba管理功能。
3、使用快速积易、图形界面共享工具(nautilus-share)
无需修改任何设定,任何人都可以通过此工具快速简易共享自家目录下的文件夾,在ubuntu9.10中已经默认安装,如还没安装此工具可在终端运行如下命令安装。
sudo apt-get install nautilus-share
使用方法,进入自家目录,你可以在要共享的文件夹上右健,选择“共享选项”,在弹出的窗口勾选“共享此目录”。
如果出现执行子进程“testparm”失败(没有该文件或目录)的提示,这个时候你再执行下面的安装命令就行了。
sudo apt-get install samba-common-bin
三、windows下匿名访问Ubuntu共享文件
使用samba不进行任何设置时,winXP机器可以连接到Ubuntu机器但提示输入用户名密码,此时不论输入什么都不能访问,要实现匿名访问需要做如下设置:
1) 修改配置文件smb.conf:
sudo nano /etc/samba/smb.conf
搜索"security = user"并改为"security = share",再把这一行前面的注释符"#"去掉。
2) 重启samba:
#sudo /etc/init.d/samba restart
这样在Windows下,可以匿名访问文件夹了,但是只读,仍然无法写入。即使在Ubuntu的GUI下去掉了只读属性也是如此。
可实现可读写,还要改文件夹的权限,命令如下:
chmod 777 /home/temp (此处为文件夹路径及名称)
四、Windows下用用户名和密码访问Ubuntu共享文件
下面我们来共享群组可读写文件夹,假设你要共享的文件夹为: /home/ray/share首先创建这个文件夹
代码:
#mkdir /home/ray/share
#chmod 777 /home/ray/share
备份并编辑smb.conf允许网络用户访问
代码:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo gedit /etc/samba/smb.conf
搜寻这一行文字
代码:
; security = user
用下面这几行取代
代码:
security = user
username map = /etc/samba/smbusers
将下列几行代码添加到文件的最后面,假设允许访问的用户为:newsfan。而文件夹的共享名为 Share
代码:
[Share]
comment = Shared Folder with username and password
path = /home/ray/share
public = yes
writable = yes
valid users = newsfan
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup
available = yes
browseable = yes
然后顺便把这里改一下,找到[global]把 workgroup = MSHOME 改成
代码:
workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
后面的三行是为了防止出现中文目录乱码的情况。自己看着办吧。现在要添加newsfan这个网络访问帐户。如果系统中当前没有这个帐户,那么
代码:
sudo useradd newsfan
要注意,上面只是增加了newsfan这个用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。现在要新增网络使用者的帐号:
代码:
#sudo smbpasswd -a newsfan
#sudo gedit /etc/samba/smbusers
在新建立的文件内加入下面这一行并保存
代码:
newsfan = “network username”
如果将来需要更改newsfan的网络访问密码,也用这个命令更改
代码:
#sudo smbpasswd -a newsfan
删除网络使用者的帐号的命令把上面的 -a 改成 -x
代码:
#sudo testparm
#sudo /etc/init.d/samba restart
问题
1、win7无法访问samba服务器的解决:关闭ubuntu的防火墙 ufw disbale
2、在ubuntu中设置共享文件夹的时候可能会出现下面的错误:
解决办法:
1.sudo apt-get install samba 如果没有安装smb,需此步
2.useradd 用户
passwd 用户 建立用户和密码
3./etc/samba/smbpasswd 建smb帐户文件
sudo touch /etc/samba/smbpasswd
sudo smbpasswd -a 用户
4.sudo vim /etc/samba/smb.conf 共享设置
#======================= Global Settings =======================
[global]
usershare owner only = False 添加此行
5 /etc/init.d/samba reatart
然后可以将需要共享的文件夹设置为共享。
下面说说windows如何访问这个文件夹:
window桌面,我的电脑 右键 Map network Drive 在里面选择ubuntu下的共享文件夹:比如//192.168.120.128/learn,然后在 我的电脑 下面就可以看到ubuntu里面的共享文件了。