查看“Samba”的源代码
来自Ubuntu中文
←
Samba
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
==安装Samba== 首先要安装samba(一般的源里面都有的,不用新加源) sudo apt-get install samba; sudo apt-get install smbfs ==配置== '''1.windows 访问 ubuntu''' 第一部创建共享目录: 比如要创建/home/用户名/share首先创建这个文件夹 (这个用户名就是你的用户名,为了方便易懂我才这样写的,到时记得自己改啊) 代码: mkdir /home/用户名/share (新建share文件夹) chmod 777 /home/用户名/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 将下列几行新增到文件的最后面,假设允许访问的用户为:new。而文件夹的共享名为 Share #这里之所以这么写就是因为后面我们要创建一个smb用户new,并且让XP用户通过这个new来和我们进行数据交流。当然你可以写为自己喜欢的名字 只不过前后要一致就可以了 代码: [Share] comment = Shared Folder with username and password path = /home/用户名/share public = yes writable = yes valid users = new create mask = 0700 directory mask = 0700 force user = nobody force group = nogroup available = yes browseable = yes 然后顺便把这里改一下,找到[global]把 workgroup = MSHOME 改成 :(注意,这里的WORKGROUP是共享中的工作组名称) 代码: workgroup = WORKGROUP display charset = UTF-8 unix charset = UTF-8 dos charset = cp936 后面的三行是为了防止出现中文目录乱码的情况。 现在要添加new这个网络访问帐户。如果系统中当前没有这个帐户,那么 代码: sudo useradd new 要注意,上面只是增加了new这个用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。现在要新增网络使用者的帐号: 代码: sudo smbpasswd -a new (设置你的new密码,这个密码不是开机登录时候用的,是你要访问WIN共享文件或者WIN共享文件访问你的时候要填的密码) sudo gedit /etc/samba/smbusers 在新建立的文件内加入下面这一行并保存 代码: new = “network username” 如果将来需要更改new的网络访问密码,也用这个命令更改 代码: sudo smbpasswd -a new 删除网络使用者的帐号的命令把上面的 -a 改成 -x sudo smbpasswd -x new 测试并重启samba 代码: sudo testparm sudo /etc/init.d/samba restart <pre><nowiki> WIN访问ubuntu后记 有人说我严格的按照了上述操作走的,在自己UBUNTU的系统下右击一个文件夹,点共享,然后创建共享文件,结果在WIN XP下的局域网可以看到那个共享的文件夹,但是就是点不开! 为什么? 原因就在于权限问题,假如你共享了 /media/MEDIA/壁纸 这个文件夹,你紧接着给这个文件夹可读可写可运行的权限 </nowiki></pre> 简单的,这样使用。 ☎ type fuse-smb fuse-smb 已被别名为“smbmount //192.168.100.53/共享目录/ ~/fuse-mnt/ -o username=smb,password=ice,iocharset=utf8” == Ubuntu问windows xp/2003/2000系统 == 下面有原作者提供的四种方法。。。但是我只稳定的成功了第四种,挂载的那种时灵时不灵的,并且大多数人都只能成功第四种,不知道为什么。。。 第一种:用smb访问 直接点-位置-网络-里面有个WINDOWS网络,点进去找你要找的电脑和文件,届时可能要帐号和密码,注意填的是那个被访问的计算机的帐号,不是先前建的那个new 这个方法最方便了! 但是成功率不高 第二种:用ubuntu 系统自带的连接到服务器功能访问 在位置中启动连接到服务器,在服务类型中选择“windows共享”,在服务器中输入windows计算机的ip地址或计算机名,点击连接,这样在系统桌面中就会显示一个连接到windows 计算机的文件卷。 我们可以像访问ubuntu系统中的磁盘一样来访问它,同样在访问的时候要输入smb的用户名和密码。 往往第一个方法不能成功的 这个也别想成功 第三种:用mount挂载windows的共享目录到本地磁盘 首先要在ubuntu系统中建立一个挂载点,在这里我们建立的挂在点为 /mnt/wind 同样在保证网络连接正常,且windows中有共享目录的前提下,进行一下操作 以windows的ip为192.168.0.1,共享文件夹为share为例 命令如下: mount -t smbfs –o username=new,password=123456 //192.168.0.1/share /mnt/wind ¥我感觉这个的成功率要比先前的那两个方法高,一但挂载成功就行了 本人还衍生了一个方法貌似在我电脑上的可行性比较高,那就是知道共享的目录的绝对地址后直接输入绝对地址 smb://吕秀才/电影3/ 吕秀才是他用户名(不能用IP,IP没用的)电影3是他的一个共享文件夹~ 直接用smb://用户名/共享文件名 这样就可以,在访问的时候会问你那个XP的密码这时填上就可以了 还会验证你的smb密码 这个就用上面你设置那个就可以了 反正我成功了¥ 有时这样在访问的时候会出现中文乱码的问题,这样我们可以按下面命令来执行,可以解决这个问题 mount -t smbfs -o iocharset=uft8,codepage=cp936,clmask=777,fmask=777,userneme=wangyh,password=123456 //192.168.0.1/share /mnt/wind 注解:usename和password都为smb的用户和密码,如果要详细了解mount命令,使用man mount在终端查看详细用法 提示:要访问windows中有特殊密码的文件夹,可以在samba中新建一个与windows登录相同名相同密码的用户,然后mount即可,例: sudo useradd administrator //不要让其有登录ubuntu的权限 sudo smbpasswd -a administrator 然后提示输入密码:输入windows访问的密码即可 第四种:使用smbclient 命令 命令如下: smbclient //对方IP/那个共享文件夹 -U 你的smb帐号,就是那个new 例如:smbclient //218.196.119.86/电影 -u new password:输入smb用户new的密码 回车就可以用,用命令get下载文件,用put上传文件。 注解: smbclient介绍: 命令 说明 ?或help [command] 提供关于帮助或某个命令的帮助 ![shell command] 执行所用的SHELL命令,或让用户进入 SHELL提示符 cd [目录] 切换到服务器端的指定目录,如未指定,则 smbclient 返回当前本地目录 lcd [目录] 切换到客户端指定的目录; dir 或ls 列出当前目录下的文件; exit 或quit 退出smbclient get file1 file2 从服务器上下载file1,并以文件名file2存在本地机上; 如果不想改名,可以把file2省略 mget file1 file2 file3 filen 从服务器上下载多个文件; md或mkdir 目录 在服务器上创建目录 rd或rmdir 目录 删除服务器上的目录 put file1 [file2] 向服务器上传一个文件file1,传到服务器上改名为file2; mput file1 file2 filen 向服务器上传多个文件 ¥这个方法不出意外都成功,而且这个成功再试一试前两个方法没准也就成功了,总之我感觉这个共享访问时灵时不灵的,希望以后能改善~ ==排错== ===乱码=== 网上邻居的中文目录的显示乱码的处理方法: * 确认你的local,如果为:zh_CN.UTF-8 则: 在 /etc/samba/smb.conf 中的 [global] 段加上: <pre><nowiki> display charset = UTF-8 unix charset = UTF-8 dos charset = cp936 </nowiki></pre> * 确认你的local,如果为:zh_CN.GB2312zh_CN.GBK 则: 在 /etc/samba/smb.conf 中的 [global] 段加上: <pre><nowiki> display charset = cp936 unix charset = cp936 dos charset = cp936 </nowiki></pre> 设置完毕后,需要注销一次。才可以看到中文的目录。 [[Category:网络]] [[Category:服务器]]
返回
Samba
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
登录
导航
首页
最近更改
随机页面
页面分类
帮助
搜索
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息