Subject: 系統管理篇
X-Disclaimer: [椰林風情] 對本信內容恕不負責



┌────────────────┐
│問 : 為何我在 tcsh 下不能 ftp ? │
└────────────────┘
  答 : 在 /etc/shells 中加入 :

        /bin/tcsh

       若你的系統沒有這個檔, 就加一個吧 !! 
       
       這個檔案的功能在登錄系統中合法正常的 shell 。
       譬如, 有些機器會提供特別的服務, 像是 archie 之類的, 
       系統管理者會把 archie 的 shell 設為 archie-shell
       之類的東東, 因為這個 shell 並非在 /etc/shells 中註冊
       有案, archie 便自動不接受外界 ftp, 有保護系統的作用。
          

┌─────────────────────────────────┐
│問 : 為何我無法從別台機器FTP到我的機器, 每次輸入完我的LOGIN NAME, │
│     就被 access deny!!!!                                         │
│     但是別的user就可以login, 我的就不行!!!                       │
│     是不是換了tcsh, 還是.........                                │
│     是否還有其他設定!!!!!                                        │
└─────────────────────────────────┘
  答 :  (1) 這可能是shell的問題. FTP 時會 check /etc/shells. 
            如果你要用tcsh, 請將 tcsh 含完整路徑加入該檔中即可.
        
        (2) 查一下 /etc/ftpusers
            查您的大名是否被掛在那邊了..
            只要被掛在 /etc/ftpusers 中的 user 都不能以 ftp access.



┌────────────────────────────────┐  
│問 : 各位先進小第知道 login 後若有 message 要告知 user 須在那裡 │  
│     編輯呢 ?                                                   │ 
└────────────────────────────────┘
   答 : 可於 /etc/motd 編輯。


 ┌──────────────────┐
 │問 : login 前的 message 該如何處理. │
 └──────────────────┘
   答 : (1) 可在 /etc/issue 編輯。

        (2) 提供你一個交大計中所率先使用, 最 easy 的方法:

         以 SunOS 為例:
            1) 將原始的 /usr/etc/in.telnetd rename , 
               如改成 /usr/etc/in.telnetd.exe
            2) 用 shell 新創一個 /usr/etc/in.telnetd , 如 :

               #!/bin/sh
               cat /etc/login.banner          <==== 此即為 messages 檔
               echo "     "`/usr/ucb/uptime`
               if [ -f /etc/login.banner.system ]
               then
                 cat /etc/login.banner.system
               fi
               echo -n ""
               exec /usr/etc/in.telnetd.exe

               用此方式可自行加上所需的其它訊息, 如上例的 uptime 等.

            3) 別忘了對此新檔 chmod a+x




 ┌───────────────────────────────┐
 │問 : 請教有關於user的問題 :                                   │
 │     假設有a , b , c 三個user 及 dd user                      │
 │     a , b, c 三個user 不能互相cd 目錄,旦可以 由 dd user去監  │
 │     督 a , b , c 三個 user                                   │
 └───────────────────────────────┘
  答 :
       用 group, 將 a, b, c 三個分別置於 3 個不同的 group,
       將三個 user 的 directory 設成 group access, world denied,

      再將 dd 分別置於三個 group 中, 如此一來 a, b, c 不能互相看
      對方的目錄(除非自己打開), 但 dd 卻可以看所有的的目錄。

 ┌───────────────────────────────┐
 │ 問 : 拿到一個檔案的 patch , 說有改掉一些 bug . 請問要如何    │
 │       使用這 patch ?                                         │
 └───────────────────────────────┘
  答 : patch -p < patchfile

 ┌────────────────────────────────┐
 │ 問 : 在使用 telnet bbs 進入bbs站後, 不用輸入username ,password │
 │      ( 我指的是UNIX 的username ,password, 不是bbs 的 username ,│
 │      password ),便可直接進入系統值行bbs的程式. 這是怎麼辦到的? │
 └────────────────────────────────┘
  答 : 更改  telnet daemon 。

 

 ┌──────────────────────────────┐
 │ 問 : 我需要在 login 前 delay 一段時間 (about 20 seconds).  │
 │   ( before prompt username or any other prompt message ).  │
 │     是否有方法可達成?                                      │
 └──────────────────────────────┘
  答 : 方式如同在 login prompt 出現前 show messages 一樣,  
       有兩種方法:

       1) 找份 telnetd 的 source code , 修改成你所需的模式.

       2) 以 shell script 窵個"新的" telnetd , 如下:

              a) 首先將 telnetd rename 成 telnetd.exe

              b) create a telnetd program ,
                 #!/bin/sh
                 sleep 20
                 exec telnetd.exe

              c) chmod a+x telnetd


┌─────────────────────────────────────┐
│問 : 若有新信進來,如何知道 ?? 即如何使 user 在 login 時顯 "You have new   │
│     mail" ?                                                              │
└─────────────────────────────────────┘
   答 : (1) 試試 newmail -i 10   ==> 每 10 秒 檢查你的 incoming mbox 

        (2) 在 csh 或 tcsh 中, 可試試
               set mail = (300 /usr/spool/mail/username)
            要 Shell 約每 300 秒檢查一下 'username' 此人的 mail spool 
            是否有新的 mails。


┌─────────────────────────────┐
│問 : 請問SunOS's patch的編號有沒有代表什麼含義?           │
│     例如某些位數代表版本,某些位數代表patch的種類等...    │
└─────────────────────────────┘
  答 : 前面好像只是編號... 後面 -xx 是表示 patch 的次數....