安装Samba,实现Ubuntu12.04和win7的文件共享

这是写的第一篇文章,很大部分是转载的别人的东西,在网上转来转去也不知道是谁的,在此声明,不是原创,写在这里是为了分享我安装配置Samba服务器的过程经验,向和我一样的刚开始不明白的人分享我遇到的问题和应该注意的地方。之前用的是RedHat的,经发哥推荐,开始用Ubuntu12.04。更换了网易163的源。因为要用到嵌入式的交叉编译,就安装Samba。搞了一天。

我是在win7上的vmvare上装的Ubuntu12.04 。

1、安装Samba服务器

[html]  view plain  copy
  1. sudo apt-get install samba  
  2. sudo apt-get install smbfs  
[html]  view plain  copy
  1. 查看Samba是否安装成功  
[html]  view plain  copy
  1. 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
+++-==============-==============-============================================

出现上面的表示安装成功。
2、创建共享目录
[html]  view plain  copy
  1. sudo mkdir /home/xxx/share_samba      创建共享目录  
[html]  view plain  copy
  1. sudo chmod 777 /home/xxx/share_samba  给共享目录设置权限  
“xxx”是你的主机名,这个共享文件夹可以根据你自己的喜好来创建。
3、编辑Samba的配置文件
[html]  view plain  copy
  1. sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup  备份配置文件,这是一个好习惯  
  2. sudo vim /etc/samba/smb.conf<span style="white-space:pre">    </span>对配置文件进行编辑  
找到global],workgroup = WORKGROUP ,(网上有的版本说把WORKGROUP改成MSHOME,我没有改,也不知道是什么意思,待解决),并在后面添加如下信息:
[html]  view plain  copy
  1. display charset=UTF-8  
  2. unix charset=UTF-8  
  3. dos charset=cp936  
这三行是为了防止出现中文乱码的情况(具体也不明白)
找到security=user (若此句前面有#号则去掉,在smb.conf文件中“#“和”;“都是注释,)并在后面加上username map = /etc/samba/smbusers
还有将紧接着的passdb backend = tdbsam 改成 passdb backend = smbpasswd

在文件最后,添加下面的内容

[html]  view plain  copy
  1. [share]  
  2. comment=This is Linux share directory  
  3. path=/home/xxx/share_samba  
  4. available=yes  
  5. browseable=yes  
  6. writable=yes  
  7. valid users=dayu    dayu是下面要添加的Samba服务器用户名  
[html]  view plain  copy
  1. create mask=0700  
[html]  view plain  copy
  1. directory mask=0700  
  2. force user=nobody  
  3. force group=nogroup  
4、创建Samba账户

在此创建的Samba账户是dayu,该用户只能登陆Samba服务器,不能登陆Ubuntu系统

[html]  view plain  copy
  1. sudo useradd dayu  
  2. sudo smbpasswd -a dayu  为dayu设置登陆密码,不是登陆Ubuntu的密码,是登陆Samba的密码  
[html]  view plain  copy
  1. 然后会要求你输入Samba账户(dayu)的密码  
[html]  view plain  copy
  1. sudo cat >/etc/samba/smbusers 打开新建立的配置文件  
[html]  view plain  copy
  1. 在这个新建立的文件内加入下面这一行并保存  
[html]  view plain  copy
  1. dayu="network username"  
如果将来需要更改dayu的网络访问密码,也用这个命令改
[html]  view plain  copy
  1. sudo smbpasswd -a dayu   
删除网络使用者的账号的命令是把上面的-a换成-x

如果希望增加两个samba账户则以空格隔开即可,相应改动:
user1 user2= “network username”
validusers = user1 user2

5、重启Samba服务器

[html]  view plain  copy
  1. sudo  /etc/init.d/smbd restart  
6、测试

[html]  view plain  copy
  1. smbclient -L //localhost/share_samba  

[sudo] password for xxx:
Enter root's password:
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0]
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
share Disk Shared Folder with username and password
IPC$ IPC IPC Service (ubuntu server (Samba, Ubuntu))
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0]
Server Comment
--------- -------
xxx-PC 
UBUNTU ubuntu server (Samba, Ubuntu)
。。。

如果你的系统没有smbclient ,会提示你安装smbclient。

[html]  view plain  copy
  1. $sudo apt-get install smbclient  

7、使用

可以到windows下输入ip使用了,在文件夹处输入 "\\" "Ubuntu机器的ip”
输入账户名:dayu和密码。如果不能成功使用,可以调整虚拟机的网络连接方式,nat,关闭的防火墙,win7:控制面板—网络和intelent—防火墙,关闭ubuntu的防火墙,命令:sudo ufw disable.核实上面设置的访问用户对于Ubuntu共享文件夹所在的各个目录层次是否具有相应的访问权限,chmod命令

8、以上是有Samba登陆账户和密码的使用,下面是共享文件不需要登陆名和密码的情况

将security=share改为security=share   和  在配置文件添加的

[html]  view plain  copy
  1. valid users=dayu  去掉  
其他的和上面的一样。

折腾了一天,不容易,刚开始什么都不明白。


下面记录几个相关知识:
启动Samba服务器后,可以使用ps命令查看进程:
$ sudo ps -aux
可以看到Samba服务会同时启动两个服务,其中smbd主要用来管理共享出来的目录,nmbd主要用来解析NetBIOS名。在Windows系统中,主机可以被加入一个组中,这样每个主机都必须有一个名字,这个名字是用于在网上被标志的名,并非机器的主机名,将其称为NetBIOS名。其中nmbd进程是随着smbd进程启动而启动。

启动samba服务 sudo /etc/init.d/smbd start
关闭samba服务 sudo /etc/init.d/smbd stop
重启samba服务 sudo /etc/init.d/smbd restart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值