系統管理
1753500 會員
4466 線上
108794 解決方案
發表新文章

可以做到這種選單式服務嗎

 
watermelonyu
教授

可以做到這種選單式服務嗎

我的的需求是希望User用ssh or telnet ,Login到HPUX

是會出現選單,

user可以執行的東西就只有選單上的東西,而且不能讓user離開選單進入console.

有什麼方法可以做到這種東西呢?

Example:







1.Delete…… ..(一些file))



2.Copy……….(一些file)



3.view ………...( 一些file log)



4.exit

6則回覆 6
watermelonyu
教授

可以做到這種選單式服務嗎

你以前玩過BBS嗎?

你的需求就類似BBS, USER登入後只能在選單內活動

不能有額外的command interface



不過你得自己寫程式
watermelonyu
教授

可以做到這種選單式服務嗎

舉個例子, 在 /etc/profile 中, 加入以下

if

then

export TERM=vt100

fi

if

then

/usr/bin/passwd

exit

fi



當 user login 之後, 只能執行更改自己的密碼, 針對你的 case, 你只要寫一支 script 取代 (/usr/bin/passwd

) 就好了
watermelonyu
教授

可以做到這種選單式服務嗎

但是如果用case去做的話,每次做完都會離開該shell,這樣就無法回到主選單了,要怎要修改才能每次執行完都回到主選單,除非我選擇真正要離開
watermelonyu
教授

可以做到這種選單式服務嗎

Hi joey,



參考附件

除非user選擇e或E才會離開主選單

另外,第一行是防止user按下ctrl+C強迫離開主選單

watermelonyu
教授

可以做到這種選單式服務嗎

Hi,



How about setup as this,



# pwd

/home/userx

# ll .profile

-rwxr-xr-x 1 root users 670 Jun 4 14:09 .profile

# cat .profile

PATH=$PATH:.

stty erase "^H" kill "^K" intr "^C" eof "^D"

stty hupcl ixon ixoff

set -u

trap exit 0 1 2 3 9

export EDITOR=vi

export TERM=vt100



while

do

clear

echo "1 ......"

echo "2 ......"

echo "3 ......"

echo "4 ......"

echo "5 exit"

read abc

case "$abc" in

1) echo "do item 1"

sleep 2

;;

2) echo "do item 2"

sleep 2

;;

3) echo "do item 3"

sleep 2

;;

4) echo "do item 4"

sleep 2

;;

5) exit ;;

esac

done



watermelonyu
教授

可以做到這種選單式服務嗎

自己寫一個選單式的shell

在/etc/passwd內改使用者預設的登入shell