이 도구를 사용하여 pam-auth-update
일부 pam 프로필을 활성화합니다.
PAM configuration
PAM profiles to enable:
[*] encfs encrypted home directories
[*] Unix authentication
[*] Mount volumes for user
[*] GNOME Keyring Daemon - Login keyring management
[*] ConsoleKit Session Management
모든 것이 예상대로 작동하지만 한 가지 - 옵션이 명령에 Mount volumes for user
영향을 미치는 것 같습니다 .su
/etc/security/pam_mount.conf.xml
파일 에 다음 줄을 추가했습니다 .
<volume user="morfik" fstype="fuse" path="encfs#/media/Server/Dropbox.encfs/Dropbox/encrypted" mountpoint="/media/Server/Dropbox" />
루트로 터미널에 입력하면 su morfik
비밀번호 프롬프트가 표시되어서는 안 되지만 대신 다음과 같은 내용이 표시됩니다.
# su morfik
reenter password for pam_mount:
위 메뉴에서 옵션을 선택 취소하면 Mount volumes for user
모든 것이 보관되어 reenter password
사라진 것 같습니다. 파일을 사용해 보았지만 /etc/pam.d/
PAM에 대한 경험이 없어서 제대로 작동하지 못했습니다.
이 파일에서 무엇을 변경해야 하는지 아는 사람이 있나요?
업데이트 #1
디렉토리의 내용은 다음과 같습니다 /etc/pam.d
.
# ls -al /etc/pam.d/
total 104K
drwxr-xr-x 2 root root 4.0K Mar 21 16:21 ./
drwxr-xr-x 153 root root 12K Mar 21 16:11 ../
-rw-r--r-- 1 root root 197 Sep 8 2013 atd
-rw-r--r-- 1 root root 384 May 25 2012 chfn
-rw-r--r-- 1 root root 92 May 25 2012 chpasswd
-rw-r--r-- 1 root root 581 May 25 2012 chsh
-rw-r--r-- 1 root root 1.2K Mar 20 17:35 common-account
-rw-r--r-- 1 root root 1.3K Mar 20 17:35 common-auth
-rw-r--r-- 1 root root 1.5K Mar 20 17:35 common-password
-rw-r--r-- 1 root root 1.3K Mar 20 17:35 common-session
-rw-r--r-- 1 root root 1.2K Mar 20 17:35 common-session-noninteractive
-rw-r--r-- 1 root root 527 Jul 3 2012 cron
-rw-r--r-- 1 root root 69 Jul 16 2013 cups-daemon
-rw-r--r-- 1 root root 4.8K Mar 5 10:18 login
-rw-r--r-- 1 root root 92 May 25 2012 newusers
-rw-r--r-- 1 root root 520 Jul 22 2008 other
-rw-r--r-- 1 root root 147 Feb 13 07:15 passwd
-rw-r--r-- 1 root root 255 Oct 15 18:40 polkit-1
-rw-r--r-- 1 root root 84 Dec 27 12:40 samba
-rw-r--r-- 1 root root 2.1K Feb 15 03:11 sshd
-rw-r--r-- 1 root root 2.3K May 25 2012 su
-rw-r--r-- 1 root root 95 Jan 15 22:58 sudo
-rw-r--r-- 1 root root 108 Oct 19 23:42 xscreensaver
/etc/pam.d/system-auth
파일 없음
pam_mount
파일 내용을 확인해 보니 다음과 같습니다.
# egrep -i pam_mount *
common-auth:auth optional pam_mount.so
common-session:session optional pam_mount.so
문서 내용:
#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules. See
# pam-auth-update(8) for details.
# here are the per-package modules (the "Primary" block)
auth sufficient pam_encfs.so
auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth optional pam_mount.so
# end of pam-auth-update config
그리고:
#
# /etc/pam.d/common-session - session-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define tasks to be performed
# at the start and end of sessions of *any* kind (both interactive and
# non-interactive).
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules. See
# pam-auth-update(8) for details.
# here are the per-package modules (the "Primary" block)
session [default=1] pam_permit.so
# here's the fallback if no module succeeds
session requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
session required pam_permit.so
# and here are more per-package modules (the "Additional" block)
session required pam_unix.so
session optional pam_mount.so
session optional pam_ck_connector.so nox11
# end of pam-auth-update config
업데이트 #2
테스트용으로 데비안을 사용하고 있습니다. 위치를 바꿔보았지만 pam_mount
항상 똑같네요. 설명서의 일부를 읽었는데 다음과 같은 내용이 있습니다.
When "sufficient" is used in the second column, you must make sure that pam_mount is added before this entry. Otherwise pam_mount will not get executed should a previous PAM module succeed. Also be aware of the "include" statements. These make PAM look into the specified file. If there is a "sufficient" statement, then the pam_mount entry must either be in the included file before the "sufficient" statement or before the "include" statement.
이것이 어떤 변화를 가져오는지 확인하기 위해 파일에 뭔가를 추가하기도 했지만 그것은 중요하지 않습니다 pam_mount
. 처음에 그들이 말하는 것처럼 시스템에 로그인할 때 비밀번호 프롬프트 대신 시스템이 계속해서 비밀번호를 묻는 /etc/pam.d/su
경우pam_mount
pam_mount password
su morfik
답변1
같은 문제가 발생했습니다.
구성 파일( )에서 옆에 옵션을 추가하면 disable_interactive
문제가 해결된 것으로 나타났습니다.pam_mount.so
/etc/pam.d/common-{auth,session}
그 뒤에는 pam_mount.so
옵션이 공백으로 구분되어 있습니다( so
파일 이름부터 두 옵션 사이까지).
로그인 시 코드가 실행 되면 pam_mount.so
스택 상단에서 비밀번호를 수신하고 해당 비밀번호를 사용하여 볼륨을 해독합니다.
루트 세션에서 작업하는 경우 su
비밀번호가 필요하지 않으므로 pam_mount.so
비밀번호를 얻을 수 없습니다. 따라서 해당 옵션이 없으면 disable_interactive
비밀번호를 얻으려고 시도합니다.
다행히도 보시다시피https://sourceforge.net/p/pam-mount/pam-mount/ci/master/tree/src/pam_mount.c493행은 pam_mount
비밀번호 없이도 계속하려고 시도합니다. 이는 볼륨이 잠금 해제되고 마운트된 경우 비밀번호가 필요하지 않기 때문에 좋습니다.
답변2
추측을 완료하되 /etc/pam.d/*
파일을 확인하고 다음과 관련된 PAM 구성이 있는지 확인하세요 pam_mount
.
auth optional pam_mount.so
...
auth include system-auth use_first_pass
...
session optional pam_mount.so
이것은 pam_mount.conf
매뉴얼 페이지에서 지원되는 것 같습니다.
발췌
Messages
<msg-authpw>pam_mount password:</msg-authpw>
When pam_mount cannot obtain a password through PAM, or is
configured to not do so in the first place, and is configured to ask
for a password interactively as a replacement, this prompt will be
shown.
<msg-sessionpw>reenter...:</msg-sessionpw>
In case the 'session' PAM block does not have the password (e.g.
on su from root to user), it will ask again. This prompt can also be
customized.
노트:구성 파일의 순서는 /etc/pam.d/*
다음 ArchLinux Wiki 항목에서도 참조됩니다.팜힐.