RHEL 5.5ではデフォルトで
[deuberger@saleen trunk]$ sudo cat /etc/securetty
console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
console
各エントリ タイプ ( 、、 )の違いは何ですか? 具体的には、各エントリ タイプvc/*
をtty*
追加および削除した場合の最終結果は何ですか?
私の理解では、これらはログイン方法とログイン時間に影響しますが、他に何か影響はありますか? また、どのエントリが存在するかによって、いつログインでき、いつログインできないかが決まりますか?
編集1
私が知っているのは、それが- -から- -tty1-6
を使用して到達した最初の 6 つのコンソールからログインできるかどうかに対応するということです。私はそれらが仮想コンソールであると常に思っていたので、少し混乱しています。そして、それは何に対応していますか?CtrlAltF1CtrlAltF6console
ありがとう。
編集2
シングル ユーザー モードでは、どのような効果がありますか?
答え1
/etc/securetty
モジュールはこれを参照して、pam_securetty
どの仮想端末 ( tty*
)root
からのログインが許可されるかを決定します。
以前は、/etc/securetty
のようなプログラムによってlogin
直接参照されていましたが、現在は PAM がそれを処理します。したがって、 への変更は、/etc/securetty
を使用する構成ファイルで PAM を使用するすべてのものに影響しますpam_securetty.so
。したがって、login
デフォルトではプログラムのみが影響を受けます。
/etc/pam.d/login
ローカル ログインには使用され、/etc/pam.d/remote
リモート ログイン (telnet など) には使用されます。
主なエントリ タイプとその影響は次のとおりです。
/etc/securetty
存在しない場合は、root
どこからでもログインできますtty
/etc/securetty
が存在し、空の場合、アクセスはシングルユーザーroot
モードまたはによって制限されていないプログラムに制限されますpam_securetty
(つまりsu
、、、、、)sudo
ssh
scp
sftp
devfs
( を処理するための非推奨のファイルシステム)を使用している場合/dev
、 という形式のエントリを追加すると、vc/[0-9]*
指定された仮想コンソール番号からの root ログインが許可されます。udev
(動的デバイス管理および の置き換え用)を使用している場合devfs
、 形式のエントリを追加すると、tty[0-9]*
指定された仮想コンソール番号からの root ログインが許可されます。console
のリストは/etc/securetty
通常は効果がありません。/dev/console
現在のコンソールを指し、通常はtty
シングルユーザーモードでファイル名としてのみ使用され、/etc/securetty
- のようなエントリを追加すると、割り当てられたものがリストされているものの1つであると仮定して、
pts/[0-9]*
疑似端末(pty
)を使用するプログラムがpam_securetty
ログインできるようになります。通常は良い考えです。root
pty
ないこれらのエントリを含めることはセキュリティ上のリスクであるため、含めないでください。たとえば、パスワードをプレーンテキストで送信する telnet 経由で誰かが root にログインできるようになります (これはRHEL 5.5 で使用されるpts/[0-9]*
形式であることに注意してください。 または他の形式のデバイス管理udev
を使用する場合は異なりますdevfs
)。
シングル ユーザー モードでは、の代わりに/etc/securetty
が使用されるため、 は参照されません(詳細については、マニュアル ページを参照してください)。また、各ランレベルで使用されるログイン プログラムを変更することもできます。sulogin
login
sulogin
/etc/inittab
経由でログインを/etc/securetty
制御するために を使用すべきではないことに注意してください。そのためには、のの値を変更します。デフォルトでは、 は(したがって)を参照するように設定されていません。これを行う行を追加することもできますが、ステージの後になるまで実際の が設定されないため、期待どおりには機能しません。およびステージ中、少なくとも では、( ) は にハードコードされています。root
ssh
PermitRootLogin
/etc/ssh/sshd_config
/etc/pam.d/sshd
pam_securetty
/etc/securetty
ssh
tty
auth
auth
account
openssh
tty
PAM_TTY
ssh
上記の回答は RHEL 5.5 に基づいています。その多くは他の *nix システムの現在のディストリビューションに関係しますが、違いもあります。そのうちのいくつかは私が指摘しましたが、すべてではありません。
他の回答が不完全または不正確だったため、私は自分で回答しました。オンライン上の他の多くのフォーラム、ブログなどにも、このトピックに関する不正確または不完全な情報が掲載されているため、正確な詳細を得るために広範囲にわたる調査とテストを行いました。ただし、私が述べた内容に誤りがある場合は、お知らせください。
出典:
- http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/ch-sec-network.html#s1-wstation-privileges
- http://www.mathematik.uni-marburg.de/local-doc/centos5/pam-0.99.6.2/html/sag-pam_securetty.html
- http://linux.die.net/man/1/ログイン
- http://www.tldp.org/HOWTO/html_single/テキストターミナルHOWTO/
- http://www.kernel.org/doc/Documentation/devices.txt
- http://en.wikipedia.org/wiki/仮想コンソール
- http://en.wikipedia.org/wiki/Linux_コンソール
- 詳しくは、man4 のマニュアルを参照してください。
- http://www.unix.com/security/8527-restricting-root-login.html
- http://www.redhat.com/mirrors/LDP/HOWTO/シリアル-HOWTO-11.html#ss11.3
- http://www.mathematik.uni-marburg.de/local-doc/centos5/udev-095/udev_vs_devfs
答え2
vc/X
これらはttyX
同義語です。つまり、同じデバイスへの異なるパスです。冗長性のポイントは、ロックアウトされないようにさまざまなケースをキャッチすることです。
従来、login
(おそらく もgetty
、はっきり覚えていませんが) は、リストされていない端末でのログインをチェックし/etc/securetty
て拒否していましたroot
。最近のシステムでは、これを行う他の方法や他のセキュリティ対策もあります。 の内容を確認してください/etc/login.defs
(securetty
の機能についても説明されており、securetty(5)
man ページでも推奨されています)。また/etc/pam.d/login
、 では、この機能の動作を制御できます。
securetty
は によってのみチェックされるためlogin
、 を使用しないログイン手段login
( を使用した SSH use_login=no
、X ディスプレイ マネージャーなど) は影響を受けません。