「Pam usb」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(ページの作成:「Category:セキュリティ en:Pam usb pam_usb は通常の USB フラッシュドライブを利用した Linux のハードウェア認証を提供します。...」)
 
(カテゴリ変更)
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
  +
{{DISPLAYTITLE:pam_usb}}
[[Category:セキュリティ]]
 
  +
[[Category:認証]]
 
[[en:Pam usb]]
 
[[en:Pam usb]]
  +
{{Related articles start}}
pam_usb は通常の USB フラッシュドライブを利用した Linux のハードウェア認証を提供します。
 
  +
{{Related|セキュリティ}}
  +
{{Related|pam_mount}}
  +
{{Related|pam_abl}}
  +
{{Related|pam_oath}}
  +
{{Related articles end}}
  +
[https://github.com/aluzzardi/pam_usb pam_usb] は通常の USB フラッシュドライブを利用した Linux のハードウェア認証を提供します。
   
[[su]] やログマネージャ ([[GDM]], [[KDM]]) など、PAM をサポートしている全てのアプリケーションで動作します。
+
[[su]] や[[ディスプレイマネージャ]]など、[[PAM]] をサポートしている全てのアプリケーションで動作します。
   
 
== インストール ==
 
== インストール ==
18行目: 25行目:
 
USB デバイスをコンピュータに接続して、pamusb-conf を使ってデバイスを設定ファイルに追加してください:
 
USB デバイスをコンピュータに接続して、pamusb-conf を使ってデバイスを設定ファイルに追加してください:
   
# pamusb-conf --add-device MyDevice
+
{{hc|# pamusb-conf --add-device MyDevice|
Please select the device you wish to add.
+
Please select the device you wish to add.
* Using "SanDisk Corp. Cruzer Titanium (SNDKXXXXXXXXXXXXXXXX)" (only option)
+
* Using "SanDisk Corp. Cruzer Titanium (SNDKXXXXXXXXXXXXXXXX)" (only option)
Which volume would you like to use for storing data ?
+
Which volume would you like to use for storing data ?
* Using "/dev/sda1 (UUID: <6F6B-42FC>)" (only option)
+
* Using "/dev/sda1 (UUID: <6F6B-42FC>)" (only option)
Name : MyDevice
+
Name : MyDevice
Vendor : SanDisk Corp.
+
Vendor : SanDisk Corp.
Model : Cruzer Titanium
+
Model : Cruzer Titanium
Serial : SNDKXXXXXXXXXXXXXXXX
+
Serial : SNDKXXXXXXXXXXXXXXXX
Volume UUID : 6F6B-42FC (/dev/sda1)
+
Volume UUID : 6F6B-42FC (/dev/sda1)
Save to /etc/pamusb.conf ?
+
Save to /etc/pamusb.conf ?
[Y/n] y
+
[Y/n] y
Done.
+
Done.}}
   
 
{{ic|MyDevice}} は自由に名前を付けることができます。また、デバイスは好きな数だけ追加できます。
 
{{ic|MyDevice}} は自由に名前を付けることができます。また、デバイスは好きな数だけ追加できます。
   
 
次に、pam_usb で認証したいユーザーを設定してください:
 
次に、pam_usb で認証したいユーザーを設定してください:
# pamusb-conf --add-user root
+
{{hc|# pamusb-conf --add-user root|
Which device would you like to use for authentication ?
+
Which device would you like to use for authentication ?
* Using "MyDevice" (only option)
+
* Using "MyDevice" (only option)
User : root
+
User : root
Device : MyDevice
+
Device : MyDevice
Save to /etc/pamusb.conf ?
+
Save to /etc/pamusb.conf ?
[Y/n] y
+
[Y/n] y
Done.
+
Done.}}
   
 
=== 設定の確認 ===
 
=== 設定の確認 ===
 
{{ic|pamusb-check}} を実行することで設定が問題ないか確認することができます。このツールは認証リクエストをシミュレートします (デバイスの接続が必要です):
 
{{ic|pamusb-check}} を実行することで設定が問題ないか確認することができます。このツールは認証リクエストをシミュレートします (デバイスの接続が必要です):
# pamusb-check root
+
{{hc|# pamusb-check root|
* Authentication request for user "root" (pamusb-check)
+
* Authentication request for user "root" (pamusb-check)
* Device "MyDevice" is connected (good).
+
* Device "MyDevice" is connected (good).
* Performing one time pad verification...
+
* Performing one time pad verification...
* Verification match, updating one time pads...
+
* Verification match, updating one time pads...
* Access granted.
+
* Access granted.}}
   
 
=== PAM モジュールの設定 ===
 
=== PAM モジュールの設定 ===
69行目: 76行目:
   
 
上記を設定したら、USB デバイスを接続して認証ができるはずです:
 
上記を設定したら、USB デバイスを接続して認証ができるはずです:
$ su
+
{{hc|$ su|
* pam_usb v.SVN
+
* pam_usb v.SVN
* Authentication request for user "root" (su)
+
* Authentication request for user "root" (su)
* Device "MyDevice" is connected (good).
+
* Device "MyDevice" is connected (good).
* Performing one time pad verification...
+
* Performing one time pad verification...
* Verification match, updating one time pads...
+
* Verification match, updating one time pads...
* Access granted.
+
* Access granted.}}
  +
  +
==トラブルシューティング==
  +
  +
===su で pam_usb を使えない===
  +
以下のように設定して {{ic|su}} がパスワードを要求して、pam_usb を使わない場合:
  +
{{hc|/etc/pam.d/system-auth|
  +
auth sufficient pam_usb.so}}
  +
  +
{{ic|/etc/pam.d/su}} の冒頭にも同じ行を追加してください。他の pam を使用するアプリケーションでも追加が必要になる場合があります。
   
 
== 参照 ==
 
== 参照 ==
 
* [https://github.com/aluzzardi/pam_usb Github リポジトリ]
 
* [https://github.com/aluzzardi/pam_usb Github リポジトリ]
* [https://github.com/neovim/neovim/wiki Github wiki]
+
* [https://github.com/aluzzardi/pam_usb/wiki Github wiki]

2019年3月1日 (金) 00:56時点における最新版

関連記事

pam_usb は通常の USB フラッシュドライブを利用した Linux のハードウェア認証を提供します。

suディスプレイマネージャなど、PAM をサポートしている全てのアプリケーションで動作します。

インストール

pam_usbAUR パッケージをインストールしてください。

設定

pam_usb をインストールしたら以下のように設定する必要があります:

  1. デバイスとユーザーを設定
  2. システム認証の 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.

トラブルシューティング

su で pam_usb を使えない

以下のように設定して su がパスワードを要求して、pam_usb を使わない場合:

/etc/pam.d/system-auth
auth          sufficient   pam_usb.so

/etc/pam.d/su の冒頭にも同じ行を追加してください。他の pam を使用するアプリケーションでも追加が必要になる場合があります。

参照