为了可以实现Linux与windows之间实现文件的共享,方便文件可以直接修改,而不是像以前需要拷贝文件再进行修改,samba的诞生是为了实现现在的这些需求。我们知道Linux之间可以使用NFS服务器来实现文件的共享,samba的诞生就是为了使windows能够访问Linux的资源。
下面是samba服务器环境搭建的过程:
在ubuntu中执行以下操作:
【1】sudo apt-get update //更新下索引
【2】sudo apt-get install samba samba-common //安装samba服务器
我在执行命令的时候出现以下问题:
出现这个问题可能是有另外一个程序正在运行,导致资源被锁不可用。而导致资源被锁的原因可能是上次运行安装或更新时没有正常完成,进而出现此状况,解决的办法其实很简单:
解决完问题之后继续执行安装命令。
安装完成之后会默认在/etc目录下面生成samba文件夹,其中有一个重要的文件:smb.conf
在修改smb.conf之前需要对该文件进行备份,以防修改错误导致无法使用。
【3】sudo mkdir gao //创建共享目录
【4】sudo chmod 777 /home/gao //设置共享目录的权限
【5】sudo vi /etc/samba/smb.conf //打开并修改配置文件
在文件后添加
[myshare]
comment=my share directory
path=/home/gao
browseable=yes
public=yes
writable=yes
保存退出。
【6】sudo smbpasswd –a linux (你的用户名) //设置密码
【7】sudo service smbd restart //重启samba服务器
【8】在windows上执行win+R 输入ubuntu的ip地址,如:\\192.168.8.244,
选择对应的共享目录双击,可以直接登录,看到共享目录中的内容。
如果想使用账号和密码登录,输入用户名和密码即可登录。
我们看到的myshare就是配置文件中[myshare]的名字,里面的内容就是对用共享目录中的内容。
以下是对smb.conf文件中部分内容的解释:
1. #全局参数
2. [global]
3.
4. #设定Samba Server所要加入的工作组或者域
5. workgroup = WORKGROUP
6.
7. #设定Samba Server的注释
8. server string = %h server (Samba, Ubuntu)
9.
10. #设置Samba Server监听哪些网卡,可以写网卡名,也可以写该网卡的IP地址。
11. ; interfaces = 127.0.0.0/8 eth0
12.
13. #设置Samba Server日志文件的存储位置以及日志文件名称.
14. #在文件名后加个宏%m(主机名),表示对每台访问Samba Server的机器都单独记录一个日志文件。
15. log file = /var/log/samba/log.%m
16. #设置用户访问Samba Server的验证方式,一共有四种验证方式。
17. security = user
18. #1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
19. #2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
20. #3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
21. #4. domain:域安全级别,使用主域控制器(PDC)来完成认证。
22.
23. #[myshare] 共享名
24. #comment是对该共享的描述,可以是任意字符串。
25. #path = 共享目录路径
26. #browseable用来指定该共享是否可以浏览。
27. #writable用来指定该共享路径是否可写。
28. #public用来指定该共享是否允许guest账户访问。
29.
30. [myshare]
31. comment=my share directory
32. path=/home/gao
33. browseable=yes
34. writable=yes
35. public=yes