Zmiana has
Zmiana hasła użytkownika z poziomu Windows będącego w domenie SAMBA z LDAP
Mam pewną zagwozdkę. W firmie mamy domenę opartą na Linuksie Ubuntu 11.10 - SAMBA z LDAP. Chcę "wymusić" na użytkownikach zmianę haseł na trudniejsze - zdarzają się ludzie, którzy mają hasło identyczne jak login.
Do tej pory udało mi się ustawić historię haseł oraz minimalną długość hasła, dzięki pdbedit.
Teraz próbuję dociec w jaki sposób sprawić aby przy zmianie hasła użytkownik nie mógł ustawić hasła na takie jaki ma login. Jak i gdzie mogę to ustawić?
Jakie pliki trzeba edytować aby to ustawić?
Np. jeśli z poziomu Windowsa wciskam kombinację klawiszy Ctrl+Alt+Del i wybieram opcję zmień hasło, to gdzie sprawdzane są warunki (ustawione na serwerze linuksowym) jakie musi mieć nowe hasło?
Do tej pory udało mi się ustawić historię haseł oraz minimalną długość hasła, dzięki pdbedit.
Teraz próbuję dociec w jaki sposób sprawić aby przy zmianie hasła użytkownik nie mógł ustawić hasła na takie jaki ma login. Jak i gdzie mogę to ustawić?
Jakie pliki trzeba edytować aby to ustawić?
Np. jeśli z poziomu Windowsa wciskam kombinację klawiszy Ctrl+Alt+Del i wybieram opcję zmień hasło, to gdzie sprawdzane są warunki (ustawione na serwerze linuksowym) jakie musi mieć nowe hasło?
,,Debian reference'' najlepszym przyjacielem każdego użytkownika Debiana (Linuksa).
threads/5676-Przeczytaj-zanim-cokolwiek-napiszesz!
threads/5676-Przeczytaj-zanim-cokolwiek-napiszesz!
Albo źle szukałem, albo nie ma odpowiedzi na moje pytanie. Podam może więcej szczegółów:
Mój plik smb.conf
Z tego co wyczytałem, to mógłbym skorzystać z pam_cracklib.so i opcji reject_username, ale to chyba działa dla hasła, a nie dla smbldap-passwd. Starałem się wyszukać też opcji w plikach .ADM dla Windows NT, aby odpowiednie zabezpieczenia importować do samby, ale też poniosłem klęskę.
Dodałem jedną opcję do pliku /usr/sbin/smbldap-passwd, mianowicie:
Ale to działa tylko w przypadku gdy zmieniam hasło użytkownika z poziomu ssh, a mnie interesuje ten wyjątek aby działał przy zmianie hasła przez Ctrl + Alt + Del z poziomu Windowsa.
Czy istnieje jakiś sposób jak to ustawić? Synchronizacja haseł Windows -> Samba -> Windows działa poprawnie. Bardzo proszę o pomoc.
Podam jeszcze wersję samby i ldap:
Samba: 3.6.3
LDAP: 2.4.28
Mój plik smb.conf
Kod: Zaznacz cały
[global] workgroup = TEST
netbios name = ubuntusrv
server string = Zasoby domeny
preferred master = Yes
domain master = Yes
domain logons = Yes
map to guest = Bad User
map to guest = Bad Password
security = user
enable privileges = yes
encrypt passwords = true
null passwords = no
passdb backend = ldapsam:ldap://127.0.0.1
ldap admin dn = cn=admin,dc=ubuntusrv,dc=com
obey pam restrictions = yes
pam password change = yes
#pam password change = Yes
ldap delete dn = Yes
ldap user suffix = ou=Users
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Users
ldap machine suffix = ou=Computers
ldap suffix = dc=ubuntusrv,dc=com
ldap ssl = off
idmap backend = ldap:ldap://127.0.0.1
idmap uid = 10000 - 20000
idmap gid = 10000 - 20000
#vfs objects = acl_xattr
nt acl support = Yes
#profile acls = Yes
add user script = /usr/sbin/smbldap-useradd -m "%u"
delete user script = /usr/sbin/smbldap-userdel "%u"
add machine script = /usr/sbin/smbldap-useradd -w "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u'
ldap passwd sync = yes
unix password sync = no
passwd program = /usr/sbin/smbldap-passwd %u
passwd chat = "Changing password for*\nNew password*" %n\n "*Retype new password*" %n\n"
username map = /etc/samba/smbusers
time server = yes
log level = 2
syslog = 0
log file = /var/log/samba/log.%m
max log size = 100000
hide unreadable = yes
hide dot files = yes
guest account = nobody
#name resolve order = wins lmhosts hosts bcast
max open files = 500
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192
logon script =
logon path =
os level = 34
#wins support = yes
wins server = 172.17.24.1
create mask = 0700
guest ok = Yes
hosts allow = 127.0.0.1;172.17.24.0/255.255.255.0;192.168.0.0/255.255.0.0
#write cache size = 65536
#kernel oplocks = no
#oplocks = no
#level2 oplocks = no
veto oplock files = /*.pdf/*.PST/
Dodałem jedną opcję do pliku /usr/sbin/smbldap-passwd, mianowicie:
Kod: Zaznacz cały
if ($pass eq $user) { print "New password is equal or the same as login!\n";
exit (10);
}
Czy istnieje jakiś sposób jak to ustawić? Synchronizacja haseł Windows -> Samba -> Windows działa poprawnie. Bardzo proszę o pomoc.
Podam jeszcze wersję samby i ldap:
Samba: 3.6.3
LDAP: 2.4.28