pam_usb
ナビゲーションに移動
検索に移動
pam_usb は通常の USB フラッシュドライブを利用した Linux のハードウェア認証を提供します。
su やログインマネージャ (GDM, KDM) など、PAM をサポートしている全てのアプリケーションで動作します。
インストール
pam_usbAUR パッケージをインストールしてください。
設定
pam_usb をインストールしたら以下のように設定する必要があります:
- デバイスとユーザーを設定
- システム認証の PAM を設定
デバイスとユーザーを設定
USB デバイスをコンピュータに接続して、pamusb-conf を使ってデバイスを設定ファイルに追加してください:
# pamusb-conf --add-device MyDevice
Please select the device you wish to add. * Using "SanDisk Corp. Cruzer Titanium (SNDKXXXXXXXXXXXXXXXX)" (only option) Which volume would you like to use for storing data ? * Using "/dev/sda1 (UUID: <6F6B-42FC>)" (only option) Name : MyDevice Vendor : SanDisk Corp. Model : Cruzer Titanium Serial : SNDKXXXXXXXXXXXXXXXX Volume UUID : 6F6B-42FC (/dev/sda1) Save to /etc/pamusb.conf ? [Y/n] y Done.
MyDevice
は自由に名前を付けることができます。また、デバイスは好きな数だけ追加できます。
次に、pam_usb で認証したいユーザーを設定してください:
# pamusb-conf --add-user root
Which device would you like to use for authentication ? * Using "MyDevice" (only option) User : root Device : MyDevice Save to /etc/pamusb.conf ? [Y/n] y Done.
設定の確認
pamusb-check
を実行することで設定が問題ないか確認することができます。このツールは認証リクエストをシミュレートします (デバイスの接続が必要です):
# pamusb-check root
* Authentication request for user "root" (pamusb-check) * Device "MyDevice" is connected (good). * Performing one time pad verification... * Verification match, updating one time pads... * Access granted.
PAM モジュールの設定
pam_usb をシステムの認証プロセスに追加するために、/etc/pam.d/system-auth
を編集する必要があります。
デフォルトの PAM 設定ファイルには以下の行が含まれています:
auth required pam_unix.so nullok_secure
以下のように変更してください:
auth sufficient pam_usb.so auth required pam_unix.so nullok_secure
sufficient
キーワードを指定することで、pam_usb が認証を許可した場合、パスワードは要求されません。認証が失敗した場合、フォールバックとしてデフォルトのパスワードによる認証が使われます。
required
キーワードに変更すると、システムにアクセスするには USB フラッシュドライブとパスワードの両方とも認証しなくてはならなくなります。
上記を設定したら、USB デバイスを接続して認証ができるはずです:
$ su
* pam_usb v.SVN * Authentication request for user "root" (su) * Device "MyDevice" is connected (good). * Performing one time pad verification... * Verification match, updating one time pads... * Access granted.