CIFS 마운트가 더 이상 작동하지 않습니다.

CIFS 마운트가 더 이상 작동하지 않습니다.

동일한 구성을 가진 여러 RHEL6 시스템이 있습니다. 저는 수년 동안 CIFS 설치를 사용해 왔습니다. 그러나 지난 한 달 동안 내 시스템 중 하나에서 작동이 중단되었으며 그 이유를 알 수 없는 것 같습니다.

(아래 구성 참조)

내 키탭에 유효한 호스트 주체가 있습니다. CIFS mount( )를 마운트하려고 하면 /net/programs다음 오류가 발생합니다.

mount error(126): Required key not available
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

오류는 cifs.upcall과 관련된 것으로 보이며 디버그 로그를 비교할 때 로그에서 다음과 같은 차이점을 발견했습니다.

krb5_get_init_creds_keytab: -1765328203
handle_krb5_mech: getting service ticket for server0.domain0.local
cifs_krb5_get_req: unable to resolve (null) to ccache
handle_krb5_mech: failed to obtain service ticket (-1765328245)

error( -1765328203)는 에 매핑되는 것 같습니다 KRB5_KT_NOTFOUND "Key table entry not found".

그러나 권한은 krb5.keytab정확하고 다른 시스템과 일치합니다. klist -k올바른 키(다른 시스템과 일치)를 표시하고 kinit -k성공합니다.

또 다른 이상한 행동. 임시 해결 방법으로 내 사용자 이름을 사용하여 공유를 마운트할 수 있지만 NTLMSSPI마운트는 내 세션에서만 볼 수 있습니다. 새 세션으로 로그인하면 마운트가 나타나지 않습니다. /proc/mounts원래 세션에 있었음에도 불구하고 보지도 못했습니다.

내 시스템은 모두 커널 버전입니다.2.6.32-696-23.1그리고 삼바 버전이 있습니다3.6.23-46.

구성:

SMB.CONF:
[global]
   workgroup = DOMAIN0
   password server = server0.DOMAIN0.LOCAL
   realm = DOMAIN0.LOCAL
   security = ads
   idmap config * : backend
   idmap config * : range = 300000-399999
   idmap config DOMAIN0:backend = rid
   idmap config DOMAIN0:range = 100000-199999
   idmap config DOMAIN0:base_rid = 0
   template shell = /bin/bash
   winbind enum users = no
   winbind enum groups = no
   winbind separator = +
   winbind use default domain = yes
   winbind offline logon = false
   kerberos method = secrets and keytab
   client signing = mandatory
   server signing = mandatory


NSSWITCH.CONF:
passwd:     files winbind
shadow:     files winbind
group:      files winbind
hosts:      files dns

SYSTEM-AUTH:
auth        required      pam_env.so
auth        sufficient    pam_fprintd.so
auth        sufficient    pam_unix.so try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_winbind.so use_first_pass
auth        [default=die] pam_faillock.so authfail deny=3 unlock_time=604800 fail_interval=900
auth        required      pam_faillock.so authsucc deny=3 unlock_time=604800 fail_interval=900
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_winbind.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3 minlen=14 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 difok=4 remember=24 maxrepeat=3
password    sufficient    pam_unix.so sha512 shadow try_first_pass use_authtok
password    sufficient    pam_winbind.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     required      pam_lastlog.so showfailed
session     optional      pam_oddjob_mkhomedir.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so

REQUEST-KEY.CONF
#OP     TYPE    DESCRIPTION     CALLOUT INFO    PROGRAM ARG1 ARG2 ARG3 ...
#====== ======= =============== =============== ===============================
create  user    debug:*         negate          /bin/keyctl negate %k 30 %S
create  user    debug:loop:*    *               |/bin/cat
create  user    debug:*         *               /usr/share/keyutils/request-key-debug.sh %k %d %c %S
negate  *       *               *               /bin/keyctl negate %k 30 %S
create  cifs.spnego  *          *               /usr/sbin/cifs.upcall %k
create  cifs.idmap      *       *               /usr/sbin/cifs.idmap %k
create  dns_resolver  *         *               /usr/sbin/cifs.upcall %k

KRB5.CONF
[libdefaults]
 default_realm = DOMAIN0.LOCAL
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true

[realms]
 DOMAIN0.LOCAL = {
  kdc = server0.DOMAIN0.LOCAL
 }



FSTAB:
//server0.domain0.local/Programs       /net/programs   cifs    noauto,sec=krb5i,multiuser,cifsacl 0 0

RC.LOCAL
/sbin/ntpdate -u server0
/usr/bin/kinit -k
/bin/mount /net/programs

NTP.CONF
server server0.domain0.local iburst

관련 정보