發信人: OuTian.bbs@legend.twbbs.org (黑糖), 看板: OuTian
標 題: Auto Login in Linux
發信站: legend (Wed Jan 10 10:17:56 2007)
轉信站: SayYa!Group.NCTU!grouppost!Group.NCTU!legend
Origin: 140.136.152.115
昨晚有個朋友傳訊來問問題
說在 linux 中怎麼做到一開機起來 , 就讓某 user 自動 login ?
我記得新一點的 distro 都有設計好可以讓指定的 user 自動 login X
但是 console 裡的就不知道怎麼搞了 ...
本來想去惡搞那些 init script ,
但那時應該還是 root , 而人家是要 normal user ...
再來想的是惡搞 mgetty 或 login ...
但需要一點時間 ...
後來是找到一個蠻有趣的 script ,
#!/bin/sh
exec 0</dev/$1 1>/dev/$1 2>&1
shift
exec $*
例如把它存在 /sbin/autologin , 當然記得 chmod 成可執行
再去改 /etc/inittab ,
例如要 user1 這個 user auto login 在 tty1 好了,
那就把本來的
1:2345:respawn:/sbin/mingetty tty1
改成
1:2345:respawn:/sbin/autologin tty1 login -f user1
這樣就 OK 了 !
大概說明一下 -
一開始要先把標準的三個 file descriptor 和某 tty 對應好,
在前例中,
0</dev/$1 , 就是 0</dev/tty1 , 也就是由 tty1 讀入 stdin
1>/dev/$1 , 1>/dev/tty1 , stdout 輸出到 tty1
2>&1 , stderr 也加到 stdout
然後把 parameter shift 一格 ... ( $1->deleted, $2->$1, $3->$2 ... )
然後呼叫 exec 執行所有的 argument
在前例中, 就是 login -f user1
這樣就會讓 user1 auto login 在 tty1 了 :>
--
※ 發信站: 傳說中的BBS(legend.twbbs.org)
◆ From: 127.0.0.1