今天有個題目讓我想去了解一下SUPTAH這個變數是做什麼的:
就是有個user01,它的uid=1001, gid=1, 使用/bin/ksh, 在執行下列指令,出現一些訊息:
$ su - root -c "mozilla"
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
-sh: mozilla: not found
那麼以下那三個敘述是正確的呢?
A. root沒有密碼
B. SUPATH環境變數沒有設定
C. mozilla的應用程式沒有被安裝在系統中
D. 使用者root無權限執行mozilla
E. 使用者user01無權限執行mozilla
F. 使用者root的PATH變數沒有設定mozilla程式所在的路徑
答案是ABF, 因為沒有用過SUPATH這個變數, 只知道要執行某個程式, 必須在PATH變數中有設定它所在的路徑, 所以我選ACF, 當然又錯了, 好像是陷阱題.
後來查了一下, 其實也不難理解, 在/etc/default下有su 跟 login 裡都有SUPATH這個設定, 只是default是關閉的. 它的用意只是在讓一般使用者執行 su為 root用戶時, 指定可以執行該SUPATH所指定的路徑下的指令而已.