家里有好几台电脑,一些常用的文件及像片为了方便使用,放置在了一台机器的共享文件夹之中,近期基于一些因素的考虑,准备将这个共享文件夹转移到LINUX系统之下,期间碰到了一些问题,遂将解决过程整理成文,以备查阅。
一、 软件环境
1. LINUX:2.6.9-5EL
2. WINDOWS:XP SP2
二、 架设过程
虽然LINUX当前也提供了丰富的图形界面操作功能,不过很多东西还是只能手工进行配置,而且,在进行sabma服务架设时,是通过远程操作进行的,为了降低网络传输量,所以整个过程采用命令方式进行。
1. 首先以root身份登录LINUX。实际的过程是先以普通用户身份远程登录到LINUX上,然后使用su命令转移到root权限。
2. 随后在LINUX上建立准备共享的文件夹名称,这里我建立的名称是sharefiles。
mkdir /sharefiles
3. 要将建立的目录以samba方式共享,需要修改samba的配置文件,相对应的配置文件名为cmb.conf,直接使用vi打开它。
cd /etc/samba
vi cmb.conf
4. 修改配置文件,增加共享设定。在cmb.conf文件的最后添加以下配置。
[sharefile]
path = /sharefile
guest ok = yes
[sharefile]是为了添加共享而增加的配置节,其名称可以根据需要命名并不需要与我们这里保持一致。
path项指定共享的文件夹名称,这里指定的是我们刚刚建立的文件夹/sharefile。
guest ok项指定是否允许以访客身份匿名访问,为了在不需要登录的情况下可以访问,此处的值设定为yes。
5. 上述过程完成后就可以启动samba服务,实现LINUX下与WINDOWS的文件共享了。
/etc/init.d/smb start
6. 在WINDOWS操作系统上使用网上邻居就可以访问由LINUX的samba提供的共享服务了。
三、 要注意的几个问题
1. 共享文件夹建立位置的问题
在建立samba共享文件夹时不要建立在/home目录之下,否则设定共享之后,在WINDOWS系统上进行访问时,将只可以看到共享文件夹的名称,而不能够进入该文件夹之中。
2. 共享文件夹后中文显示的问题
如果在共享文件平中存在有中文的话,那么为了在WINDOWS系统下访问共享文件时正常显示中文,需要在cmb.conf文件的[global]节下添加如下设定。这里的设定是针对LINUX字符集为UTF-8的情况,或许,在其它LINUX版本下,需要将这里的UTF-8替换为CP936。
dos charset = UTF-8
display charset = UTF-8
unix charset = UTF-8
3. 如果需要设定samba服务随开机自动启动,可以在root权限下执行以下指令。
/sbin/chkconfig smb on
四、 可能会用的其它常见配置说明
1. [global]下的部分配置
workgroup:设定工作组名称,对应于在WINDOWS系统中设定的工作组名称,默认值为mygroup,可以根据需要将其设定为需要的名称。当然,如果是通过IP地址访问共享,工作组名称的设定并不重要。
server string:设定服务器名称,对应于WINDOWS系统下的机器名称。
hosts allow:设定允许访问通过samba提供的共享服务的主机,通常使用IP网段的方式进行设定,例如“192.168.1.”表明从192.168.1.1至192.168.1.254的IP地址均可访问由samba提供的共享服务。
2. 共享目录下的部分配置
browseable:当其值为yes时,该共享目录可以被网络上的其它主机看到,其值为no时则不可见。
writable:其值可为yes或no,表明当前共享目录是否可写。