特别说明:编辑/etc/samba/smb.conf文件时不要在配置参数后加注释,会导致共享目录无法访问,如


path = /home/sharelinux  #ssss这里注释会被当参数值读取,致使路径不存在,浪费了比较多时间。



一、安装smb



执行命令行:



    #sudo apt-get install samba



    #sudo apt-get install smbfs





二、添加准备共享的文件夹。



有如下三种配置共享文件夹的方法,任选一种方法即可:



1、在ubuntu中使用图形界面的共享功能



    按Alt+F2或打开终端,把执行运行程序界面叫出來。输入如下命令:



    shares-admin



注:此工具整合了SABMA与NFS,可以管理共享的目录资源。





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



    后面的三行是为了防止出现中文目录乱码的情况。其中根据你的local,UTF-8 有可能需要改成 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



或者#sudo service smbd restart