我按照这里的指示http://linuxconfig.org/linux-authentication-login-with-usb-device
当我到达第 4 步时,我发现更改的授权没有任何作用,所以我恢复了,保存了它,所以我回到第 3 步的末尾,查找了其他教程,找到了一个视频……该视频成功尝试,没有对文件进行任何更改。因此,我尝试登录而不对授权进行任何更改,没有成功。
当我看到他们执行 su “用户名” 时,他们会从终端获得这 5 行、6 行关于其登录状态的说明。我得到一行,上面写着“没有用户‘Thornton’的密码输入”
我不知道此时我做错了什么。正如标题所述,我正在使用最新版本的 ubuntu,并且不想半途而废。
它仍然要求我输入书面密码,并且我的书面密码仍然有效。
图片中的所有内容都与我到目前为止的结果相符,因此它们对于了解问题所在并不是很好的参考。
答案1
我在 14.04 上使用它,它工作正常。我注意到一些事情:
每个用户名只能有一个 USB 设备。否则会出现错误"no device found for user 'username'"
/etc/pam.d/common-auth
我根本没有改变文件"ie auth sufficient"
。
$ pam-auth-update
除非您要添加事件来检测 USB 设备何时插入或断开连接,否则请使用。请注意,$ pam-auth-update
手动更改文件后,该命令将不起作用/etc/pam.d/common-auth
。您需要手动管理它。pam-auth-update
如果将来运行,将强制恢复为默认文件。
插入所需的 USB 设备后,使用以下命令。更改为"MyDevice"
您想要的任何一个单词。例如MyDevice
,,,等。Lexar32gb
Sandisk
$ sudo pamusb-conf --add-device MyDevice
Please select the device you wish to add.
* Using "Verbatim STORE N GO (Verbatim_STORE_N_GO_07A10D0894492625-0:0)" (only option)
Which volume would you like to use for storing data ?
0) /dev/sdb2 (UUID: A842-0654)
1) /dev/sdb1 (UUID: CAAF-0882)
[0-1]: 0
Name : MyDevice
Vendor : Verbatim
Model : STORE N GO
Serial : Verbatim_STORE_N_GO_07A10D0894492625-0:0
UUID : A842-0654
Save to /etc/pamusb.conf ?
[Y/n] Y
Done.
使用此命令添加您想要链接到设备的用户帐户。
$ sudo pamusb-conf --add-user username
Which device would you like to use for authentication ?
* Using "MyDevice" (only option)
User : username
Device : MyDevice
Save to /etc/pamusb.conf ?
[Y/n] y
Done.
在此之后,通过以下方式测试功能:这是一次成功的测试。
$ su username
* pam_usb v0.5.0
* Authentication request for user "username" (su)
* Device "-MyDevice" is connected (good).
* Performing one time pad verification...
* Access granted.
这是失败。
* pam_usb v0.5.0
* Authentication request for user "username" (su)
* Device "-MyDevice" is not connected.
* Access denied.
Password:
如果你得到:
* pam_usb v0.5.0
* Authentication request for user "uername" (su)
* Device "-MyDevice" is connected (good).
* Performing one time pad verification...
* pad verification failed (i think this is the error line)
* Access denied.
Password:
执行
$ rm ~/.pamusb/*
这将删除 pad 文件,然后运行
$ su username
将强制使用正确的组和文件权限重新创建 pad 文件。
如果这有帮助的话请告诉我。