最近终于放弃我的老redhat9,全部迁移到FC13,虽然很早就接触过fc2,3,4。但好像现在FC13的变化很大,不得不花点时间看看。整理一点心得以备查阅。
1.selinux, 记得刚开始接触fc最讨厌的就是selinux,总是莫名奇妙禁止很多以前RH7/8/9的正常操作,所以以前一安装好就将selinux关闭。裸奔的好处是自由:0),但人要与时俱进,不能还停留在以前的时代了, 看到FC13的selinux的policy越来越完善,心里叫好,一定会省事很多。
setsebool -P samba_enable_home_dirs on # 打开selinux的开关,允许共享用户home目录
刷新,又看到了我的home目录。
但另外一个普通共享仍然看不到,执行:
chcon -t samba_share_t /path/to/directory # 打开为我的共享目录打上samba_share_t的标签(label),这样selinux就会允许smbd进程在这里进行读写,并允许客户端察看。
一切恢复正常。但和RH9不同的是,我们的samba运行在非常安全的保护之下,任何selinux policy所规定的不匹配的访问,比如spyware进程,或异常的ip,都会被selinux禁止。
除了samba和ssh访问/home分区,目前还没发现由selinux带来的其它异常。
2. samba本身发生一些变化。当然RH9的是老了点。
添加以下的global 参数:
unix password sync = yes #允许smbpasswd同时修改unix口令,在修改smb口令之前,通过调用passwd program
passwd program = /bin/passwd %u # 改变unix口令的passwd 命令。%u会被替换为用户名
3. adsl自动拨号的设置,我首选使用rp-pppoe。简单易用。
# $1 the interface name used by pppd (e.g. ppp3)
# $2 the tty device name
# $3 the tty device speed
# $4 the local IP address for the interface <-- 这就是我们的动态ip了。可以全球访问哦!:-)
# $5 the remote IP address
# $6 the parameter specified by the 'ipparam' option to pppd
ip-up.local也会的到这6个参数。事实上,ifup-post会在每个本地网络接口启动时被调用。让你做些连接建立后的事情。
4. 如何在启动时自动检查硬盘完整性?我们的硬盘所保存的数据有时候比机器本身还要值钱。对于长期积累的工作,每次启动的硬盘检查几乎是必需的。FC13同老的RH版本稍有不同(我还是喜欢老的,可以选择等5秒或直接yes或no,取消检查),秘密全在rc.sysinit里。FC13不给你启动时临时选择的机会,但可以配置。
UUID=a8a5b313-d457-4461-af3f-35b259d948ed / ext3 defaults 1 1
/dev/sda2 swap swap defaults 0 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/vg01/lv01 /home ext3 defaults 0 3
/dev/sda6 /storage ext3 defaults 0 4
/dev/vg02/lv02 /home/usera/space ext3 defaults 0 2
/dev/vg02/lv03 /home/userb/space ext3 defaults 0 3
/dev/sdb3 /storage/space ext3 defaults 0 4
/dev/vg02/lv01 /repo ext3 defaults 0 5
注意最后一个字段吗? 0表示这个分区不检查,其他数字都表示检查。数字越小的越先检查,相同的数字的两个分区同时检查。所以建议不要把同一个磁盘上的分区设为相同的数字。/总是设为1,最先检查。
autofsck的检查是强迫检查(使用-f),即使分区标识为clean。
在/etc/sysconfig/autofsck里可以设置两个选项。(看注释)
# 这个文件仅仅用于电源失败时(/.autofsck存在)
# AUTOFSCK_DEF_CHECK=yes 将启用AUTOFSCK_OPT,因为autofsck用-f标志,但我不想用,所以我用/fsckoptions
AUTOFSCK_OPT=-y #传给fsck命令的选项。
AUTOFSCK_DEF_CHECK=yes
5. FC13 alternatives系统?!我们经常会为系统有两套MTA(邮件系统)的切换而发愁,比如sendmail或postfix或qmail。因为大多数发送邮件的程序一般都会调用sendmail。直接安装一个新的MTA系统并不能使他们工作正常。有人说建个符号链接不就完事,事情没有那么简单,man的时候无法得到正确的帮助手册,邮件队列程序名字不一样,邮箱别名数据库不一样,密码验证程序布一样等等。除了mail系统,我们有sun java和open java的切换,我们有emacs和xemacs之间的切换。过去在它们之间切换会是非常痛苦的事情。alternatives为此而诞生,据说它最早是使用在debian上面的,后来被RH移植了过来。
简单讲它的工作原理就是通过建立相同名字的很多符号链接,它帮你建立,所以就会简单许多。看一下:
#ls -l /usr/sbin/sendmail
lrwxrwxrwx. 1 root root 21 11月 7 19:09 /usr/sbin/sendmail -> /etc/alternatives/mta
#ls -l /etc/alternatives/mta
lrwxrwxrwx. 1 root root 27 11月 7 19:09 /etc/alternatives/mta -> /usr/sbin/sendmail.sendmail
#ls -l /usr/sbin/sendmail.sendmail
-rwxr-sr-x. 1 root smmsp 856280 3月 29 2010 /usr/sbin/sendmail.sendmail # 嗯,这个才是二进制
在我的系统,有
#alternatives --display mta
读取 /var/lib/alternatives/mta
mta - 状态是自动
链接目前指向 /usr/sbin/sendmail.sendmail
/usr/sbin/sendmail.sendmail - 优先度 90
从 mta-pam:/etc/pam.d/smtp.sendmail
从 mta-mailq:/usr/bin/mailq.sendmail
从 mta-newaliases:/usr/bin/newaliases.sendmail
从 mta-rmail:/usr/bin/rmail.sendmail
从 mta-rsmtp:(null)
从 mta-runq:(null)
从 mta-sendmail:/usr/lib/sendmail.sendmail
从 mta-mailqman:/usr/share/man/man1/mailq.sendmail.1.gz
从 mta-newaliasesman:/usr/share/man/man1/newaliases.sendmail.1.gz
从 mta-aliasesman:/usr/share/man/man5/aliases.sendmail.5.gz
从 mta-sendmailman:/usr/share/man/man8/sendmail.sendmail.8.gz
/usr/sbin/sendmail.exim - 优先度 10
从 mta-pam:/etc/pam.d/exim
从 mta-mailq:/usr/bin/mailq.exim
从 mta-newaliases:/usr/bin/newaliases.exim
从 mta-rmail:/usr/bin/rmail.exim
从 mta-rsmtp:/usr/bin/rsmtp.exim
从 mta-runq:/usr/bin/runq.exim
从 mta-sendmail:/usr/lib/sendmail.exim
从 mta-mailqman:/usr/share/man/man8/exim.8.gz
从 mta-newaliasesman:(null)
从 mta-aliasesman:(null)
从 mta-sendmailman:(null)
当前“最佳”版本是 /usr/sbin/sendmail.sendmail。
#alternatives --set mta /usr/sbin/sendmail.exim
则将当前的MTA换成exim。并置为手动模式,不信你ls -l试试,是不是太简单了!!也是很不错的设计。手动模式就是完全遵照你的选择。自动模式就会自动设置优先度最高的选择。
如:
# alternatives --verbose --auto mta
读取 /var/lib/alternatives/mta
运行 /sbin/chkconfig --add sendmail
运行 /sbin/chkconfig --del exim
又换回了sendmail.
#alternatives --config mta
会给你一个菜单供你选择。变成手动模式。
用#alternatives --install link name path priority [--slave slink sname spath]
可以安装一套新的选择。或者,如果当前没有这个组,就会添加一个新组,并使用自动模式选择当前添加的程序作为选择。
现记这么多吧。