在RHFC3下配置SAMBA服务器

*************************************************************************

* 本文的目的是配置一个SAMBA服务器,以供自己学习研究使用

* 硬件环境:一台PCRH FC3,一个router,一个winXP client

* 192.168.1.21 SAMBA服务器,hostname atslxt001

* 时间:2005年8月2日星期二

* 作者:kilvon

* 版本:1.0

 1. SAMBA服务的两个进程

1. SAMBA服务的两个进程

            nmbdnetbios name server

            smbdSMB server

nmbd进程使得其他计算机可以浏览linux服务器,nmbd进程负责处理name registrationresolution的请求,它处理所有基于udp的请求,这个进程必须先启动;而smbd负责处理基于TCP/IP的请求,用于处理文件和打印服务,这个进程必须紧跟nmbd启动。

检查是否所有相关进程都以启动:

[root@atslxt001 ~]# ps ax | grep mbd

 1845 ?        Ss     0:00 smbd -D

 1850 ?        Ss     1:04 nmbd -D

 1853 ?        S      0:00 smbd -D

23859 ?        S      0:00 smbd -D

 

2. 相关的RPM:

[root@atslxt001 named]# rpm -qa | grep sam

system-config-samba-1.2.21-1

samba-common-3.0.8-0.pre1.3

samba-client-3.0.8-0.pre1.3

samba-3.0.8-0.pre1.3

 

3. samba配置文件是:/etc/samba/smb.conf

修改此文件后,用testparm命令检查语法错误

察看帮助文件#man 5 smb.conf

 

4. 启动停止samba的命令是:

#service smb start

#service smb restart

#service smb reload

#service smb stop

如果要求每次启动系统时SAMBA自动起来,可以:

[root@atslxt001 ~]# chkconfig --list smb

smb             0:off   1:off   2:off   3:off    4:off   5:off    6:off

[root@atslxt001 ~]# chkconfig smb on

[root@atslxt001 ~]# chkconfig --list smb

smb             0:off   1:off   2:on    3:off    4:on    5:on    6:off

 

5.首先从windows端访问linux,需要认证,这个用户需要在linux上面创建

Ø      先创建linux用户,可以使用命令useradd, adduser。如果只允许用户使用共享目录samba服务,而不需要使用shell,那么把该用户的home目录设成/dev/null,命令行设成/bin/false;如果用户名在/etc/passwd中已有,则无须再创建,直接创建samba口令即可

Ø      然后创建samba用户和口令,生成smbpasswd文件

#cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

                        或者可以用smbpasswd手工一个一个加用户和密码

Ø      一定要给root用户加口令,并且是等于windows domain administrator的口令,并且在windows domain groups初始化后不能删除

Ø      Windows上面的administratorlinux上面的root用户对应关系在这个文件里面指定:/etc/samba/smbusers

 

6Samba服务的配置如下:

[global]

#这个workgroup就是windows clients的域名

        workgroup = WORKGROUP

#指从其它机器中声明的samba server名称

        netbios name = FILESERVER1

#一个说明,在windows文件管理器上可以看见

        server string = Samba Server in atslxt001!

        password server = None

        username map = /etc/samba/smbusers

#每台机器一个log

        log file = /var/log/samba/%m.log

        max log size = 50

        name resolve order = host lmhosts dns wins bcast

#用来提高性能

        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

        printcap name = /etc/printcap

        domain logons = Yes

        dns proxy = No

        idmap uid = 16777216-33554431

        idmap gid = 16777216-33554431

#只有以以下ip地址开头的才可以使用samba服务

        hosts allow = 192.168.1., 192.168.2., 127.

        cups options = raw

 

#当联结请求建立时,系统扫描所有的sections, 就是这些[xxx],如果找到匹配的#section就使用其中的配置,如果没有找到,那么就去linuxpasswd文件中找是

#否有匹配的纪录,如果用户名和口令都正确,那么就使用[home]中的配置。

[homes]

        comment = Home directory is in /home/root

        path = /home/%U

        valid users = %S

        read only = Yes

        browseable = No

 

#同样,在建立连接时,扫描顺序是先是各个sections,没发现的话,再去找

#[home],如果有home就采用上面的机制,还没找到的话,就当作是一个print

#务请求,就去扫描相应的/etc/printcap文件来查看是否是已存在的共享printer

#字,找到匹配的话系统就使用[printers]下面的配置来建立一个新的打印机共享。

#请注意这时建立的share名称是那个共享的printer名字。

[printers]

        comment = All Printers

        path = /var/spool/samba

        printable = Yes

        browseable = No

        read only = Yes

        guest ok  = Yes

 

[public]

        comment = Public Stuff

        path = /home/samba

        write list = @staff

        guest ok = Yes

 

[kilvon]

        comment = kilvon's share on atslxt001

        path = /home/kilvon/shared

        valid users = kilvon

        read only = No

        create mask = 0754

 

7. smb.conf文件的一些说明

sections中有两类services,一类是文件共享服务file share service,另一类是打印服务printable services

 

8. 使用smbclient来验证以上的配置是否成功

[root@atslxt001 samba]# service smb restart

Shutting down SMB services:                                [  OK  ]

Shutting down NMB services:                                [  OK  ]

Starting SMB services:                                     [  OK  ]

Starting NMB services:                                     [  OK  ]

[root@atslxt001 ~]# smbclient -L //FILESERVER1 –U%

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.8pre1-0.pre1.3]

 

        Sharename       Type      Comment

        ---------       ----      -------

        public          Disk      Public Stuff

        kilvon          Disk      kilvon's share on atslxt001

        IPC$            IPC       IPC Service (Samba Server in atslxt001!)

        ADMIN$          IPC       IPC Service (Samba Server in atslxt001!)

        printer1        Printer   printer1

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.8pre1-0.pre1.3]

 

        Server               Comment

        ---------            -------

        FILESERVER1             Samba Server in atslxt001!

 

        Workgroup            Master

        ---------            -------

        WORKGROUP              FILESERVER1

 

注意-U%的功能是发送一个空的用户名和口令。

 

9.也可以直接从windows clients上打开“运行”,输入//atsltxt001.tcs.com/kilvon,然后系统会提示输入用户名和口令。也可以在windows命令行窗口里输入:C:/net use q: //FILESERVER1/kilvon,如果需要的话,系统会提示输入用户名和口令,然后会将网络驱动器映射到q:

 

如果需要从windows察看有哪些share可以使用:

C:/>net view //FILESERVER

 

10.还可以使用这个命令来象一个ftp客户端一样访问samba共享资源:

[root@atslxt002 ~]# smbclient -U kilvon%password // FILESERVER1/kilvon

Domain=[AGILENT] OS=[Unix] Server=[Samba 3.0.8pre1-0.pre1.3]

smb: /> dir

  .                                   D        0  Thu Jul 21 11:42:11 2005

  ..                                  D        0  Tue May 31 16:24:04 2005

  HelloTCS                                     0  Thu Jul 21 11:42:11 2005

  HelloWorld                          A        0  Thu Jul 21 11:41:04 2005

 

                2000 blocks of size 1024. 984 blocks available

smb: /> ls

  .                                   D        0  Thu Jul 21 11:42:11 2005

  ..                                  D        0  Tue May 31 16:24:04 2005

  HelloTCS                                     0  Thu Jul 21 11:42:11 2005

  HelloWorld                          A        0  Thu Jul 21 11:41:04 2005

 

                2000 blocks of size 1024. 984 blocks available

smb: /> get HelloTCS

smb: /> exit

 

11. 如果要使用图形界面SWAT来配置,那么在本机web browser上输入http://localhost:901/, 在其他机器上则把localhost换为机器名就可以了。

 

附录1

Ø      如果是使用Linux管理windows clients,并且windows有不同的域或者workgroup,那么还要创建二者的对应关系。可以使用以下命令:

#!/bin/bash

#

#Create Linux group

groupadd linuxgrp1

groupadd linuxgrp2

 

#map windows groups to Linux groups

net groupmap modify ntgroup=”Domain users” unixgroup=root

net groupmap modify ntgroup=”Domain users” unixgroup=users

net groupmap modify ntgroup=”Domain guests” unixgroup=nobody

 

#add functional domain groups

net groupmap add ntgroup=”windows group1” unixgroup=linuxgrp1 type=d

net groupmap add ntgroup=”windows group2” unixgroup=linuxgrp2 type=d

 

然后可以用这个命令检查对应关系

[root@atslxt001 ~]# net groupmap list | sort

 

 

附录2

Ø      Windows clientsip地址段和掩码要一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值