返回列表 发帖

Linux基础知识99问(五)

五、 做好Linux的管理员:21问
  70.如何检查Linux硬盘使用情况?
  在Linux环境下,你可以使用df命令来查看硬盘的使用情况。下面就是一个df -T -h(-T参数:显示文件系统类型,-h参数用可读性较高的方式来显示信息)命令的输入实例:
  Filesystem Type Size Used Avail Use% Mountedon
  /dev/hda1 ext2 7.5G 4.7G 2.5G 65% /
  /dev/hda2 ext2 653M 6.6M 613M 1% /root
  /dev/hdb1 ext2 7.5G 3.5G 3.7G 49% /usr
  71.Linux下有哪些压缩工具?
  在Linux下有很多种压缩工具,常用的有:
  1) gzip/gunzip:这是GNU开发的自由软件,使用相当广泛。压缩文件扩展名为".gz"。使用方法很简单,例如:
  gunzip eos.gz gzip /home/test/*.txt;
  2) compress/uncompress:这是一对历史悠久的压缩程序,文件经过它压缩后,压缩文件扩展名为 ".Z"。
  3)除此之外还有:zip/unzip、bzip2/bunzip2等。
  72.如何管理进程?
  进程是程序的一次执行。可以使用"ps -auxw"列出在当前正在执行的进程的详细信息,包括每个进程都有的进程ID号。你可以通过"kill 进程ID号"来终止这个进程。
  73.文件或目录的权限是什么意思?
  文件或目录的权限位由10位构成,如-rwxr-xr-x。
  1) 第一位代表文件/目录类型:d代表目录、-代表文件、l代表链接;
  2) 剩下的9位分成3组,每组3位;2-4位描述文件主人的权限,5-7位描述与文件主人同一用户组的权限,8-10位则是其它用户的权限。
  3) rwx:每组的3位分别是:读权限、写权限、执行权限;如果是-就代表没有这个权限。
  也就是说-rwxr-xr-x表示,这是个普通文件,文件主人可以读、写、执行这个文件,与文件主人同组的用户以及其它用户都可以读、执行这个文件。
  74.什么是用户帐号?
  在Linux系统中,是通过用户帐号来标识每一个用户的,通过登录时输入不同的用户帐号和密码确定你的身份。也就是说,Linux系统通过用户帐号和管理系统的所有用户。
  然后你可以创建一些用户组,将用户加入到组中去,让其获得用户组的权限。
  75. 在Linux下,如何管理用户?
  如果你想要新增一个用户:
  1) 以root登录,然后执行"adduser 用户帐号名"
  2) 执行"passwd 用户帐号名"来为这个用户帐号设置密码。
  执行"userdel 用户帐号"删除一个用户;
  执行"groupadd 用户组名"新增一个用户组;
  执行"groupdel 用户组名"删除一个用户组;
  76. 如何为用户作磁盘限额?
  1)将要设置磁盘限额的分区,按以下格式修改/etc/fstab 文件:
  /dev/hda2 /home ext2 defaults,usrquota 1 2
  2)在要设置磁盘限额的分区目录下创建空文件 quota.user
  #touch /home/quota.user
  #chmod 600 /home/quota.user
  3)重启系统后,就可以使用edquota -u 用户名来设置。
  77.如何备份系统?
  在Linux中,你可以使用dump/restore命令组来实现系统的备份与恢复。假设你需要将/usr目录下的所有文件完整地备份到磁带机上(假定设备是rmt8,不同的磁带机不相同),你可以使用命令:
  dump -O -f /dev/rmt8 /usr
  其中-O参数代表备份全部文件,"-f 设备文件名"参数指定备份到什么地方,最后的目录名指定要备份的内容。
  然后,你可以使用以下命令恢复:
  restore -r -f /dev/rmt8
  78.如何安装.tar的软件包?
  Linux软件有两种发布方式:一种是源代码方式,另一种是可执行文件包。而发布包大多是先用tar归档,再用gzip压缩,生成是以.tar.gz结束的文件。
  你可以直接使用"tar xvfz 文件名"完成解压缩,解tar包工作。
  如果你取得是可执行文件包,安装工作结束。
  如果你取得是源代码包,则还需编译一下:
  1) 在解压目录下运行"./configure"进行配置;
  2) 在解压目录下运行"make"进行编译;
  3) 运行"make install"安装。
  79.如何使用RPM安装Linux软件?
  RedHat公司提供的RPM工具,使得Linux软件安装更为方便。
  1) 安装:rpm -ivh somesoft.rpm
  2) 反安装:rpm -e somesoft.rpm
  3) 查询:rpm -q somesoft
  80.如果忘了root的密码,怎么办?
  如果你忘了root的密码,可以通过以下方法恢复:
  1) 重新启动Linux,出现lilo:时,输入linuxsingle进入单用户模式;
  2) 这时无需密码就取得了root权限;
  3) 再运行passwd重新设置root的密码。
  81.重装Windows而破坏了Lilo时,怎么办?
  这种情况可以使用两种方法恢复:
  1)用Linux启动软盘启动,然后执行/sbin/lilo,重新在引导区建立lilo;
  2)使用Linux安装光盘启动,选择升级系统,将会重建lilo。
  82.如何制作Linux启动盘?
  在Linux下,有一个工具mkbootdisk能很方便地制作系统启动盘:
  1) 查看系统的版本,可以通过ls /usr/src来看;
  2) 插入一张空软盘;
  3) 执行"mkbootdisk --verbose 2.2.5"。

  83.如何远程使用Linux?
  我们可以使用telnet、rlogin、rsh、rcp等命令来实现远程使用Linux,但这这些方法在传输过程中是明文传输的,所以有可能带来许多不安全因素。因此,应尽量避免远程使用root帐户登录系统。
  如何构建安全的远程登录?
  使用SSH来实现安全的远程登录,因为SSH实现了数据传输的加密。
  1) 从ftp.cs.htu.fi/pub/ssh获取ssh-1.26.tar.gz文件;
  2) 用tar xvpf ssh-1.26.tar.gz解开这个包;
  3) 到解开的目录/usr/local/src/ssh-1.26目录下执行./configure;
  4) 执行make和make install来完成编译和安装。
  5) 你就可以使用ssh来与安装了SSH的服务器建立安全的远程连接。
  85.如何运行计划任务?
  大大可能对Windows中的计划任务都比较熟悉了,它可以通过一些简单的设置,定时完成一些任务。在Linux系统的维护中,我们可以也会需要定期执行一些任务,这种情况可以使用:
  1) at命令:它可以键盘或文件中读取指令,然后在指定时间完执行;
  2) crontab守候进程:通过设置它的配置文件来定时执行某些任务。
  86.Linux的开机过程都做了什么?
  1) 一开机,CPU将控制权交给BIOS,BIOS完成开机自检;
  2) 然后BIOS读取磁盘上的第一个扇区,并装入主引导扇区的lilo;
  3) lilo根据输入选择不同的内核映象,如果你选择了linux就读取/boot下的核心映象;
  4) 核心开始硬件检测和设备驱动程序的初始化,然后运行init
  5) init进程根据/etc/inittab的配置运行一系列初始化脚本;
  6) 完成后,启动getty进程接受用户的登录。
  87.如何设置开机自动运行程序?
  你可以在以下几个脚本文件中加入你想一启动系统就执行的命令:
  /etc/rc.local、/etc/rc.sysinit以及/etc/rc.d/init.d。
  88.为什么需要重新编译内核?
  以下情况你需要重新编译内核,或加入动态内核模块:
  1) 更新驱动程序;
  2) 根据自己的需求定制最可靠的内核;
  3) 升级Linux内核。
  89.如何重新编译内核?
  1) 进入Linux源代码目录:cd /usr/src/linux
  2) 执行"make config"或"make menuconfig"、"make xconfig"配置内核选项,选中你想要的模块,去掉不想要的模块;
  3) 执行"make zImage"命令,大概30到90分钟后,会生成一个zImage的新内核映像文件,存放在/usr/src/linux/arch/i386/boot目录下;
  4) 然后将其拷贝到/boot目录下;
  5) 修改lilo.conf文件,加入:
  image=/boot/zImage
  label=newlinux
  root=/dev/hda1 (根据原来的文件)
  运行/sbin/lilo使修改生效。
  6)重新启动,在Lilo时,输入newlinux就可以新内核启动。
  90.什么是动态内核模块?
  动态内核模块是Linux一个成功的设计,它使得Linux更加灵活,易于定制。其实动态内核模块就是一个内核模块,它可以在不重新编译内核的情况,动态地将一些功能用"insmod 模块名"命令加入内核、用"rmmod 模块名"命令将其移出内核。
  六、 廉价的网络解决方案---Linux:9问
  91.如何使用Linux架设WEB服务器?
  Apache服务器是在Linux架设WEB服务器的首选。你可以在安装Linux时就选择安装它。若在安装时没有安装Apache的话,你可以从光盘或者到apache网站上找到文件:apache-1.3.12.i386.rpm,然后执行以下命令完成安装:
  1)rpm -ivh apache-1.3.12.i386.rpm
  2)修改/etc/httpd/conf目录下的配置文件httpd.conf、access.conf等;
  3)将主页文件放到/home/httpd/html目录下;
  4)执行"/etc/rc.d/init.d/httpd start"启动Apache服务器
  如果需要关闭的话,可以执行/etc/rc.d/init.d/httpd stop命令。
  92.如何使用Linux架设FTP服务器?
  在Linux中,最常用的FTP服务软件当数wu-ftpd,如果在安装linux时没安装上它。你可从光盘或者网站rpmfind.net/linux/RPM/WbyName.html获取它的RPM包:wu-ftpd-2.6.0-9.i386.rpm。然后执行以下命令完成安装:
  rpm -ivh wu-ftpd-2.6.0-9.i386.rpm
  编辑 "/etc/inetd.conf" 文件,指向新的ftpd守护进程,如下所示:
  ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
  到此为止,你的Linux就可以接受FTP服务了。
  93.如何使用Linux架设E-MAIL服务器?
  Linux中,最常用的E-MAIL服务器是Sendmail,你可以在安装Linux时将其选中。
  1) 在DNS服务器上为E-Mail服务器做一条MX记录;
  2) 编辑/etc/inetd.conf文件,将关于pop和smtp的行的注释符去掉;
  3) 执行kill -HUP inetd,使修改生效;
  这样E-mail服务器的用户就可通过Outlook等客户端程序进行收发邮件了。
  94.如何使用Linux架设News服务器?
  在安装Linux时,选择INN软件包,并允许开机时启动innd。在完成系统的安装时,大部分配置工作已经完成,无需编译源码。
  1)配置/etc/news/inn.conf:
  domain: foo.com
  organization: foo company news site
  server: localhost
  根据实际情况填写;
  2)配置/etc/news/nnrp.access
  nnrp.access是用来完成News Readers服务的守候进程nnrpd的配置文件,用于控制对站点的访问,修改此文件无须启动INND。
  3)添加新闻组:
  可以手工编辑/var/lib/news/active文件添加新闻组,也可以使用ctlinnd命令来增加。若是手工方式修改新闻组,须执行以下命令使其生效:
  ctlinnd reload active "modify active"
  95.如何使用Linux架设BBS?
  1) 从ftp://pbbs.chpi.edu.tw/pub/pbbs/source下载PowerBBS的源代码发行包文件pbbs.tar.gz;
  2) 执行tar zxvf pbbs.tar.gz解开文件;
  3) 进入pbbs目录,运行Install;
  4) 根据具体需求改变默认的设置。
  96.如何让Linux成为文件服务器?
  在Linux中,你可以用Samba来做文件服务器,你可以在安装Linux时选中Samba就可以完成安装。
  1) 编辑/etc/smb.conf,修改配置:
    netbios name=linux
  workgroup=SambaServer
  server string=Samba Server
  hosts allow=192.168.9. 127.
    securoty=share
  interfaces=192.168.9.1/24
  name resolve order=host dns bcast
  wins support=no
  2)重新启动SMB服务器:/etc/rc.d/init.d/smb restart
  3)编辑客户机的hosts文件,加入对Samba Server的解析;
  4)最后你就可以在网上邻居上看到它了。
  97.如何使用Linux架设代理服务器?
  1) 到http://squid.nlanr.net/Squid/下载Squid代理服务器软件squid-2.2.STABLE3-src.tar.gz;
  2) 执行tar xzxf squid-2.2.STABLE3-src.tar.gz
  3) 执行./configure
  4) 执行make,make install安装到/usr/local/squid目录下;
  5) 编辑/usr/local/squid/squid.conf文件,加入:
  acl allowed_hosts src 192.168.9.0/255.255.255.0
  注:假设你的内网IP地址是192.168.9.0;
  6) 执行/usr/local/squid/bin/squid -z进行初始化
  7) 执行/usr/local/squid/bin/squid开启服务
  8) 在客户端设置代理服务器IP和端口3128,就可以访问Internet了。
  98.如何使用Linux架设透明网关?
  确认Linux内核已经支持ipchain,然后编写一个脚本ipchains.rule,内容为:
  注:假设透明网关服务器的外网地址是:1.2.3.4,已经与Internet相连;内网地址是192.168.9.1,连在内网上。
  #!/bin/sh
  /sbin/ipchains -F forward
  /sbin/ipchains -F input
  /sbin/ipchains -F output
  /sbin/ipchains -P forward DENY
  /sbin/ipchains -P input ACCEPT
  /sbin/ipchains -P output ACCEPT
  external_interface=1.2.3.4
  /sbin/ipchains -A input -j ACCEPT -i lo
  /sbin/ipchains -A output -j ACCEPT -i lo
  /sbin/ipchains -A input -j DENY -i eth1 -s 192.168.9.0/24
  /sbin/ipchains -A input -j DENY -i eth1 -d 192.168.9.0/24
  /sbin/ipchains -A output -j DENY -i eth1 -s 192.168.9.0/24
  /sbin/ipchains -A output -j DENY -i eth1 -d 192.168.9.0/24
  /sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32
  /sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32
  /sbin/ipchains -A output -j DENY -i eth1 -d $external_interface/32
  /sbin/ipchains -A forward -j ACCEPT -i eth0 -s 192.168.9.0/24 -d 192.168.9.0/24
  /sbin/modprobe ip_masq_ftp
  /sbin/modprobe ip_masq_quake
  /sbin/modprobe ip_masq_irc
  /sbin/modprobe ip_masq_user
  /sbin/modprobe ip_masq_raudio
  /sbin/ipchains -A forward -j MASQ -i eth1 -s 192.168.9.0/24
  运行这个脚本后,192.168.9.0网络中的所有机器只需将网关设置为192.168.9.1,就可以连到Internet上了。
  99. Linux还能构建什么服务器?
  Linux还可以成为域名服务器、PPP服务器、CVS服务器、路由器、防火墙,而且还可以通过LVS解决方式还构建服务器集群系统。因为在此篇幅有限,仅是点到为止,若有兴趣可以参考专业的Linux书籍。

返回列表 回复 发帖