21-3. Red Hat Enterprise Linux (1) Red Hat Enterprise Linux の基本 `2b/04〜 -------------------------------------------------------------------------------- VMware ESX Server に作成した RHEL 仮想マシン、これから作ったクロ−ンも中身は一緒。 -------------------------------------------------------------------------------- * マシンの基本設定の状態 sendmail は入っていたが dovecot は入ってなかった。SI業者のエンジニアが RHEL を インスト−ルする内容をくれた。一応、何を入れていくか相談はしたのだが。RHELはまる で詳しくないので、ほぼお任せにした。SI業者のエンジニアが入れてくれた RHEL の様 子を確認する。パ−ティション、メモリとハ−ドディスクのサイズ、ボリュ−ム。 # df -k Filesystem 1K - ブロック 使用 使用可 使用% マウント位置 /dev/sda2 40631988 3465840 35068864 9% / /dev/sda6 10029572 158380 9353500 2% /home /dev/sda5 10153988 220816 9409056 3% /var /dev/sda1 124427 14560 103443 13% /boot tmpfs 2008260 0 2008260 0% /dev/shm # df -h Filesystem サイズ 使用 残り 使用% マウント位置 /dev/sda2 39G 3.4G 34G 9% / /dev/sda6 9.6G 155M 9.0G 2% /home /dev/sda5 9.7G 216M 9.0G 3% /var /dev/sda1 122M 15M 102M 13% /boot tmpfs 2.0G 0 2.0G 0% /dev/shm 60.422G /etc/nsswitch.conf /etc/resolv.conf /etc/sysconfig/network ---------------------- ---------------- ---------------------- |passwd: files |空 |NETWORKING=yes |shadow: files |NETWORKING_IPV6=yes |group: files |HOSTNAME=akbou |hosts: files dns /etc/hosts 元は akbo というホスト名で作った。クロ−ンそのままに。 ------------------------------------------------- |127.0.0.1 akbo localhost.localdomain localhost |::1 localhost6.localdomain6 localhost6 /etc/host.conf これは古い記述で、どうやら nsswitch.confができる前の ----------------- ホスト名解決の制御ファイルらしい。考慮しなくてよし。 |order hosts,bind # ls -F /etc/sysconfig apm-scripts/ grub kudzu readonly-root apmd hidd lm_sensors rhn/ atd httpd mkinitrd/ samba auditd hwconf modules/ saslauthd authconfig i18n netconsole selinux@ autofs init network sendmail bluetooth ip6tables-config network-scripts/ smartmontools cbq/ ipmi networking/ syslog clock ipmievd nfs system-config-netboot conman iptables-config spluginwrapper system-config-securitylevel console/ irda ntpd system-config-users cpuspeed irqbalance pand udev-stw crond kdump pm-action vncservers desktop kernel prelink wpa_supplicant dund keyboard raid-check xinetd firstboot krb524 rawdevices # cd /etc/sysconfig/network-scripts;ls ifcfg-eth0 ifdown-isdn ifup-aliases ifup-plip ifup-wireless ifcfg-lo ifdown-post ifup-bnep ifup-plusb init.ipv6-global ifdown ifdown-ppp ifup-eth ifup-post net.hotplug ifdown-bnep ifdown-routes ifup-ippp ifup-ppp network-functions ifdown-eth ifdown-sit ifup-ipsec ifup-routes network-functions-ipv6 ifdown-ippp ifdown-sl ifup-ipv6 ifup-sit ifdown-ipsec ifdown-tunnel ifup-ipx ifup-sl ifdown-ipv6 ifup ifup-isdn ifup-tunnel 静的経路を追加するには route-eth0 ファイルに記述する?。違う違う。パソコンに入れ た VMware のソフト vSphere Client でHP仮想サ−バに接続し [端末を開く] でコンソ −ル画面をだす。そしてコマンド #system-config-network を叩く、画面がでてくるので [編集]->[ル−ト] をクリックすると、既に設定した静的経路が出てくる。ここで [追加] メニュ−で静的経路を追加記述する。経路情報の表示には一般的な # netstat -rn、また は # route でも同じ表示がでてくる。route-eth0 ファイルは、以上の操作で設定された 経路情報がコンフィグファイルとして書き込まれる。直接にはいじらない方がいいだろう。 # cat ifcfg-eth0 | ONBOOT=yes HWADDR=00:a0:53:b1:30:00 NETMASK=255.255.255.0 << ネットマスク。 IPADDR=192.168.1.11 << マシンのIPアドレス。 GATEWAY=192.168.1.2 << デフォルトゲ−トウェイ。 TYPE=Ethernet USERCTL=no IPV6INIT=no PEERDNS=yes * マシンの起動関係の様子 /etc/init.d/ は /etc/rc.d/init.d/ へのリンク、それもハ−ドリンクになっている。 # cd /etc; ls -l lrwxrwxrwx 1 root root 11 Mar 23 18:03 init.d -> rc.d/init.d lrwxrwxrwx 1 root root 7 Mar 23 18:04 rc -> rc.d/rc drwxr-xr-x 10 root root 4096 Mar 23 18:04 rc.d lrwxrwxrwx 1 root root 13 Mar 23 18:04 rc.local -> rc.d/rc.local lrwxrwxrwx 1 root root 15 Mar 23 18:04 rc.sysinit -> rc.d/rc.sysinit lrwxrwxrwx 1 root root 10 Mar 23 18:04 rc0.d -> rc.d/rc0.d | lrwxrwxrwx 1 root root 10 Mar 23 18:04 rc0.d -> rc.d/rc6.d # ls -l rc.d drwxr-xr-x 2 root root 4096 Jul 5 13:34 init.d -rwxr-xr-x 1 root root 2255 Oct 13 2010 rc -rwxr-xr-x 1 root root 220 Oct 13 2010 rc.local -rwxr-xr-x 1 root root 26726 Oct 13 2010 rc.sysinit drwxr-xr-x 2 root root 4096 Jun 23 11:04 rc0.d | drwxr-xr-x 2 root root 4096 Jun 23 11:04 rc6.d [ ls /etc/rc.d/init.d も ls /etc/init.d も同じ表示 ] NetworkManager functions lisa pcscd smb acpid gpm lm_sensors portmap sshd anacron haldaemon lvm2-monitor psacct svnserve apmd halt mcstrans rawdevices syslog atd hidd mdmonitor rdisc vmware-tools auditd httpd mdmpd readahead_early vncserver autofs ip6tables messagebus readahead_later vsftpd avahi-daemon ipmi microcode_ctl restorecond wdaemon avahi-dnsconfd ipmievd multipathd rhnsd winbind bluetooth iptables netconsole rpcgssd wpa_supplicant conman irda netfs rpcidmapd xfs cpuspeed irqbalance netplugd rpcsvcgssd xinetd crond iscsi network rwhod ypbind cups iscsid nfs saslauthd yum-updatesd cups-config-daemon kdump nfslock sendmail dnsmasq killall nscd setroubleshoot dund krb524 ntpd single firstboot kudzu pand smartd * システムログについて # chkconfig --list syslog syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off # service syslog status syslogd (pid 3109) を実行中... klogd (pid 3112) を実行中... # ps -ef root 3109 1 0 Jul07 ? 00:00:00 syslogd -m 0 root 3112 1 0 Jul07 ? 00:00:00 klogd -x /etc/syslog.conf -------------------------------------------------------------------------------- |#kern.* /dev/console << Log all kernel messages to the console. |# Log anything (except mail) of level info or higher. |*.info;mail.none;authpriv.none;cron.none /var/log/messages |authpriv.* /var/log/secure << The authpriv file has restricted access. |mail.* -/var/log/maillog << Log all the mail messages in one place. |cron.* /var/log/cron << log cron stuff |*.emerg * << Everybody gets emergency messages |uucp,news.crit /var/log/spooler << Save news errors of level crit and higher |local7.* /var/log/boot.log << Save boot messages also to boot.log /etc/sysconfig/syslog ------------------------ |SYSLOGD_OPTIONS="-m 0" |KLOGD_OPTIONS="-x" |SYSLOG_UMASK=077 # cd /var/log; ls -F Xorg.0.log conman/ maillog rpmpkgs.1 spooler.2 Xorg.0.log.old conman.old/ maillog.1 rpmpkgs.2 spooler.3 acpid cron maillog.2 rpmpkgs.3 spooler.4 anaconda.log cron.1 maillog.3 rpmpkgs.4 tallylog anaconda.syslog cron.2 maillog.4 samba/ wtmp anaconda.xlog cron.3 messages scrollkeeper.log xferlog audit/ cron.4 messages.1 secure xferlog.1 boot.log cups/ messages.2 secure.1 xferlog.2 boot.log.1 dmesg messages.3 secure.2 xferlog.3 boot.log.2 faillog messages.4 secure.3 xferlog.4 boot.log.3 gdm/ pm/ secure.4 yum.log boot.log.4 httpd/ ppp/ setroubleshoot/ brcm-iscsi.log lastlog prelink/ spooler btmp mail/ rpmpkgs spooler.1 (2) Red Hat Enterprise Linux の操作 `2b/06 -------------------------------------------------------------------------------- 先ずは RHEL 仮想マシンでいろいろ作業がし易いように環境設定をして準備をしてみる。 -------------------------------------------------------------------------------- * telnet が効くようにする Red Hat Enterprise Linux はインスト−ルしたデフォルトのままでは、 いろんなサ−ビ スが動いていない。必要なのは rpm コマンドでインスト−ルして、 設定ファイルをいじ ること。Red Hat のメディアは購入しなかった。SI業者のエンジニアさんはOSのイメ −ジをそのままハ−ドディスクに入れてくれていた。[CD/DVDドライブ1]->[デ−タストア 上のISOイメ−ジに接続] して Red Hat の ISO イメ−ジをマウントする。 コンソ−ルの Red Hat の画面に {RHEL/5.6 i386 DVD} というアイコンがでてくる。 この状態でデバイ スの /dev/dvd に DVD がマウントされたことになっている。普通ISOイメ−ジをダウンロ −ドしてきて CD-ROM なり DVD メディアに焼いて、 それをマウントしてOSをインスト −ルするという手順を取るのだが、仮想化環境ではそんな手間もいらなくなる。 # cd /mnt 中には hgfs というディレクトリだけがあり空だった。 # mkdir tarou # cd / # mount -r /dev/dvd /mnt/tarou 仮想的にマウントされていないと、メディアが見つか # cd /mnt/tarou/Server りません、と出てくる。 # ls *telnet* telnet-0.17-39.el5.i386.rpm telnet-server-0.17-39.el5.i386.rpm # rpm -qa | grep telnet telnet-0.17-39.el5 telnet のクライアントは既にインスト−ルされている。 # rpm -ivh telnet-ser* 一瞬で telnet-server-0.17-39.el5.i386.rpm が入った。 # rpm -qa | grep telnet telnet-0.17-39.el5 telnet-server-0.17-39.el5 /etc/xinetd.d/ に telnet という制御ファイルができる。 ここは xinetd の管理に ある。xinetd デ−モンが動いていること。/etc/xinetd.d/telnet を変更した場合は # /etc/init.d/xinetd restart をやると、すぐに有効になる。 # cd / # umount /mnt/tarou DVD をアンマウントしたということ。 コンソ−ルの [CD/DVDドライブ1]->[デ−タストアイメ−ジから切断します] もやる。 # chkconfig --list だ−と全部でてくる、telnet は off になっている。 # chkconfig telnet on これですぐに他のマシンから telnet できるようになる。 # chkconfig --list telnet telnet on しかし root ユ−ザでは入ることができない。 ユ−ザ tarou でも適当に作り、とりあえ ず telnet で tarou でログインして、su - で root になるという手順になる。 # cat /etc/group 画面でデフォルトのままでアカウントを作るとユ−ザID、グ users:x:100:tarou ル−プIDとも 501番から作っていく。ここではグル−プID は users 値にした。/home/tarou/ には .bashrc とかできる。 # cat /etc/passwd tarou:x:502:100:Tarou Ura:/home/tarou:/bin/bash * ftp ができるようにする ftp サ−バはデフォルトでは動いてない。ftp デ−モンも入ってなかった。rpm で入れた。 Red Hat のOSイメ−ジがデ−タストアに入っていた。それをマウントしたぞ。 # cd /etc/vsftpd;ls ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh vsftpd.conf デフォルトのまま。 ftpusers ------------------------- -------- | | |#root << コメントにすると rootアクセスがで |pam_service_name=vsftpd |bin きるようになる。 |userlist_enable=YES |daemon |tcp_wrappers=YES | | # chkconfig --list vsftpd vsftpd 0:off 1:off 2:off 3:off 4:off 5:on 6:off [ RHEL の仮想マシンの状態 ] telnet は入った、ftp はこの制御下にはない。 # cd /etc/xinetd.d;ls chargen-dgram discard-dgram ekrb5-telnet ktalk tftp chargen-stream discard-stream gssftp rmcp time-dgram cvs echo-dgram klogin rsync time-stream daytime-dgram cho-stream krb5-telnet tcpmux-server daytime-stream eklogin kshell telnet * 端末画面の操作いろいろ Apollo から telnet かけると文字が化ける。# ls -l とかやってみると、 見かけちゃん と表示はされるが変なコ−ドが入っている。画面をスクロ−ルしたり、カット&ペ−スト して編集して触っていると文字が化けてくる。シェルはデフォルトでBシェル系のバッシ ュである。# export LANG=ja_JP.EUC とやればとりあえず回避できる。文字コ−ドを元に 戻すには # export LANG=ja_JP.UTF-8。"9-4.UNIXの使い方,[付録]" も参照のこと。 # ps -ewf 表示を途切れなく全部出したい場合はこれ。 * 文字化けするのは # printenv 仮想マシンにて、デフォルトの状態はこれ。 これで # ls -l やる SHELL=/bin/bash と、みかけ文字がでている。しかし画面をスクロ−ルしたりすると TERM=apollo 変なコ−ドが出てくる。Apolloから telnet してでの表示のことだ USER=root が、困っている。Apollo のエディタで編集していると、 文字が化 LANG=ja_JP.UTF-8 けてきてしまう。# /bin/csh、# setenv LANG C としてもおかしい。 # cd /home/tarou; ls -al -rw------- 1 tarou users 1151 Jun 28 09:35 .bash_history -rw-r--r-- 1 tarou users 33 Oct 21 2008 .bash_logout -rw-r--r-- 1 tarou users 176 Oct 21 2008 .bash_profile -rw-r--r-- 1 tarou users 124 Oct 21 2008 .bashrc drwxr-xr-x 3 tarou users 4096 Mar 23 18:06 .kde drwxr-xr-x 4 tarou users 4096 Mar 23 18:06 .mozilla -rw-r--r-- 1 tarou users 658 Sep 21 2010 .zshrc .bash_profile .bashrc この2つのファイル -------------------------- ---------------------------- の.bash_profile と |if [ -f ~/.bashrc ]; then |if [ -f /etc/bashrc ]; then .bashrc の違いは?。 | . ~/.bashrc | . /etc/bashrc |fi |fi |PATH=$PATH:$HOME/bin |export PATH /home/tarou/.bash_profile に export LANG=ja_JP.EUC を記入した。telnet して tarou で入ったら、EUC になっていた。そこから $ su - で root に入ったら、ja_JP.UTF-8 に 戻ってしまった。多分 /root/.bash_profile にも exportの記述をすればいいのでないか。 いやそうでなくて /etc/bashrc に "export LANG=ja_JP.EUC"を追記してみた。$ su - で も $ su でも ja_JP.UTF-8 に戻ることはなかった。$ su - でやること。一般ユ−ザでロ ッグインすると chkconfig コマンドなんか検索されない、$ su - だと root 環境でロッ グインすることになり chkconfig コマンドもちゃんと検索される。 /root/.bash_profile /root/.bashrc /etc/bashrc -------------------------- --------------------------- ---------------------- |if [ -f ~/.bashrc ]; then |alias rm='rm -i' | | | . ~/.bashrc |alias cp='cp -i' |export LANG=ja_JP.EUC |fi |alias mv='mv -i' |PATH=$PATH:$HOME/bin |if [ -f /etc/bashrc ]; then |export PATH | . /etc/bashrc /root には他に .cshrc |unset USERNAME |fi と .tcshrc もあった。 Apollo から telnet かけると文字が化ける。# ls -l とかやってみると、 見かけちゃん と表示はされるが変なコ−ドが入っている。画面をスクロ−ルしたり、カット&ペ−スト して編集して触っていると文字が化けてくる。シェルはデフォルトでBシェル系のバッシ ュである。このシェルでの環境変数の設定は export コマンドを使う。とりあえず変な文 字コ−ドが入らないようにするには #export LANG=ja_JP.EUC とやれば回避できる。一応 /etc/bashrc ファイルにこの1行を追記すればいいのだが、 1つ問題は man コマンドで ちゃんと日本語表示されていたのが化けてしまうこと。man だけでなく他の日本語表示さ れるところが英語表示になったりする。/etc/bashrc に書いておくのはやめて、Apolloに 画面のログを持って来たい時だけ # export LANG=ja_JP.EUC をやるかである。 * 大元での文字コ−ドの設定 「Software Design」2006/09, P.26,"LAMPシステム最強化計画"。によれば Apache なんか を使う LAMP であれば、ja_JP.eucJP にした方がいいと書いてあった。この記事は Intel IA-32 ア−キテクチャ上の Fedora Core 5 を対象。 # cd /etc/sysconfig # cat i18n LANG="ja_JP.UTF-8" << LAMP では EUC の方がいいだろう。 * いちいち聞いてくる root でログインしていても聞いてくる。 # cd /var/spool/mqueue; ls dfp647UDWp011569 dfp6493VKm016230 qfp647UDWp011569 qfp6493VKm016230 # rm * rm: remove regular file `dfp647UDWp011569'? y rm: remove regular file `dfp6493VKm016230'? y # rm -f * とやれば強制的に消去する。 * 表示が切れるのは 途中で表示が切れてしまう。 # ps -ef imss 31829 3777 0 10:38 ? 00:00:00 postgres: sa imss ::ffff:127.0.0 オプションに w を付けると全部表示するみたい。 # ps -ewf imss 31829 3777 0 10:38 ? 00:00:00 postgres: sa imss ::ffff:127.0.0 .1(44423) idle これは全部表示しているみたいだ。 # ps -ef | grep sendmail root 12969 1 0 13:40 ? 00:00:00 sendmail: accepting connections smmsp 12976 1 0 13:40 ? 00:00:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue * LDAP 関係はこんなんがある # rpm -qa | grep ldap python-ldap-2.2.0-2.1 nss_ldap-253-37.el5 openldap-clients-2.3.43-12.el5_5.3 mozldap-6.0.5-1.el5 openldap-devel-2.3.43-12.el5_5.3 openldap-2.3.43-12.el5_5.3 * ユ−ザのアカウントのこと # useradd -D デフォルトでどのようにユ−ザのアカウントが作られるかとい GROUP=100 うこと。-d home_directory, -g group, -s shell を指定する、 HOME=/home /bin/trueや /dev/null, -u uid は500番以降を指定するの INACTIVE=-1 を推奨。man useradd とやると0から999までの値は、通常 EXPIRE= システム用のアカウントに予約されている、と出て来る。なら SHELL=/bin/bash ば一般のユ−ザのアカウントを作るのに500番から自動的に SKEL=/etc/skel 付けられるのは矛盾しているように思うが。他のOS、例えば CREATE_MAIL_SPOOL=yes Solaris では100番以降だったし、深く考えることはない。 /etc/login.defs ---------------------------- |MAIL_DIR /var/spool/mail |#MAIL_FILE .mail |PASS_MAX_DAYS 99999 |PASS_MIN_DAYS 0 |PASS_MIN_LEN 5 |PASS_WARN_AGE 7 |# Min/max values for automatic uid selection in useradd |UID_MIN 500 << これで500番から自動で付けられている。 |UID_MAX 60000 |GID_MIN 500 |GID_MAX 60000 |CREATE_HOME yes |UMASK 077 |USERGROUPS_ENAB yes |MD5_CRYPT_ENAB yes 画面でユ−ザのアカウントを追加する場合。[システム]->[管理]->[ユ−ザとグル−プ]を やる。次の2つのチェックを外してやるといい。 □ユ−ザ−用にプライベ−トグル−プを作成 << group の GID は users でできる。 □ユ−ザ− ID を手動で指定 << 自分で番号を決めることができる。 * ls コマンドで年号を表示させるには 昔から気になっていたことで ls コマンドで年号が出てこないファイルがある。時刻が出 ている。現在の年に作ったファイルはどうもそんなようだが、昔のファイルでもそんな表 示になるのもある。ls はUNIXや Linux の超基本コマンドなのに、こんないい加減な ことではとても困る。2016年3月のこと、何とか年号も出すことはできないものかと 調べたらあった。GNUの ls コマンドなら以下のようなオプションが使えると分かった。 # cd /opt/trend/iwss # ls -l drwxr-xr-x 13 iscan iscan 4096 Jun 30 2006 bin drwxrwxr-x 21 iscan iscan 20480 Mar 9 08:48 data # ls -l --time-style=long-iso << GNUの ls ならこんなオプションがある。 drwxr-xr-x 13 iscan iscan 4096 2006-06-30 05:50 bin drwxrwxr-x 21 iscan iscan 20480 2016-03-09 08:48 data # ls -l --full-time << --time-style=full-iso と同じ。 drwxr-xr-x 13 iscan iscan 4096 2006-06-30 05:50:35.000000000 +0900 bin drwxrwxr-x 21 iscan iscan 20480 2016-03-09 08:48:44.000000000 +0900 data # ls -tl --time-style=long-iso << 近い日付けからソ−トして表示する。 (3) Red Hat Enterprise Linux メ−ル1 `2b/06 * メ−ル関係の初期設定の様子 /etc/rc2.d/S80sendmail は /etc/init.d/sendmail へのリンク。 /etc/rc0.d/K30sendmail は /etc/init.d/sendmail へのリンク。 # ls -l /etc/init.d/sendmail -rwxr-xr-x 1 root root 3349 Jan 22 2010 /etc/init.d/sendmail # cd /etc/mail;ls -F Makefile domaintable.db mailertable.db submit.mc access helpfile sendmail.cf trusted-users access.db local-host-names sendmail.mc virtusertable domaintable mailertable submit.cf virtusertable.db access mailertable 空 ------------------------------------- domaintable 空 |Connect:localhost.localdomain RELAY virtusertable 空 |Connect:localhost RELAY trusted-users 空 |Connect:127.0.0.1 RELAY local-host-names 空 # ls -F /var/spool anacron/ clientmqueue/ cups/ mail/ repackage/ samba/ at/ cron/ lpd/ mqueue/ rwho/ up2date/ ↑ここは空だった。 * メ−ルサ−バの初期状態の様子 # ps -ef | grep sendmail root 3699 1 0 May26 ? 00:00:00 sendmail: accepting connections smmsp 3707 1 0 May26 ? 00:00:00 sendmail: Queue runner@01:00:00 for You have new mail in /var/spool/mail/root /var/spool/clientmqueue # mail Mail version 8.1 6/6/93. Type ? for help. 表示が途中で切れている。 "/var/spool/mail/root": 42 messages 8 new 42 unread ↓ U 21 logwatch@localhost.l Thu May 19 04:02 45/1638 "Logwatch for akbou (Li U 22 logwatch@localhost.l Fri May 20 04:02 53/1954 "Logwatch for akbou (Li | # telnet localhost 25 Connected to localhost.localdomain (127.0.0.1). 220 akbou ESMTP Sendmail 8.13.8/8.13.8; Wed, 22 Jun 2011 12:09:32 +0900 quit 221 2.0.0 akbou closing connection Connection closed by foreign host. # ls -l /var/spool drwxr-xr-x 2 root root 4096 Mar 23 18:08 anacron drwx------ 3 daemon daemon 4096 Mar 23 18:04 at drwxrwx--- 2 smmsp smmsp 4096 Jul 6 04:02 clientmqueue drwx------ 2 root root 4096 Dec 11 2009 cron drwx--x--- 3 root lp 4096 Mar 23 18:04 cups drwxr-xr-x 2 root root 4096 Oct 1 2009 lpd drwxrwxr-x 2 root mail 4096 Jul 6 04:02 mail drwx------ 2 root mail 4096 Jul 6 04:02 mqueue drwxr-xr-x 2 root root 4096 Nov 17 2010 repackage drwxr-xr-x 2 root root 4096 Aug 15 2006 rwho drwxrwxrwt 2 root root 4096 Sep 10 2010 samba drwx------ 2 root root 4096 Nov 10 2010 up2date * sendmail はこんな様になっていました # which sendmail /usr/sbin/sendmail # cd /usr/sbin/; ls -l send* lrwxrwxrwx 1 root root 21 Mar 23 18:04 sendmail -> /etc/alternatives/mta -rwxr-sr-x 1 root smmsp 806460 Jan 22 2010 sendmail.sendmail # cd /etc/alternatives;ls -l ( sendmail に関係するところのみ表示 ) lrwxrwxrwx ... mta -> /usr/sbin/sendmail.sendmail lrwxrwxrwx ... mta-aliasesman -> /usr/share/man/man5/aliases.sendmail.5.gz lrwxrwxrwx ... mta-mailq -> /usr/bin/mailq.sendmail lrwxrwxrwx ... mta-mailqman -> /usr/share/man/man1/mailq.sendmail.1.gz lrwxrwxrwx ... mta-newaliases -> /usr/bin/newaliases.sendmail lrwxrwxrwx ... mta-newaliasesman -> /usr/share/man/man1/newaliases.sendmail.1.gz lrwxrwxrwx ... mta-pam -> /etc/pam.d/smtp.sendmail lrwxrwxrwx ... mta-rmail -> /usr/bin/rmail.sendmail lrwxrwxrwx ... mta-sendmail -> /usr/lib/sendmail.sendmail lrwxrwxrwx ... mta-sendmailman -> /usr/share/man/man8/sendmail.sendmail.8.gz * メ−ル関係のオリジナルをコピ−しとく # cd /etc/init.d # cp sendmail sendmail.org # ls -al sendmail -rwxr-xr-x 1 root root 3349 1 22 2010 sendmail # cd /etc/mail # cp sendmail.cf sendmail.cf.org # cp sendmail.mc sendmail.mc.org # cp submit.cf submit.cf.org # cp submit.mc submit.mc.org # cp access access.org # cp access.db access.db.org # ls -l -rw-r----- 1 root root 12288 3 23 18:04 access.db -rw-r----- 1 root root 12288 6 24 16:47 access.db.org [ 元々の sendmail.mc の有効なところだけ抜き出した ] # cat sendmail.mc divert(-1)dnl include(`/usr/share/sendmail-cf/m4/cf.m4')dnl VERSIONID(`setup for linux')dnl OSTYPE(`linux')dnl define(`confDEF_USER_ID', ``8:12'')dnl dnl define(`confAUTO_REBUILD')dnl define(`confTO_CONNECT', `1m')dnl define(`confTRY_NULL_MX_LIST', `True')dnl define(`confDONT_PROBE_INTERFACES', `True')dnl define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl define(`ALIAS_FILE', `/etc/aliases')dnl define(`STATUS_FILE', `/var/log/mail/statistics')dnl define(`UUCP_MAILER_MAX', `2000000')dnl define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl define(`confAUTH_OPTIONS', `A')dnl define(`confTO_IDENT', `0')dnl FEATURE(`no_default_msa', `dnl')dnl FEATURE(`smrsh', `/usr/sbin/smrsh')dnl FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl FEATURE(redirect)dnl FEATURE(always_add_domain)dnl FEATURE(use_cw_file)dnl FEATURE(use_ct_file)dnl FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl FEATURE(`access_db', `hash -T -o /etc/mail/access.db')dnl FEATURE(`blacklist_recipients')dnl EXPOSED_USER(`root')dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl FEATURE(`accept_unresolvable_domains')dnl LOCAL_DOMAIN(`localhost.localdomain')dnl MAILER(smtp)dnl MAILER(procmail)dnl * sendmail は入っていた dovecot は入ってなかった # mount -r /dev/dvd /mnt/tarou 仮想的に DVD をマウントする。 # cd /mnt/tarou/Server ここにたくさんパッケ−ジがある。 # ls *sendmail* sendmail-8.13.8-8.el5.i386.rpm sendmail-devel-8.13.8-8.el5.i386.rpm sendmail-cf-8.13.8-8.el5.i386.rpm sendmail-doc-8.13.8-8.el5.i386.rpm # ls *dovecot* dovecot のパッケ−ジはこれだけ。 dovecot-1.0.7-7.el5.i386.rpm qpopper pop3 とかは入ってなかった。 # rpm -qa | grep sendmail sendmail-8.13.8-8.el5 これがすでにOSに入っていた。 # chkconfig --list sendmail sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off # chkconfig --list dovecot サ−ビス dovecot に関するうんうん、結局ないという表示がでている。 (4) Red Hat Enterprise Linux メ−ル2 * dovecot をインスト−ルする dovecot-1.0.7-7.el5.i386.rpm /mnt/tarou/Server にあった、これからインスト perl-DBI-1.52-2.el5.i386.rpm −ルするパッケ−ジ。dovecot-xxxx.i386.rpm だ mysql-5.0.77-4.el5_5.4.i386.rpm け入れれば済むということではない。 perl-DBD-MySQL-3.0007-2.el5.i386.rpm postgresql-libs-8.1.22-1.el5_5.1.i386.rpm # rpm -ivh perl-DBI* # rpm -ivh postgresql-lib* # rpm -ivh perl-DBD-M* mysql-5* これらは同時にインスト−ルすることにより相互 # rpm -ivh dovecot* 依存関係を解消させる。同時指示でないと無限ル −プに陥りインスト−ルができないことになる。 # chkconfig --list dovecot dovecot 0:off 1:off 2:off 3:off 4:off 5:off 6:off # ls -l /etc/dovecot.conf 入ったのは今か、dovecot プログラムも。 -rw-r--r-- 1 root root 42901 11 25 2008 /etc/dovecot.conf # ls -l /usr/sbin/dovecot -rwxr-xr-x 1 root root 150796 11 25 2008 /usr/sbin/dovecot # rpm -qR dovecot どんなコマンドやライブラリを使っているか表示。 /bin/bash | この間いっぱいでてきた。 libz.so.1 openssl >= 0.9.7f-4 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rtld(GNU_HASH) * dovecot を設定する # cd /etc # cp dovecot.conf dovecot.conf.org << 制御ファイルの元をコピ−しておく。 # service dovecot start << 今 dovecot を起動する。 # chkconfig --list dovecot on << マシン起動時に dovecot も起動させる設定。 /etc/sysconfig/dovecot << dovecot インスト−ルしたら入ったファイル。 ------------------------------------------------------------ |# Here you can specify your dovecot command line options. |# |#OPTIONS="" * dovecot.conf そのままで起動 /etc/dovecot.conf ファイルは、とりあえず何もいじらなくても POP3 サ−バとして使え た。dovecot はそのままで IMAP も有効になっている。いっぺん試してみる?。 # which dovecot /usr/sbin/dovecot # dovecot -n # 1.0.7: /etc/dovecot.conf login_dir: /var/run/dovecot/login login_executable(default): /usr/libexec/dovecot/imap-login login_executable(imap): /usr/libexec/dovecot/imap-login login_executable(pop3): /usr/libexec/dovecot/pop3-login mail_executable(default): /usr/libexec/dovecot/imap mail_executable(imap): /usr/libexec/dovecot/imap mail_executable(pop3): /usr/libexec/dovecot/pop3 mail_plugin_dir(default): /usr/lib/dovecot/imap mail_plugin_dir(imap): /usr/lib/dovecot/imap mail_plugin_dir(pop3): /usr/lib/dovecot/pop3 auth default: passdb: driver: pam userdb: driver: passwd # /etc/init.d/dovecot start Dovecot Imap を起動中: [ OK ] # ps -ef | grep dovecot root 4755 1 0 ... /usr/sbin/dovecot root 4758 4755 0 ... dovecot-auth dovecot 4760 4755 0 ... pop3-login dovecot 4761 4755 0 ... pop3-login dovecot 4762 4755 0 ... pop3-login dovecot 4763 4755 0 ... imap-login dovecot 4764 4755 0 ... imap-login dovecot 4765 4755 0 ... imap-login root 4767 4627 0 ... dovecot # telnet localhost 110 Connected to localhost.localdomain (127.0.0.1). +OK Dovecot ready. user tarou +OK pass henomohe +OK Logged in. quit +OK Logging out. Connection closed by foreign host. # cd /etc/pam.d; ls -l dovecot -rw-r--r-- 1 root root 157 11 25 2008 dovecot /etc/pam.d/dovecot ---------------------------------------- |#%PAM-1.0 |auth required pam_nologin.so |auth include system-auth |account include system-auth |session include system-auth (5) Red Hat Linux 9 はどうだったか `24/10〜 * メモ DOS/V で Windows 2000 と Linux のデュアルブ−トのマシンです。 ディスプレイの文字 は Windows の方がクリアです。Linux にすると、どうもちょっとぼけます。Linuxのフォ ントが雑なんでしょうか。フリ−のでなくて、有料のフォントならどうなのか。 Red Hat の市販タイプだと有料フォントが入っているので、見てみたいものです。シェルは標準の ままだと bash になっている。小生 C-Shell に慣れているので #/bin/csh とついついや ってしまいます。でも bash の方がいろいろ便利な機能があるのです。 「Linux ネットワ−クサ−バ構築ガイド2003」Linux magazine No.11 MOOK, 1,900 円+税 > 最強のファイルサ−バを作る。自前で買いました。Red Hat Linux 9 CD-ROM 3枚付録。 http://www.jp.redhat.com/manual/Doc73/RH-DOCS/rhl-rg-ja/index.html > Red Hat Linux 7.3 オフィシャル Red Hat Linux リファレンスガイド。1冊の本だ!。 * 基本のネットワ−ク設定 /etc/host.conf /etc/resolv.conf ------------------ ------------------------------ | | |nameserver IPアドレスその1 |order hosts,bind |nameserver IPアドレスその2 /etc/sysconfig/network << これはマシン全体での設定になる。# netconfig でGUI ---------------------- 画面が出てくるが、こちらのファイルで設定した方がいい。 |NETWORKING=yes |HOSTNAME=jirou << # hostname で出てくるホスト名になる。 |GATEWAY=192.168.1.5 << 複数インタ−フェ−スがある場合は無視される。 /etc/sysconfig/network-scripts/ifcfg-eth0 複数インタ−フェ−スがある場合はこち ----------------------------------------- らが優先される。上の "network"ファイ |DEVICE=eth0 ルを実行して、このファイルを実行する。 |ONBOOT=yes |BOOTPROTO=none |IPADDR=192.168.1.7 |NETMASK=255.255.255.0 このマシンのIPアドレスは 192.168.1.7 で、 |GATEWAY=192.168.1.1 デフォルトゲ−トウェイは 192.168.1.1 です。 |TYPE=Ethernet /etc/sysconfig/network の GATEWAYは、ここ |USERCTL=no では取られない。ホスト名は jirou です。 |PEERDNS=no |NETWORK=192.168.1.0 |BROADCAST=192.168.1.255 # /etc/rc.d/init.d/network restart << start,stop,reload,status がある。 # cd /etc/sysconfig; ls -F apm-scripts/ grub mouse redhat-config-users apmd harddisks named redhat-logviewer authconfig hwconf network rhn/ clock i18n network-scripts/ samba console/ init networking/ sendmail desktop installinfo ntpd syslog devlabel irda pcmcia xinetd firstboot keyboard rawdevices yppasswdd gpm kudzu redhat-config-securitylevel * デ−モンの起動と稼働 # cd /etc/rc.d/init.d; ls FreeWnn cups irda netfs portmap single winbind anacron firstboot isdn network pxe smb xfs apmd functions kdcrotate nfs random snmpd xinetd atd gpm keytable nfslock rawdevices snmptrapd ypbind autofs halt killall nscd rhnsd sshd yppasswdd canna httpd kudzu ntpd saslauthd syslog ypserv crond iptables named pcmcia sendmail vsftpd ypxfrd # cd /etc; ls -al init.d lrwxrwxrwx 1 root root ... init.d -> rc.d/init.d << リンクされている。 [ サ−ビスを今稼働させる ] # /etc/rc.d/init.d/sendmail start または # /sbin/service sendmail start [ サ−ビスをマシン起動時に稼働させるようにする ] # /sbin/chkconfig --list << サ−ビス全部の状態を表示する。 # /sbin/chkconfig sendmail on << sendmail を稼働させるようにする。 # /sbin/chkconfig --list sendmail << sendmail だけ起動時の状態を表示する。 sendmail 0:オフ 1:オフ 2:オン 3:オン 4:オン 5:オン 6:オフ 画面からは [システム設定]->[サ−バ設定]->[サ−ビス] で制御できる。POP3サ−バを動 かすには、こっちの画面で行うこと。ipop3 のところをチェックすればいい。 * 初期設定のままではこのマシンに telnet できない /etc/hosts.allow と hosts.denyファイルは最初からあったが、何も書かかれてなかった。 # cd /etc/xinetd.d; ls これら個々のファイルで制御されている。 chargen daytime-udp finger ipop3 rlogin services time chargen-udp dbskkd-cdb imap ntalk rsh sgi_fam time-udp cups-lpd echo imaps pop3s rsync talk daytime echo-udp ipop2 rexec servers telnet telnet -------------------------------------------------------------------- |# default: on |# description: The telnet server serves telnet sessions; it uses \ |# unencrypted username/password pairs for authentication. |service telnet |{ | flags = REUSE ※ only_from = 192.168.1.9 等と入れるとアクセス | socket_type = stream できるホストを指定できる。 | wait = no | user = root << アクセスできるユ−ザは root ロッグインだけ。 | server = /usr/sbin/in.telnetd | log_on_failure += USERID | disable = no << yes にすると他のコンピュ−タからアクセスでき |} るようになる。いやその逆じゃないか。 どんなサ−ビスがONになっているかは、[システム設定]->[サ−バ設定]->[サ−ビス]を 辿るか # redhat-config-services コマンドでも同じ {サ−ビスの設定} 画面が出てくる。 制御ファイルのオリジナルをバックアップするつもりで telnet.org とかでコピ−すると、 {サ−ビスの設定} 画面に telnet.org と出て来る。 * メ−ルを移す Mozilla のが使える。メ−ルを取ってくるのは POP か IMAPしか設定できない。sendmail は設定するところがそもそもない。ユ−ザ tomo を作ったとする。tomoでロッグインして、 初めて Mozilla を起動するとアカウント・ウィザ−ドが働き設定画面が出てくる。 # cd /home/tomo/.mozilla/default/1nyzq6qy.slt/; ls -F Cache/ bookmarks.html history.mab panacea.dat prefs.js Mail/ chrome/ localstore.rdf panels.rdf search.rdf abook.mab history.dat mimeTypes.rdf # cd Mail; ls -al drwx------ 2 tomo users 4096 11月 1 13:09 192.168.1.2 drwx------ 2 tomo users 4096 11月 1 12:36 Local Folders # cd 192.168.1.2; ls -l -rw------- 1 tomo users 0 11月 1 12:36 Drafts -rw------- 1 tomo users 1325 11月 1 13:09 Drafts.msf -rw------- 1 tomo users 11918 11月 1 12:55 Inbox -rw------- 1 tomo users 3910 11月 1 13:09 Inbox.msf -rw------- 1 tomo users 24252294 11月 1 13:03 KATOU -rw------- 1 tomo users 545301 11月 1 13:16 KATOU.msf | -rw------- 1 tomo users 61 11月 1 13:18 popstate.dat -rw------- 1 tomo users 25 11月 1 12:36 rules.dat 上記は INDY の Zmail で使っていたメ−ルを、Linux の Mozilla に移したところである。 Zmail のメ−ルボックスのファイルを KATOU というファイル名でコピ−した。 オ−ナと グル−プを合わせた。Mozilla のメ−ルを動かしたら、KATOU.msf と言うファイルが作ら れた。Zmail は2000年問題に対応してなくて、日付がぐちゃぐちゃだったが、ちゃん と表示されていた。すんません Mail/192.168.1.2 というディレクトリ、何でそんなんが できたのか見てませんでした。多分、メ−ルサ−バのIPアドレスだと思います。 * パッケ−ジについて Red Hat 8.x, 9.x では rpm とは別に、"redhat-config-package" というコマンドがあっ て画面が出てくる。Webmin は Vine Linux や Turbolinux に入っている。Red Hat Linux には入ってない。 # rpm -e package << パッケ−ジをアンインスト−ルする。 # rpm -q package << パッケ−ジを確認する。 # rpm -q samba samba-2.2.7a-7.9.0 # rpm -qa << インスト−ルされている全てのパッケ−ジをリストする。 setup-2.5.25-1 bzip2-libs-1.0.2-8 | # rpm -ql package << インスト−ルしてあるファイル名が出て来る。 # rpm -ql samba /etc/logrotate.d/samba /etc/pam.d/samba /etc/rc.d/init.d/smb | * Apache について # /usr/sbin/httpd -help << これで指定できるオプションがでる。-v でバ−ジョン が出る、Apache/2.0.40 だった。 # /usr/sbin/httpd -t << 制御ファイルの記述が正しいかチェックする。 問題な ければ Syntax OK と出る。 # /usr/sbin/httpd -l << 入っているモジュ−ルを表示する。 これだけ入ってい Compiled in modules: た。mod_so.c はダイナミック・リンクのモジュ−ルで core.c modules/ 以下のモジュ−ルが含まれる。 prefork.c http_core.c mod_so.c # cd /etc/httpd; ls -F conf/ conf.d/ logs@ modules@ run@ << conf には httpd.conf と magicの2 コのファイル。 # ls modules mod_access.so mod_cgi.so mod_include.so mod_rewrite.so mod_actions.so mod_cgid.so mod_info.so mod_setenvif.so mod_alias.so mod_dav.so mod_log_config.so mod_speling.so mod_asis.so mod_dav_fs.so mod_mime.so mod_status.so mod_auth.so mod_deflate.so mod_mime_magic.so mod_suexec.so mod_auth_anon.so mod_dir.so mod_negotiation.so mod_unique_id.so mod_auth_dbm.so mod_env.so mod_proxy.so mod_userdir.so mod_auth_digest.so mod_expires.so mod_proxy_connect.so mod_usertrack.so mod_autoindex.so mod_headers.so mod_proxy_ftp.so mod_vhost_alias.so mod_cern_meta.so mod_imap.so mod_proxy_http.so /etc/httpd/conf/httpd.conf ------------------------------------------------------------- | | |LoadModule alias_module modules/mod_alias.so |LoadModule rewrite_module modules/mod_rewrite.so |LoadModule proxy_module modules/mod_proxy.so << 1) |LoadModule proxy_http_module modules/mod_proxy_http.so << 2) | | |ServerName jirou | | |# << 3) |ProxyRequests On |# |# Enable/disable the handling of HTTP/1.1 "Via:" headers. |# ("Full" adds the server version; "Block" removes all outgoing Via: headers) |# Set to one of: Off | On | Full | Block |# |#ProxyVia On | | |#RewriteEngine on |#RewriteCond %{REMOTE_ADDR} 192\.168\.1\.7 |#RewriteRule http://www.nix.co.jj/ http://xxx.xxx.xxx.xx/ |#ProxyRemote http://www.nix.co.jj/ http://xxx.xxx.xxx.xx/ |#Redirect http://www.nix.co.jj/ http://xxx.xxx.xxx.xx/ Apache を HTTP の Proxy サ−バとして使いたいなら、上記 1),2),3) を設定すること。 * FTP サ−バを起動させる Red Hat Linux をインスト−ルしたままでは FTP デ−モンは動いてない。ftpd というコ マンド名ではなくて、vsftpd という Very Secure Daemon が入っている。 制御ファイル は vsftpd.ftpusers、vsftpd.user_list、vsftpd.conf である。# man 5 vsftpd.conf で マニュアルが出てくる。man 画面を終わるには Ctrl+z を押す。注意、デフォルトのまま では root でロッグインできない。以下の設定でできるようになる。 # service vsftpd start << # service vsftpd で使い方が出てくる。 vsftpd用のvsftpdを起動中: [ OK ] /etc/vsftpd.ftpusers $ ftp 192.168.1.7 他のマシンからこ --------------------- 220 (vsFTPd 1.1.3) の Linuxマシンに |#root << ここコメントにした。 Name (192.168.1.7:katou): root ftp をかける。 |bin 530 Permission denied. |daemon Login failed. | | /etc/vsftpd/vsftpd.conf ---------------------------- | | |pam_service_name=vsftpd |userlist_enable=YES |#enable for standalone mode |listen=YES |tcp_wrappers=YES |userlist_deny=NO << ここ追加した。/etc/vsftpd.user_list ファイルを見る。 ------------------------------------------------------------------------------------ [ 付録 ] Red Hat Enterprise Linux でのこと `2b/06 * Apollo から RHEL に telnet アクセス << 以下全て >> どこかに変にタブコ−ドが入っているようだ。タブをブランクにできないか。 # stty -a speed 9600 baud; rows 0; columns 0; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -cdtrdsr -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8 opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke # infocmp または infocmp -C apollo # Reconstructed via infocmp from file: /usr/share/terminfo/a/apollo apollo|apollo console, am, mir, cols#88, lines#53, clear=^L, cub1=^H, cud1=\EB, cuf1=\EC, cup=\EM%p1%' '%+%c%p2%d), cuu1=\EA, dch1=\EP, dl1=\EL, ed=\EJ, el=\EK, hpa=\EN%p1%d, il1=\EI, ind=\EE, ri=\ED, rmcup=\EX, rmir=\ER, rmso=\ET, rmul=\EV, smcup=\EW, smir=\EQ, smso=\ES, smul=\EU, vpa=\EO+\s, # infocmp -C ansi # Reconstructed via infocmp from file: /usr/share/terminfo/a/ansi # (rmacs/smacs removed for consistency) ansi|ansi/pc-term compatible with color:\ | # infocmp ansi # Reconstructed via infocmp from file: /usr/share/terminfo/a/ansi ansi|ansi/pc-term compatible with color, | * 端末環境はどうなっている # ps --info << # ps --help とやるとヘルプが出てくる。 BSD j OL_j でも内容はよく分からないけど。 BSD l OL_l BSD s OL_s BSD u OL_u BSD v OL_v SysV -f (none) SysV -fl (none) SysV -j (none) SysV -l (none) procps version 3.2.7 Linux version 2.6.18 Compiled with: glibc 2.5, gcc 4.1 header_gap=-1 lines_to_next_header=1 screen_cols=80 screen_rows=24 << これがデフォルトの表示長さか。 personality=0x00000000 (from "unknown") EUID=0 TTY=136,2 Hertz=100 page_size=4096 sizeof(proc_t)=536 sizeof(long)=4 sizeof(KLONG)=4 archdefs: i386 namelist_file="" # set めぼしいところを抜粋。# export COLUMS=100 とかは?。 BASH=/bin/bash COLORS=/etc/DIR_COLORS COLUMNS=88 HOSTNAME=akbou HOSTTYPE=i686 LANG=ja_JP.EUC LINES=53 MACHTYPE=i686-redhat-linux-gnu MAIL=/var/spool/mail/root OLDPWD=/var/spool/mqueue-rx OSTYPE=linux-gnu PATH=/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin: ... SHELL=/bin/bash