FC6下samba源代码安装以及环境配置

FC6下samba源代码安装以及环境配置

该文章是转载了他人的成果之后,结合自己实际操作所完成!

先学习一些基础。
samba
的核心是两个守护进程smbdnmbd程序,在服务器启动到停止期间持续运行。Smbdnmbd使用的全
部配置信息全都保存在smb.conf文件中。Smb.confsmbdnmbd两个守护进程说明输出什么以便共享,
共享输出给谁及如何进行输出。Smbd进程的作用是处理到来的SMB软件包,为使用该软件包的资源与
Linux
进行协商,nmbd进程使其它主机(或工作站)能浏览Linux服务器。
如果安装时用rpm安装,那么启动samba不用servicesmb start,service nmbd start,service smbd start也可以的。

smb.conf文件中,注释行以“#”开头,同时每项中英文字母不区分大小写,在一行最后字符尾加
\”,可将一行分成多行。用“;”开头的行,是可改变的配置,将“;”去掉时,该配置将取作用。

[global](
全局参数的设置,它对samba的功能具有很大的影响,主要用来设置整个系统规则。
workgroup=
这是你在windows中的域。
server string=
这是在windows中看到你的samba的解释。
netbios name =
最好是你的机器名,如果把改句注消,默认的是你LINUX机器名,不过,最好还是自己填上
dos charset=cp936

unix charset=cp936 加上这二句就可以正确显示中文了。
hosts allow
允许登录的linux-samba的主机名单,用IP地址给出,多个IP地址用空格分开,不在名单中的主机将不能得到samba提供的服务,这也是网络安全的一个方面。
printcap name
指定printcap文件地址,通常为/etc/printcap,包含了linux打印机的配置信息。
load printers
允许使用共享打印机时,默认值为yes
printing
如果使用的打印机是非标准的,那么应该指出打印机系统类型。
log file = /usr/local/samba/var/log.%m

max log size = 0

  上面这两行则是Samba日志的相关定义。其记录文件的位置是放在/var/log/samba/%m.log,安装目录不一样,日志可不一样,后面的一条是定义日志记录文件的大小,单位是KB,如果是0的话就不限大小。
guest acount
来宾帐户,表示用哪一个Linux用户作为所要的客户连接,定义Samba缺省的用户账号,这个账号必须在/etc/passwd中。

security
指定安全模式。大多数用户使用user级的安全模式,samba用本地linux口令文件验证。

security = security_level

定义Samba的安全级别,按从低到高分为四级:shareuserserverdomain。它们对应的验证方式如下:
share:没有安全性的级别,任何用户都可以不要用户名和口令访问服务器上的资源。
user:samba的默认配置,要求用户在访问共享资源之前资源必须先提供用户名和密码进行验证。
server:user安全级别类似,但用户名和密码是递交到另外一个服务器去验证,比如递交给一台NT服务器。如果递交失败,就退到user安全级。
domain:这个安全级别要求网络上存在一台Windows的主域控制器,samba把用户名和密码递交给它去验证。
    后面三种安全级都要求用户在本linux机器上也要系统帐户。否则是不能访问的
smb passwd file=/etc/samba/smbpasswd (
设置smb密码文件的位置)
username map =/etc/smbusers

encrypt passwords =no 采用的时明文密码验证,如果是加密的,就改为yes

一、获取源代码包并进行解压

通过http://ftp.samba.org/pub/samba/old-versions/

下载对应的samba源码包samba-3.0.24.tar.gz

通过vmware共享/mnt/hgfs目录拷贝到Linux下

# tar –xzvf samba-3.0.24.tar.gz

#mkdir /usr/local/samba

二、配置configure

对源代码包进行解压缩后,进入目录

# cd /home/samba/samba-3.0.24/source

然后执行下面的命令进行配置。

# ./configure --prefix=/usr/local/samba/ 安装到/usr/loca/samba

可能在刚开始时,该目录下没有configure文件,此时可先执行下面的命令

# ./autogen-sh

此时要求系统安装了autoconf、automake等工具。

在运行上面的配置命令之前,我们可以通过命令

# ./configure –-help

来查看配置命令的一些选项。

三、生成与安装make && make install

在环境配置命令./configure成功执行后,可以运行命令来生成二进制可执行文件,这可能需要两到三分钟。成功生成可执行文件后,可以通过下面命令(如果是分别执行会报错)

# make&& make install

来进行安装。系统默认的安装路径是/usr/local/samba

完成文件的创建和拷贝

#cd /usr/local/samba/ 到安装目录看看
#ls     查看安装好的文件有以下文件
bin include lib man private sbin swat var 安装成功

怎么没有etc目录和smb.conf文件呀,那我自己创建一个
#mkdir etc

下面的文件复制是因为后面的设置会用到,所以提前拷贝了

#cp~/love/samba/samba-3.0.7/examples/smb.conf.default ./etc/smb.conf

#cp /usr/local/samba/etc/smb.conf/usr/local/samba/lib/

 

四、配置动态链接库路径

安装完成后,我们需要配置动态链接库路径,因为运行samba的进行smbd和nmbd需要到目录/usr/local/samba/lib下的动态链接库文件。但是该目录不是系统默认的动态链接库文件搜索路径,于是我们需要将该目录添加到文件ld.so.conf中。执行下面的命令

# vi /etc/ld.so.conf

打开ld.so.conf文件,并在该文件中加入下面这一行内容。

/usr/local/samba/lib

然后执行命令

# ldconfig

来更新动态链接库缓冲。

五、samba配置文件smb.conf

samba在运行过程中需要用到配置文件smb.conf。smb.conf配置文件是samba最重要的配置文件,该文件定义了samba的安全机制、文件共享和打印共享的目录和参数以及其他一些系统配置功能。

配置文件smb.conf的默认路径是/usr/local/samba/lib/smb.conf,我们可以在运行smbd进程时,通过-s选项来执行特定的smb.conf文件(具体说明见下一节),一般不推荐使用-s选项,因为其配置工具,如smbclient、testparm等默认都是读取/usr/local/samba/lib/smb.conf文件。下面我们以一个简单的配置文件进行说明,其路径为/etc/samba/smb.conf。

[global]
        workgroup = MYGROUP
        server string = Samba Server
        log file = /var/log/samba/%m.log
        max log size = 50
        dns proxy = No
        cups options = raw


[homes]
        comment = Home Directories
        read only = No
        browseable = No


[printers]
        comment = All Printers
        path = /usr/spool/samba
        printable = Yes
        browseable = No


[opt]
        comment = opt
        path = /opt
        read only = No
        guest ok = Yes

上面配置文件定义了root和public两个文件共享服务。关于上面这个配置文件的具体细节,我们这里不做详细的论述。这里主要说明的一点:在samba 3.0.23版本以前验证用户密码的默认backend是smbpasswd,而3.0.23版本之后的默认backend是tdbsam。我们可以通过参数passdb backend来选择特定的backend。在使用smbpasswd时默认读取的密码文件时/usr/local/samba/private/smbpasswd,我们可以通过smb passwd file来指定特定的密码文件。

在配置完smb.conf文件后,我们可以运行testparm(目录/usr/local/samba/lib下)命令来对smb.conf文件进行语法检查,其会检测出哪些参数名无法识别等问题。

六、启动samba

samba有两个主要的进程smbd和nmbd。smbd进程提供了文件和打印服务,而nmbd则提供了NetBIOS名称服务和浏览支持,帮助SMB客户定位服务器,处理所有基于UDP的协议。

配置smb.conf文件后,在开始运行samba的服务进程之前。我们需要先做一些准备工作。运行smbpasswd命令(在目录/usr/local/samba/bin下)

# ./smbpasswd –a root

向smb.conf文件中指定的/etc/samba/smbpasswd文件中添加root用户以及密码信息。关于smbpasswd文件的详细内容介绍见相关文档。

然后运行命令(重启之后需要再执行如下三条指令)

# service iptables stop

关闭防火墙,因为防火墙可能会阻止用户访问该机器。下面是运行samba的服务进程smbd和nmbd

# /usr/local/samba/sbin/smbd–D –s/etc/samba/smb.conf
# /usr/local/samba/sbin/nmbd –D –s /etc/samba/smb.conf

上面的-D选项指定smbd和nmbd以守护进程的方式启动,并且通过-s选项指定了特定的配置文件/etc/samba/smb.conf。以守护进程方式启动smbd和nmbd的优势是响应速度快,但是要关闭的话只能kill掉。当然我们可以通过脚本来执行这些操作,这里就不提供脚本了。

七、smbclient进行测试检查

在启动samba之后,我们可以在本机使用smbclient(目录/usr/local/samba/bin下)来进行测试。下面命令

# cd /usr/local/samba/bin
# ./smbclient –L //127.0.0.1

可以列出本samba服务器所提供的服务列表,本例运行结果如下:

[root@localhostbin]# ./smbclient –L //127.0.0.1
Enter root’s password:
Domain=[MYGROUP]  OS=[Unix] Server=[Samba 3.5.9]

         Sharename                Type                  Comment
         ---------                -------               -------
         IPC$                     IPC                   IPC Service (Samba Server3.5.9)
         public                   Disk                
         root                     Disk

Domain=[MYGROUP]  OS=[Unix] Server=[Samba 3.5.9]   

         Server                             Comment
         -----------                        -------
         LOCALHOST                          Samba Server 3.5.9
      
         Workgroup                          Master
         ------------                       -------
         MYGROUP                            LOCALHOST

 

当然也可以通过smbclient来访问samba服务器提供的服务,其命令格式如下:

# ./smbclient “//serverAdderss/aservice” –U username

其中serverAddress是要访问的samba服务器的IP地址,aservice指定samba服务器上提供的某个服务名称,选项-U username指定要以哪个用户名来访问samba服务器。例如

[root@localhostbin]# ./smbclient “//127.0.0.1/root” –U root
Enter root’s password:                                       ; 这里输入samba用户root的密码Domain=[MYGROUP]  OS=[Unix] Server=[Samba 3.5.9]
smb: \>                                                     ;访问成功,输入相关命令进行操作

上面个smb: \>表明了访问成功,此时我们可以输入一些命令来在samba服务器上进行操作,比如ls、mkdir等。q或quit命令执行退出,并断开连接。

八、在Windows客户端访问samba服务器

在Windows客户端,可以在网上邻居中通过我的电脑输入\\192.168.1.27\来访问,或者在【开始】——【运行】中输入\\192.168.1.27\root来访问samba服务器192.168.1.27上面提供的root服务,会出现两个文件夹 root和opt

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值