LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 12068|回复: 36

RHEL3复习点和RHEL4知识点补充(以RHEL4为基础)

[复制链接]
发表于 2005-8-2 06:18:01 | 显示全部楼层 |阅读模式
RHEL3复习点和RHEL4知识点补充(以RHEL4为基础)
补充部分是参考JACKSON兄和SUDDENLY5171兄的总结大作!链接在此:
http://www.linuxsir.cn/bbs/showthread.php?t=200208
同时感谢kevin的三篇经典实验帖!
还有什么没有覆盖到的,或是错误的地方,或是新发现的基于RHEL4的特点,请大家加以补充和修正。谢谢!


===========[ TROUBLESHOOTING ]=================
1.各重要命令与文件的RPM包出处表。(RHEL4版)
  1. [/b]
  2. 1. initscripts-7.93.11.EL-1 : /etc/inittab, /etc/rc*, /etc/sysconfig/*, /sbin/ifup,/sbin/ifdown,/sbin/redhat-support-check,/sbin/initlog, etc.
  3. 2.util-linux-2.12a-16.EL4.6 : /bin/mount, /bin/login, /bin/umount,/bin/kill, /etc/pam.d/login,/sbin/fdisk, etc.
  4. 3.filesystem-2.3.0-1 : /initrd, /proc, /root, etc. All filesystem related.
  5. 4.SysVinit-2.85-34 : /sbin/halt, /sbin/init, /sbin/poweroff, /sbin/reboot, /sbin/shutdown, /sbin/telinit, etc.
  6. 5.kernel-utils-2.4-13.1.48, kernel-devel-2.6.9-5.EL, kernel-2.6.9-5.EL, etc. All kernel related packages contain RHEL4 kernel and tools.
  7. 6.Setup-2.5.37-1.1 : /etc/aliases, /etc/bashrc, /etc/environment, /etc/exports, /etc/filesystems, /etc/group, /etc/passwd, /etc/hosts.allow, /etc/hosts.deny, /etc/profile, /etc/services, /etc/securetty, /etc/shells, /etc/printcap, /etc/inputrc, etc.
  8. 7.bash-3.0-19.2 : /bin/bash, /bin/sh, /etc/skel/*, etc.
  9. 8.rpm-4.3.3-7_nonptl and all rpm related packages contain rpm related binaries.
  10. 9.Grub-0.95-3.1 : /boot/grub/*, /sbin/grub*, /usr/share/grub/*, etc.
  11. [b]10. /etc/fstab 和 /boot/grub/grub.conf 或 menu.lst不属于任何一个包,是系统安装后产生的,所以必须手动修复!![/b]
复制代码



2.Troubleshooting 补充:

1. MBR损坏。 实验可以将头446字节mess up掉,然后练习修复。(注:请不要在自己的机子上实验这个!!!后果自负!!!
  1. dd if=/dev/zero of=/dev/hda bs=446 count=1
复制代码

然后rescue修复。主引导扇区一共512字节,剩下的是分区表。我曾经把分区表都删过,修复方法似乎只有一个,就是你得记得你上次分区的大小和次序,重新分区,不格式化!!还能找回原来的东西。

2. 补充几个出错信息:
    1.当/etc/passwd丢失时,将会看到大量的服务无法启动,因为大多数的服务都有自己的UID。可以看到LOGIN 界面,但无法LOGIN。从RESCUE模式修复,但是无法完全修复,因为许多UID是服务器安装时加入的,最初的/etc/passwd并没有那些UID。
   2.当ifup, ifdown丢失时,将给出execvp错误,方法是进RESCUE, 重装initscripts包。

3.QUOTA
  1. edquota -t
复制代码
改变quota的宽限时限。

4.LVM,RAID (这个在RHEL4中有很大的改动!)
e2fsadm命令取消,改为ext2online. 只能无损增加,无法减少。有个ext2resize命令,但RHEL4缺省没有安装,而且不再binary包中,要自己从src中编译。
增加的方法是:
  1. lvextend -L +sizes  lvname; ext2online /path/to/lvname
复制代码

无须卸载文件系统。

RAIDTOOLS包被取消,改为mdadm. 创建方法为:
  1. mdadm -C /dev/md0 -l5 --raid-devices=<num> /dev/xx /dev/yy /dev/zz ... --spare-device=<num> /dev/qq -v
复制代码

这里的例子是创建一个RAID5,所以-l5,要创建其他形式的RAID,参见mdadm的manpage. -v表示verbose mode.
创建mdadm.conf文件:
  1. mdadm –--detail –--scan >/etc/mdadm.conf
复制代码

编辑/etc/mdadm.conf文件,将device行改为以space分割,也就是说将=,和“,”都去掉,变为space。因为如果直接使用,重启后会报语法错误。
管理RAID:
  1. mdadm /dev/md0 -f /dev/xx -r /dev/xx -a /dev/nn
  2. -f set faulty, -r hot remove device, -a hot add device
复制代码


============[ Installation and Configuration ] =========

5.Apache
RHEL4中Apache加了mysql和ldap模块。其中如果mysql模块被选中安装后将自动生效,也就是说apache将以mysql为backend数据库进行授权的管理,.htaccess的功能被替代,而不能生效。

6.Samba
补充几个有用的samba命令。
#从samba服务器上备份共享下的目录。
  1. smbtar -s host -x share -d dir -u user -p passwd -t tarfile
复制代码

#从备份的机器上还原备份。
  1. smbtar -r -s host -x share -d dir -u user -p passwd -t tarfile
复制代码

#Login samba服务器
  1. smbclient //host/share -U user
复制代码

#List
  1. smbclient -L host -N (验证samba是否起了);
  2. smbtree
复制代码

#check if a host/ip has access to a samba server.
  1. testparm /etc/samba/smb.conf host/ip
复制代码

#smbpasswd
  1. smbpasswd -a|-e|-d|-x user
  2. -a add
  3. -e enable
  4. -d disable
  5. -x delete
复制代码


7.POP3, POP3S, IMAP, IMAPS
In RHEL4, dovecot提供了这些服务,具体配置:
编辑/etc/dovecot.conf文件,在protocals=一行,加入你需要的(或是考试要求的服务)。缺省的ports:
imap: 143
imaps: 993
pop3: 110
pop3s: 995
ssl_cert_file and ssl_key_file,可以看到dovecot是拿什么文件来做ssl认证的,可以自己创建新的pem文件。
我将disable_plaintext_auth 配置为 no
我将auth_mechanisms配置为plain.
auth_userdb=passwd. 也就是说缺省为所有local user 都能登录。
在auth_passdb=pam项后可增加对pop3配置文件。(缺省没有,要自己建立)
/etc/pam.d/pop3文件内容如:
  1. auth       required     /lib/security/pam_stack.so service=system-auth
  2. auth       required     pam_unix.so
  3. auth       required     pam_listfile.so item=user sense=deny file=/etc/security/dovecot.deny onerr=fail
  4. account    required     /lib/security/pam_stack.so service=system-auth
  5. #account           required     pam_access.so
  6. account    required     pam_unix.so
复制代码

我用了pam_listfile.so模块,当然也可以用pam_access.so模块来限定。
这些服务也可以由inetd和xinetd来守护,具体做法请看:
http://wiki.dovecot.org/moin.cgi/InetdInstall
测试: telnet host 110
然后输入:         user username
                  pass password
如果LOGIN成功,会有提示。

8.各种服务的user base和host base 安全配置补充:
NIS: 可以实现userbase和hostbase,方法:
userbase - 在/etc/pam.d/system-auth中加入:
  1. auth required pam_listfile.so item=user sense=deny file=/path/to/nis.deny onerr=fail
复制代码

然后在nis.deny文件中加入你要block的用户,一行一个。
Hostbase - 将securenets文件由/usr/share/doc/ypserv-2.13考到/var/yp目录下,编辑。格式为: netmask network

portmap: 得用iptables或tcp_wrapper做hostbase, userbase应该是没有了。

NFS: Don't use “no_root_squash”. Use root_squash or all_squash.

Telnet: hosts.deny和hosts.allow做hostbase。或用xinetd做superserver控制。RHEL4上的telnet无法配合pam_access.so做userbase控制,怀疑是没有将pam编译进去?!

Apache: 如果要做userdir, 可以在httpd.conf中加入directives:
  1. UserDir enabled user_list
  2. UserDir disabled user_list
复制代码

user_list 是space 分隔的用户列表,控制哪些用户可以有自己的userdir,哪些不行。

FTP: upload的目录chmod为730,也就是说可以上传,不能浏览目录。

samba: RHEL4中samba除了可以用smb.conf和hosts.allow, hosts.deny只外,还可以用pam。

squid: RHEL4中squid已经可以通过pam做userbase级控制了。

sshd: RHEL4中还可以用pam来做userbase控制。

另外增加su和sudo的userbase级配置方法:
如果只要root和wheel组的成员才能su或是sudo, 在各自的pam文件中加入:
#root 永远都能。
  1. auth sufficient pam_rootok.so
复制代码

#检查用户是不是在wheel组中。
  1. auth required pam_wheel.so
复制代码

#检查其他要求。
  1. auth required pam_unix.so
复制代码

不过sudo我还是更偏向于在sudoers中配置。

9.GPG
#生成密匙
  1. gpg –gen-key
复制代码

#显示密匙,公匙,私匙
  1. gpg --list-keys
  2. gpg --list-public-keys
  3. gpg –list-secret-keys
复制代码

#以ascii形式dump出公匙,私匙。
  1. gpg --export -a userID >public.key
  2. gpg --export-secret-key -a userID>secret.key
复制代码

#导入key.file
  1. gpg --import key.file
复制代码

# 加密生成signaure和公匙加密的文件。
  1. gpg -se -r userID file
复制代码

#加密生成没有signaure的加密文件。
  1. gpg -e -r userID file
复制代码

#加密生成signaure和symmetric形式的加密文件。
  1. gpg -sc -r userID file
复制代码

#加密生成没有signaure的symmetric加密文件。
  1. gpg -c -r userID file
复制代码

#加密生成sig式的detachable文件。
  1. gpg -b -r userID file
复制代码

#解密文件
  1. gpg [--decrypt] file
复制代码

#复核sig文件。
  1. gpg --verify sig.file
复制代码

#删除密匙,私匙,私匙和公匙。
  1. gpg --delete-key userID
  2. gpg --delete-secret-key userID
  3. gpg --delete-secret-and-public-key userID
复制代码

更多的用法请参看manpage.
发表于 2005-8-2 09:15:16 | 显示全部楼层
感谢yongjian! 加精!
回复 支持 反对

使用道具 举报

发表于 2005-8-5 13:10:19 | 显示全部楼层
太好了。复习正需要这个^_^
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-5 13:26:18 | 显示全部楼层
Post by ccino
太好了。复习正需要这个^_^

准备考试啦?什么时间?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-8 14:07:25 | 显示全部楼层
RHEL4上做LVM的snapshot有问题。lvcreate命令好像不认为snapshot的命令是正确的,拿manpage上的例子?硎远急ù恚苡裘啤
回复 支持 反对

使用道具 举报

发表于 2005-8-10 22:01:02 | 显示全部楼层
5.Apache
RHEL4中Apache加了mysql和ldap模块。其中如果mysql模块被选中安装后将自动生效,也就是说apache将以mysql为backend数据库进行授权的管理,.htaccess的功能被替代,而不能生效。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

弱弱的问: 那现在http的访问控制怎么做呢?
回复 支持 反对

使用道具 举报

发表于 2005-8-12 11:48:08 | 显示全部楼层
[QUOTE=yongjian]RHEL4上做LVM的snapshot有问题。lvcreate命令好像不认为snapshot的命令是正确的,拿manpage上的例子?硎远急ù恚苡裘啤/QUOTE]

不安装mysql, 主机和用户访问配置和AS 3没有区别
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-12 23:43:50 | 显示全部楼层
Post by neozo
不安装mysql, 主机和用户访问配置和AS 3没有区别

Yes, absolutely right!
回复 支持 反对

使用道具 举报

发表于 2005-8-14 11:45:49 | 显示全部楼层
记下来慢慢领悟……

1. MBR损坏。 实验可以将头446字节mess up掉,然后练习修复。(注:请不要在自己的机子上实验这个!!!后果自负!!!)

言下之意是不是就是拿别人的机器来随便搞了……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-14 12:00:26 | 显示全部楼层
Post by Freesnake
记下来慢慢领悟……


言下之意是不是就是拿别人的机器来随便搞了……

言下之意是用虚拟机。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表