Chinaunix首页 | 论坛 | 博客
  • 博客访问: 894801
  • 博文数量: 322
  • 博客积分: 6688
  • 博客等级: 准将
  • 技术积分: 3626
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-19 11:26
文章分类

全部博文(322)

文章存档

2013年(5)

2012年(66)

2011年(87)

2010年(164)

分类: LINUX

2010-11-18 10:54:56

玩linux也有有一段时间了,作为一个初学者,遇到的麻烦实在不少。所幸这是个网络时代,在众多好心大哥帮助下,我跛子般一关一关闯了过来,其间酸甜苦辣实在让人回味。向这世界上千千万万伟大的linux程序员致敬,是他们让我们能有这么优秀的操作系统可用。这篇东西主要是给刚接触linux的而又急切想配一个服务器的朋友看的,由于鄙人水平有限,错误有所难免,欢迎大家指证。
现就以本公司的网络架构为例,来说一下linux服务器的配置。在正式配置之前先说一下这个服务器所要实现的功能:

1.       数据共享
2.       打印共享
3.       模拟NT域
4.       ADSL共享
5.       内部DNS服务
6.       DHCP服务
7.       FTP服务
8.       WWW服务
9.       OPENSSH
10.       磁盘配额
11.       动态域名

网络架构如下:[如下图]

 

           Network:10.10.0.0 
           Server IP:10.10.1.1
           Server Subnet-mask:255.255.0.0
           Client IP:10.10.1.10-10.10.1.100
           Client Subnet-mask:255.255.0.0
           Client getway:10.10.1.1
           Client DNS:10.10.1.2,202.96.134.133

一、准备工作:

1.       RedHat linux 7.2光盘一套
2.       以太ADSL拔号器及您的ADSL接入帐号
3.       两张网卡,最好是即插即用的,免跳线的请察明irq和io。
4.       当然啦,除本机以外的其它机器

二、       RedHat linux 7.2安装:

1.初学者建议用图形界面,请用定制安装。

2系统分区如下(10G):
swap:500M
/:2G
/var:1G
/home:2G
/tools:500M
/data:4G
分区的合理化请参考相关文章。

3.若是即插用网卡,系统能检测到,请设置好ip地址,子网掩码等,请分别设为10.10.1.1和10.10.1.2,subnet-mask为255.255.0.0;若是免跳线网卡,那就等装好系统再设置吧。

4.软件包选择,要全选上也没关系,只要你有空间,若是空间有限有话,不妨定制一下软件包,下面是我的选择,仅供参考:
Printing Support                        
Network Support
Dialup Support
SMB:windows file server
WWW:web server
DNS:DNS name server
Software Development                   

5.好了,现在就next一路安装下去吧,最后不要忘了做一张启动盘。

三、linux网络环境配置

1]重启机器进入系统以后,去掉一些不必要的服务吧,留着它们启动速度慢,而且也不安全,下面是我机器刚安装好以后所保留的一些服务:
gpm/iptables/netfs/network/nfs/nfslock/portmap/syslog/xfs/xinetd
至其它的服务,等我们配置好再加载吧。

2]安装linuxconf,配置网络。
放入光盘1
mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom/RedHat/RPMS
rpm –ivh linuxconf-1.25r7-3.i386.rpm         
请用setup/system services或是chkconfig –levlel 3 linuxconf on将linuxconf设置为系统自启动服务。
netconf选择Host name and IP network devices进行主机名及网络设置:
Host name + domain:cxserver
------第一张网卡----------
config mode:Manual
primary name + domain:abc
Ip address:10.10.1.2
Netmask:255.255.0.0
Net device:eth0
Kernel Module:ne
I/O port:0x300
Irq:3
------第二张网卡----------
config mode:Manual
primary name + domain:cxserver
Ip address:10.10.1.1
Netmask:255.255.0.0
Net device:eth0
Kernel Module:ne
I/O port:0x320
Irq:5
选择Accept退出,重新启动就会看到eth0和eth1两网卡启动成功,进入系统后可用ifconfig命令查看状态,用ping命令测试其连通性,比如ping一部windows机器。

四、DNS服务器配置

为了让局域网内部用户访问服务器方便一点,配置一个DNS服务器是十分有必要的,毕竟一个名字总比一串数字好记,下面我将服务器10.10.1.1配一个域名,,好,开始行动:
需要配置的文件:
/etc/named.conf                   
/etc/resolv.conf
/var/named/named.hosts
/var/named/named.local
/var/named/named.10.10

1]配置/etc/named.conf文件。此文件是dns引导文件,named进程在启动时要读取它。
vi /etc/named.conf
// generated by named-bootconf.pl    
    options {
            directory "/var/named";
            // query-source address * port 53;
    };

    zone "." IN {
            type hint;
            file "named.ca";
    };
//----------------------手工添加如下两节------------------------------
    zone "cx.com" IN {                         
type master;
file "named.hosts"; 
};                

    zone "10.10.in-addr.arpa" IN {
            type master;
            file "named.10.10";
    };
//------------------------------------------------------------------------------
    zone "0.0.127.in-addr.arpa" IN {
            type master;
            file "named.local";
    };

// include "/etc/rndc.key";

以下的三个文件是DNS数据库文件,具体参数不作详解,请参考相关资料。

2]vi /var/named/named.local

$TTL    86400
@       IN      SOA     ns.cx.com. root.ns.cx.com.  (
                                           1997022700 ; Serial
                                           28800      ; Refresh
                                           14400      ; Retry
                                           3600000    ; Expire
                                           86400 )    ; Minimum
                   IN      NS      ns.cx.com.

      1       IN      PTR     localhost.

3]vi /var/named/named.hosts
     @  IN   SOA   ns.cx.com. root.ns.cx.com. (
                               2002042302; serial
                               28800; refresh
                               14400; retry
                               3600000; expire
                               86400; minimu
                               )
                   IN    NS    ns.cx.com.
    cx             IN    A     10.10.1.1
    cx1            IN    A     10.10.1.223
    www            IN    CNAME ns.cx.com.
ftp            IN    CNAME cx

4]vi /var/named/named.10.10    
@  IN   SOA   ns.cx.com. root.ns.cx.com. (
                           2002042302; serial
                               28800; refresh
                               14400; retry
                               3600000; expire
                               86400; minimu
                               )
                 IN    NS      ns.cx.com.
    1            IN    PTR     ns.cx.com.
    2            IN    PTR     ns1.cx.com.

5]编辑/etc/resolv.conf文件
vi /etc/resolv.conf
domain cx.com
nameserver 10.10.1.1

好,让我们来启动服务吧:
/etc/rc.d/init.d/named start
chkconfig –level 3 named on    #将dns服务设置成系统服务,开机自启动
测试:ping cx.cx.com
ping 
ping ftp.cx.com
或用nslookup,用法请参考nslookup –help。

五、       DHCP服务器配置

1]安装dhcp。
放入光盘1或是光盘2
mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom/RedHat/RPMS
rpm –ivh dhcp-2.0p15-8.i386.rpm
请用setup/system services或是chkconfig –levlel 3 linuxconf on将linuxconf设置为系统自启动服务。

2]配置dhcpd.conf文件。
Vi /etc/dhcpd.conf
subnet 10.10.0.0 netmask 255.255.0.0{
range dynamic-bootp 10.10.2.0 10.10.2.100;       #IP地址分配范围
option routers 10.10.1.1;                       #默认网关
option subnet-mask 255.255.0.0;                 #默认子网掩码
option domain-name "cx.com";                  #默认域名
option domain-name-servers 10.10.1.1,202.96.134.133;   
}
#最后一行:DNS服务器设置,之所以把10.10.1.1放在前面是想让客户机在作域名解析的时候优先选择内部dns服务器,若域名不能解析,则用下一个dns服务器解析,202.96.134.133是深圳地区ADSL上网用户主DNS服务器.用下一个dns服务器解析,202.96.134.133是深圳地区ADSL上网用户主DNS服务器。

3]启动服务:/etc/rc.d/init.d/dhcpd start

4]使用:不论Win9x还是2K都使用自动获取IP地址,其它什么都不用设。

六、       ADSL及防火墙配置

1]下载软件:

2]安装软件:
tar zxvf rp-pppoe-3.5.tar.gz
cd rp-pppoe-3.5
./go              #开始安装软件

3]软件安装好后,会运行设置程序adsl-setup
    
    USER NAME
    >>> Enter your PPPoE user name (XXX):________  #此处填写ADSL用户帐号

    INTERFACE
     (default eth0):_____                          #以太接口,eth0或者eth1

    >>> Enter the demand value (default no):          #可以不填

    DNS
    >>> Enter the DNS information here: 202.96.134.133 #本地电信提供的主域名服务器
    >>> Enter the secondary DNS server address here: #本地电信提供的辅助域名服务器

    PASSWORD
    >>> Please enter your PPPoE password:
    >>> Please re-enter your PPPoE password:          #密码 

    FIREWALLING
    0 - NONE: This script will not set any firewall rules.  You are responsible
              for ensuring the security of your machine.  You are STRONGLY
              recommended to use some kind of firewall rules.
    1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
    2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway
                    for a LAN
>>> Choose a type of firewall (0-2): 0           
防火墙设置,选择2可使主机设成局域网的internet网关,将客户机网关设为本机IP,DNS设为电信提供的DNS服务器IP即可上网了,它是由ipchains之ip伪装实现的,而rh7.2中的ipchains已经没有了ip_masq_ftp模块,所以客户机无法使用FTP服务,因此我们在这里不用防火墙,选择0。在rh72中已经有了iptables,它是ipchains的替代品,功能也更为强大了,呆会儿我们写一个脚本,用它来实现ADSL共享。

>>> Accept these settings and adjust configuration files (y/n)? y  #保存设置

4]接下来,我们编写一个脚本/etc/rc.d/firewall
vi /etc/rc.d/firewall
#!/bin/sh
echo "Start iptables rules..."
/etc/rc.d/init.d/iptables stop
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

iptables -N mine
iptables -A mine -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A mine -m state --state NEW -i ! ppp0 -j ACCEPT
//允许外部访问我的www服务器
iptables -A mine -p tcp --dport 80 -i ppp0 -j ACCEPT
//允许外部使用openssh服务,openssh相当于telnet,但是它的数据传输是加密的,
//所以更安全,强烈推荐使用。
iptables -A mine -p tcp --dport 22 -i ppp0 -j ACCEPT
//允许外部访问我的ftp服务器
iptables -A mine -p tcp --dport ftp -i ppp0 -j ACCEPT
iptables -A mine -p tcp --dport ftp-data -i ppp0 -j ACCEPT
//禁止外部ping我
iptables -A mine -p icmp --icmp-type echo-request -i ppp0 -j DROP
//
iptables -A mine -i ppp0 -m limit -j LOG --log-prefix "Bad packet from ppp0:"
iptables -A mine -i ! ppp0 -m limit -j LOG --log-prefix "Bad packet not from ppp0:"
iptables -A mine -j DROP

iptables -A INPUT -j mine
iptables -A FORWARD -j mine

//iptables功能十分强大,这里不作详解,使用方法请参考相关资料。

5]将这个脚加入到/etc/rc.d/rc.local里去,让它开机时自动运行。
chmod 700 /etc/rc.d/firewall        #将firewall设为可执行文件
echo firewall >> /etc/rc.d/rc.local
当然也可以用vi编辑/etc/rc.d/rc.local文件,在尾部加入一行firewall即可。

6]chkconfig –level 3 iptables on       #开机时启动iptables

7]好,重启,用root登录系统
用adsl-start命令连接网络,几秒以后出现.Connected,OK,网络已经连通,好!我们来测试:前提:前面写的防火墙脚本已经运行,内部局域网已经连通,DHCP服务已经运行,将客户端tcp/ip设置为自动获取IP地址,其它的什么都不用填,重启登录以后,试试www/ftp/qq等服务吧,速度奇快,爽死你,哈哈。

8]存在的问题:
ping一下前面我们设置的域名服务器吧,ping [url[/url],你会发现ping不通,为什么呢?你应该还记得我们在安装设置adsl的时候,填入了本地电信dns服务器地址,哈,就是它惹的祸。我们在运行adsl-start的时候,会调用adsl-connect脚本,而它会重写/etc/resolv.conf文件:
原来的:cat /etc/resolv.conf
          domain cx.com
          nameserver 10.10.1.0
现在的:cat /etc/resolv.conf
          nameserver 202.96.134.133
在这种情况下DNS服务器要是运行起来了,那才稀奇了,呵呵。
解决方法:
修改/etc/resolv.conf文件:
    vi /etc/resolv.conf
    domain cx.com
    nameserver 10.10.1.1
    nameserver 202.96.134.133
修改/usr/sbin/adsl-connect脚本文件:
    vi /usr/sbin/adsl-connect
    找到下面几行,并将其注释掉:
    ---------------------------------------------------------------------------
    if test "$DNSTYPE" = "SERVER" ; then
        # Sorry, dude...
        rm -f /etc/resolv.conf
        ln -s /etc/ppp/resolv.conf /etc/resolv.conf
    elif test "$DNSTYPE" = "SPECIFY" ; then
        # Sorry, dude...
        rm -f /etc/resolv.conf
        echo "nameserver $DNS1" > /etc/resolv.conf
        if test -n "$DNS2" ; then
            echo "nameserver $DNS2" >> /etc/resolv.conf
        fi
    fi
    -----------------------------------------------------------------------------

9]重启,ADSL连接成功,DNS服务器正常,OK,继续前进吧!

七、文件(打印)服务器、模拟NT域的实现。

1]编辑/etc/samba/smb.conf文件
vi /etc/samba/smb.conf
       [global]
       workgroup = CX                  #把它当成NT登录域吧
       server string = Samba Server
       netbios name = cxserver            #服务器的netbios名字
       hosts allow = 10.10.1. 10.10.2. 127.   #只允许10.10.1.0、10.10.2.0网段访问
       printcap name = /etc/printcap
       load printers = yes
       printing = lprng
       log file = /var/log/samba/%m.log
       max log size = 0
       security = user               #安全等级为user级,访问资源需要身份验证
       encrypt passwords = yes         
       smb passwd file = /etc/samba/smbpasswd
       socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
       domain master = yes
       preferred master = yes
       domain logons = yes             #可以登录
       dns proxy = no

     [homes]                         #登录后可以看到用户home目录
       comment = Home Directories
       browseable = no
       writable = yes
       valid users = %S
       create mode = 0664
       directory mode = 0775
    
     [printers]             #若有打印机,在\\mineserver中可看到打印机,右键安装
       comment = All Printers
       path = /var/spool/samba
       browseable = no
       guest ok = no
       writable = no
       printable = yes

     [public]      #共享/mnt/data/public文件夹,共享名为public,admin组有写权限
       comment = software
       path = /mnt/data/public
       public = yes
wirte list = @admin

2]用testparm测试/etc/samba/smb.conf文件中语法是否正确

3]/etc/rc.d/init.d/smb start启动服务,并用smbclient –L localhost测试服务器是否正常,若是提示输入密码,回车以后看到服务器信息,则服务器正常。

4]添加用户和组
useradd test
groupadd admin
gpasswd –a test admin

5]设置smb用户密码
smbpasswd –a test
输入密码并验证

6]用setup之Printer configuration配置一本地打印机,其过程请参考相关资料,这里不过多赘述。

7]测试:
请设置windows机器的网络属性,登录方式为网络用户登录,直接登录到NT域,NT域为cx,重启后用前面添加的test帐号登录,密码为smbpasswd –a test时设置的密码,进行系统后用控制面板之”用户及密码”可修改登录密码。
打开网上邻居,看是否能浏览到cxserver,亦可用\\cxserver访问。
最后设置:chkconfig –level 3 smb on         #让smb开机自动运行

八、磁盘配额

前面我们在配置文件共享的时候,有一个共享资源为homes,如aa登录,在\\cxserver中有一个aa文件夹,aa用户对这个文件夹具读写权限,

如若我们不限制aa的话,他有可能会将硬盘塞满,任何一个管理员都不希望看到这种事情,下面我们用quota来实现对用户使用磁盘空间的限制。

1]首先明白一个概念,quota是针对分区的,所以我们在前面安装linux的时候单独分了一个/home区。

2]而所有的用户home目录都在/home下,现在开始在home目录下建立两个文件:
cd /home
touch quota.user
touch quota.group
chmod 600 quota.user                 //只允许root对这两个文件读写
chmod 600 quota.group

3]在/etc/rc.d/rc.local文件尾部加入quota启动脚本:
if [ -x /sbin/quotacheck ]
            then
            echo "Checking quotas. This may take some time..."
            /sbin/quotacheck -avug
            echo "Done"
          fi
          if [ -x /sbin/quotaon ]
          then
            echo "Turning on quota"
            /sbin/quotaon -avug
            echo "OK"
fi

4]修改/etc/fstab文件中定义/home分区的那一行:
原内容:  /dev/hda3  /home  ext3   defaults                 1 2
新内容:  /dev/hda3  /home  ext3   defaults,usrquota,grpquota  1 2
看得出来只是在defaults后面加了usrquota,grpquota而已。
注意啊,是usrquota而不是userquota,若是错了,后果难以预料。

5]重启,在启动过程中会出错,主要是因为quota在/home目录下打不到aquota.user和aquota.group两个文件,没关系,咱们进了系统以再慢慢收拾它。

6]用root登录,然后我们生成aquota.user和aquota.group两个文件:
convertquota -u /home
convertquota –g /home
若以上步骤不出错的话,我们用ls /home –al就会看到aquota.user,aquota.group两
个文件了

7]再重启,注意观察,不会再出错了。进入系统后就可以对用户home目录进行限制了。比如现在有一个test用户,我们对他进行限制:
edquota –u test      #此命令将进入一个vi编辑模式,其内容如下:
Filesystem    blocks     soft     hard       inodes      soft      hard
/dev/hda3     0         0       0          0          0        0
注解标识:   A         B       C         D          E        F 
在讲解各参数之前先说说限制的两种方式:soft,hard
soft:又称软限制,当用户到达这个限制以后,系统会给予警告,但仍可写入。
hard:又称硬限制,到达这个限制,就完全禁止任何写入啦。
ABC为磁盘空间的限制设置,而DEF为总文件个数的限制
A:已使用空间,无需要设置
B:用户空间使用限制,为软限制,需要设置。
C:用户空间使用限制,为硬限制,需要设置。
D:已有文件总数,无需要设置。
E:文件总数限制,为软限制,需要设置。
F:文件总数限制,为硬限制,需要设置。

我们要限制test用户使用空间100M,最多不能超过120M,文件总数为2000个,
最多不能超过2500个,设置如下:
Filesystem    blocks   soft       hard       inodes   soft     hard
/dev/hda3     0       102400   122880    0       2000    2500 
注:空间限制是以k为单位的。

8]测试:进入自己的home目录,然后拷贝文件,若是超过120M,就不允许再写入了。

9]其它命令的使用:
复制相同调协至其它用户:
edquota –p test –u username1 username2 username3 username4……
显示某个用户当前磁盘使用情况:
quota –v username
显示所有用户当前磁盘使用情况:
repquota –a
其它的一些命令请参考相关资料。

九、FTP服务器:

Rh72自带了wu_ftp,但是由于其毛病不少,所以我们不用它,我们用性能及安全性能均优于它的proftpd来代替它。

1]下载软件:

2]安装:
tar zxvf proftpd-1.2.5.tar.gz
cd proftpd-1.2.5
./configure –prefix=/usr/local/proftpd       //指定安装在/usr/local/proftpd目录下
make
make install
cp contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd
chmod 700 /etc/rc.d/init.d/proftpd
chkconfig –level 3 proftpd on              //设置为系统自启动服务
cp /usr/local/proftpd/sbin/proftpd /usr/sbin    //将proftpd拷至/usr/sbin目录下,让系
统能自动搜索到,也免得再去加一个搜索路径

3]配置/usr/local/proftpd/etc/proftpd.conf文件:
vi /usr/local/proftpd.conf
ServerName            "Xchen  FTP  server"          //服务器登录提示
ServerType             standalone
DefaultServer           on
Port                            21
Umask                           022
MaxInstances                    30
User                            nobody
Group                           nobody    //原来为nogroup,请改成nobody
RequireValidShell off                         //手动添加此名,重要
//限定test组用户只能访问自己的home目录,而不能向上浏览
DefaultRoot ~ test
//限定test组用户只能访问自己的/home/ftp目录,不能向上浏览
DefaultRoot ~/ftp test
//限定music组用户只能访问/home/music目录,不能向上浏览
DefaultRoot /home/ftp music
//除music组中bb用户外都能访问/home/music目录,不能向上浏览
DefaultRoot /home/ftp music,!bb
//上面组需要自己建立:groupadd test,gpasswd –a username test
ServerIdent off                         //登录时不显示版本信息

  AllowOverwrite                on

                  //  /home/ftp为匿名用户登录目录       
  User                          ftp
  Group                         ftp
  UserAlias                     anonymous ftp
  MaxClients                    10
  DisplayLogin                  welcome.msg
  DisplayFirstChdir             .message
  
    DenyAll
  



4]启动服务:/etc/rc.d/init.d/proftpd start

5]测试,在客户端用FTP软件或命令行FTP程序进行访问ftp.cx.com。

6]proftpd技岂只此,还有很多高级应用,请参考相关资料,这里就不多赘述。

十、WWW服务

www服务用apache来实现,步骤极其简单,当然,这里说的是初级应用。因为我们要实现的是简单的www服务,所以只需更改下面几个参数即可:

1]Vi /etc/httpd/conf/httpd.conf
ServerName 
DocumentRoot ”/var/www”

2]拷贝网页文件到/var/www目录

3]启动服务:/etc/rc.d/init.d/httpd start
将httpd设置为系统自启动服务:chkconfig –level 3 httpd on

4]测试:在ie中用测试。

为什么把www服务讲得这么简单呢,主要是因为这种单一类型的网页文件服务用得较少,现在大多数都要用cgi,asp,php,还有数据库等,关于这方面配置还请参考相关资料,这里不作详解。

十一、动态域名服务
动态域名这个叫法不大妥当,应该叫动态ip for 域名才对。到现在为止,ftp和www服务我们都实现了,在局域网内可以用来访问,但是我们已经用ADSL连通了internet,我们怎样让外部访问我们的ftp,www服务器呢,总不成每都通知对方服务器的IP吧,所以就要用到动态域名服务,大致原理是每次ADSL拔号时将自身IP更新到外部DNS服务器数据库中所对应的那个域名,所以我们每次访问这个域名就可以了,在这里讨论一下提供的动态服务的实现。
1]登录网站,注册一个用户,并申请一个动态域名xxxx.3322.org。
2]下载linux客户端软件:

3]安装软件:
tar zxvf ez-ipupdate-3.0.10-linux-i386.tgz
mv ez-ipupdate-3.0.10-linux-i386 /usr/local/ezip
4]编辑/usr/local/ezip/qdns.conf文件:
vi /usr/local/qdns.conf
service-type=qdns
user=username:password                      //用户名及密码,用冒号隔开
host=xxxxx.3322.org                         //你申请的域名
interface=ppp0                              //接口为ppp0
max-interval=2073600
cache-file=/tmp/ez-ipupdate.cache

5]将当前ip现新到我们申请的域名:
cd /usr/local/ezip
ez-ipupdate –c qdns.conf
系统会提示数据更新成功,好,我们来ping一下xxxx.3322.org,哈,果然是ppp0
的IP,再用试一下,一切OK,爽。

6]问题又来了,难道我们每次启动ADSL都要用手动更新一次吗,你可能会想到用crontab让它每隔几分钟更新一次,建议不错,不过为了ip更新而启用crond服务
似乎有点小题大做,我的方法,修改/usr/sbin/adsl-start脚本:
vi /usr/sbin/adsl-start
找到倒数25行”tty –s && $ECHO “ Connected ! “,在其下增加一行:
/usr/local/ezip/ez-ipupdate –c /usr/local/ezip/qdns.conf
存盘退出,OK,我们让ADSL拔号完成以后自动更新,爽吧!

7]测试一下:
adsl-start
. Connected!
ez-ipupdate Version 3.0.10
Copyright (C) 1999-2000 Angus Mackay.
connected to members.3322.org (202.108.36.139) on port 80.
request successful
OK,数据更新成功。

好,现在你随时随地都可以用xxxx.3322.org访问你的服务了,不错吧。


十二、openssh的设置
如果你在家里或者其它地方,怎样控制你的服务器,你可能会想到用telnet,本来是可以的,但是由于telnet用的是明码传输,容易给那些不怀好意者可乘之机,所以我们用openssh来代替telnet。

1]卸载原来的2.9x版,2.9x版有bug,不安全:
rpm –e openssh

2]最新软件包下载: 



3]安装软件:
tar zxvf openssh-3.4p1.tar.gz 
cd openssh-3.41 
./configure --prefix=/usr/local/ssh \ 
--sysconfdir=/etc/ssh \ 
--with-tcp-wrappers \ 
--with-ipv4-default \ 
--with-md5-passwords 
make 
make install 
注:安装完成以后,会自动生成主机密钥,还会提示需要sshd用户帐号,可用useradd加一个sshd用户。 
install /contrib/redhat/sshd.pam /etc/pam.d/sshd 
cp contrib/redhat/sshd.init /etc/rc.d/init.d/sshd 
chkconfig --level 3 sshd on ;配置成系统服务 

4]配置openssh之/etc/ssh/ssh_config文件
vi /etc/ssh/ssh_config 
Host * 
ForwardAgent no 
ForwardX11 no 
RhostsAuthentication no 
RhostsRSAAuthentication no 
RSAAuthentication yes 
PasswordAuthentication yes 
BatchMode no 
CheckHostIP yes 
StrictHostKeyChecking ask 
IdentityFile ~/.ssh/identity 
Port 22 
Cipher 3des 
EscapeChar ~ 

5]配置openssh之/etc/ssh/sshd_config文件
vi /etc/ssh/sshd_config 
Port 22 
ListenAddress 0.0.0.0 
ListenAddress :: 
HostKey /etc/ssh/ssh_host_key 
HostKey /etc/ssh/ssh_host_rsa_key 
HostKey /etc/ssh/ssh_host_dsa_key 
KeyRegenerationInterval 3600 
ServerKeyBits 768 
SyslogFacility AUTH 
LogLevel INFO 
LoginGraceTime 600 
#PermitRootLogin yes #还是不要让root直接登录为妙! 
StrictModes yes 
RSAAuthentication yes 
PubkeyAuthentication yes 
RhostsAuthentication no 
IgnoreRhosts yes 
RhostsRSAAuthentication no 
HostbasedAuthentication no 
IgnoreUserKnownHosts no 
PasswordAuthentication yes 
PermitEmptyPasswords no 
Subsystem sftp /usr/local/ssh/libexec/sftp-server 

6]配置用户的加密密钥 
useradd test 
passwd test 
su test 
ssh-keygen -d 
出现提示请回车并输入passwd,再次输入passwd。 
注:这个密码是系统加密运算时用到的,登录时还用原来密码。 

7]启动服务 
/etc/rc.d/init.d/sshd start 

8]在客户端用test帐号进行测试。


Q:关于smb服务的文章

samba的有关配置 
安装篇(只讲rpm的安装): 
首先用rpm -q samba 
如果有提示安装了 
就不用装了.如果没装就用 
rpm -ivh samba*.rpm 
把smb装上 
samba-2.2.3a-6.i386.rpm 
samba-client-2.2.3a-6.i386.rpm 
samba-common-2.2.3a-6.i386.rpm 
samba-swat-2.2.3a-6.i386.rpm 
其中samba-swat-2.2.3a-6.i386.rpm可装可不装 
设置篇: 
要启动smb需要设置/etc/samba/smb.conf 
设置一些简单的 
(你可以把原有的smb.conf内容全删了.然后用vi新建一个smb.conf.写入以下内容) 
[global] 
workgroup=samba 
security=share 
# the first share dir 
[test] 
guest ok =yes 
path=/home/test 
writable=no 
写完后用下面的命令重启smb(启动前可以用testparm来测试一下smb.conf文件也行) 
testparm 

然后再: 
/etc/rc.d/init.d/smb start 

这样就完成了第一个目录的共享.想要此目录能让别人写入.还需要键入一个命令 
chmod 777 /home/test/ 

要让此smb服务开机就运行.键入: 
chkconfig --level 3 smb on 
或是用ntsysv进入把smb这项服务选中.让它开机直接运行. 

进一步设置smb.conf 

[global] 
workgroup=samba 
security=share 
server string = samba server 
log file =/var/log/samba/log.%m 
max log size=1000 
encrypt passwords=yes 
smb passwd file = /etc/samba/smbpasswd 
# 开始设置个人共享目录 
[first] 
guest ok =yes 
path=/home/test/ 
writable=yes 

[zq] 
#注解此目录由谁访问 
comment=dir for zq 
#路径 
path=/home/zq 
#是否可写 
writable=yes 
只允许zq这个用户使用 
valid users=zq 

[zzm] 
comment=dir for zzm 
path=/home/zzm 
writable=yes 
valid users=zzm 

然后要建立一个samba的密码文件 

[root@linuxsmb samba]# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd 
[root@linuxsmb samba]# chmod 600 /etc/samba/smbpasswd (此步是为了不让别人取得这个密码) 

重启smb 
/etc/rc.d/init.d/smb start 

再建立smb用户的密码 
[root@linuxsmb samba]# smbpasswd zq 
[root@linuxsmb samba]# smbpasswd zzm 
(当然.前提需要系统里有这两个用户.) 
好了.到此为止share级的SMB就做好了 

再讲user安全级的smb 

只需要把 
security=share 
改为security=user 
然后重启smb 
这时要访问samba就要密码了 
(这步我没有试) 

再讲server安全级的smb 
security=server 
然后再加一句 
password server = servername #此句的意思是设定要验证密码的主机名是servername 

smb passwd file=/etc/remotesmbpasswd #指定passwd server存放密码文件的位置 
如果是NT主机验证密码就不用这行 


再讲domain安全级的smb 

要装smb服务器加入到win2000域中 
执行: 
smbpasswd -j samba -r dc_machine 
这里的samba指要加入的主机名,dc指域控制器的主机名 
然后修改smb.conf 
workgroup=samba #要加入的工作组名 
security=doman 
password server=dc_machine
阅读(743) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~