初学linux,发现一个有趣的现象,就是可以从window上可以直接访问linux服务器,对文件进行复制、粘贴等操作。这样的话,对于写代码而言是事半功倍的。刚开始以为只要利用ifconfig命令配置好网络就行了,试过之后才发现,此路不同。后来才知道需要设置samba。
什么是samba
采用百度百科的说法,就是在linux或unix系统上实现smb协议的一个免费软件,由客户端和服务器端组成。samba的主要功能是windows主机和linux服务器间的资源共享,使其能互相通信。
如何创建samba
1.目前来说,大部分的linux操作系统都会默认安装samba服务包,如果不确定的话,可以使用命令:rpm -qa | grep samba 来查询是否安装了samba服务包,一般来说,是可以查询到几个包的。
2.新建一个用户,在/home下查看这个用户权限,利用chmod 命令保证其他用户有权限访问到此用户。使用smbpasswd -a 用户名 命令来添加这个用户到samba,设置其密码。
3.现在主要就是要配置smb.conf文件了,这个文件所在的路径一般是/etc/samba/smb.conf。其中记录许多信息,我们可以在这个文件里添加部分内容,使其能支持一个或多个samba账户。
4.在配置文件中做如下修改:
在standalone server options后,将security改为share:
security = share
在share definitions后,添加如下语句:
[用户名]
comment = 用户名
path = /home/用户名
browseable = yes
public = yes
guset ok = yes
writable = yes
然后,保存退出。
5.如果无法访问samba用户,先使用ping命令看网络是否通畅,如果通畅,再利用setup命令对系统进行相关设置:关掉防火墙、系统默认启动的时候开启smb、nmb、nfs等,然后保存退出。
6.重启samba服务器,可以使用/etc/init.d/smb restart 命令实现,也可以使用smbd和nmbd命令开启smb和nmb服务器。可以利用命令pgrep smbd 和pgrep nmbd来查看smb和nmb服务是否开启。如果没有开启,则将其开启。关闭防火墙,可以使用ipbtables -F命令。
7.如果仍旧无法使用samba,可以使用命令smbclient -L //127.0.0.1 -U 用户名 在samba服务器这边测试,如果测试是无法通过的,可以关闭SELINUX,进入/etc/selinux 目录,然后修改config文件:
SELINUX=disabled
重启服务器。
8.如果还是不行的话,就可能是netbios的问题了,需要修改本机的netbios设置。右键单击“网络邻居”,选择“属性”;右键单击“本地连接”,选择“属性”;选择“internet协议(tcp/ip)”,点击“属性”按钮;打开打开tcp/ip属性对话框,选择“高级”;在“WINS”选项中选择“启用TCP/IP上的NetBIOS”即可。
9.这样的话,就可以通过本机访问linux服务器上的samba了。
以上只是针对自己目前所遇到的问题提出相应的解决方法,需要有更多的了解,要查看其它相关资料。
参考资料:
http://wenku.baidu.com/view/eb6c6ec805087632311212e4.html
http://www.linuxdiyf.com/viewarticle.php?id=1145
http://www.sudu.cn/info/html/edu/20070102/285161.html
http://hi.baidu.com/tianshisixu/blog/item/ebe143976c39d47c54fb96a2.html