Zainstalowałem sambę na swoim serwerze i próbuję napisać skrypt, aby oszczędzić mi dwóch kroków dodawania użytkownika, np .:
adduser username
smbpasswd -a username
Moje smb.conf
stany:
# This boolean parameter controls whether Samba attempts to sync the Unix
# password with the SMB password when the encrypted SMB password in the
# passdb is changed.
unix password sync = yes
Dalsze czytanie doprowadziło mnie do pdbedit
strony man, która stwierdza:
-a This option is used to add a user into the database. This com-
mand needs a user name specified with the -u switch. When adding
a new user, pdbedit will also ask for the password to be used.
Example: pdbedit -a -u sorce
new password:
retype new password
Note
pdbedit does not call the unix password syncronisation script if
unix password sync has been set. It only updates the data in the
Samba user database.
If you wish to add a user and synchronise the password that im-
mediately, use smbpasswd’s -a option.
Więc ... teraz postanowiłem spróbować dodać użytkownika z smbpasswd
:
Pierwsza próba, użytkownik unix nadal nie istnieje:
root@raspberrypi:/home/pi# smbpasswd -a newuser
New SMB password:
Retype new SMB password:
Failed to add entry for user newuser.
Druga próba, użytkownik unix istnieje:
root@raspberrypi:/home/pi# useradd mag
root@raspberrypi:/home/pi# smbpasswd -a mag
New SMB password:
Retype new SMB password:
Added user mag.
# switch to user pi, and try to switch to mag
root@raspberrypi:/home/pi# su pi
pi@raspberrypi ~ $ su mag
Password:
su: Authentication failure
Więc teraz zadaję sobie pytanie:
- jak mogę synchronizować hasła samby z hasłami uniksowymi?
- gdzie są przechowywane hasła samby?
Czy ktoś może mi pomóc oświecić?
debian
samba
password-management
Oz123
źródło
źródło
/var/lib/samba/
, myślę, że hasła są,secrets.tdb
ale nie jestem pewien. Co do twojego poprzedniego pytania, wątpię, aby istniał prosty sposób.Odpowiedzi:
Cóż ... brakującym linkiem było:
Po zainstalowaniu tych pakietów działa zgodnie z oczekiwaniami. Pamięć długoterminowa Internetu czasami po prostu dostarcza częściowych informacji. Aby więc temu przeciwdziałać, publikuję tutaj poprawny link do synchronizacji haseł samby z hasłami unixowymi , a także własny test.
Mam nadzieję, że to pomaga komuś innemu.
aktualizacja 2017:
libpam-smbpass
jest przestarzałe . Wygląda na to, co go zastąpiłopam_winbindd
. Aby zainstalować, możesz zainstalować pakietlibpam-winbind
. To jednak nadal nie synchronizuje haseł samby z hasłami uniksowymi. Zamiast tego umożliwia uwierzytelnianie w systemie UNIX za pomocą serwera uwierzytelniania systemu Windows (AD). Informacje na ten temat można znaleźć tutaj: https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controllerźródło
libpam-smbpass
w systemie Debian 9.1 i to też nie działa dla mnie. Jak to możliwe, że tak proste pytanie zadawano tyle razy i wciąż nie ma odpowiedzi?libpam-winbind
NIE może być znaleziony w CentOS7.Chciał skomentować poprzednią odpowiedź, ale nie mógł tego zrobić z powodu braku punktów reputacji. Próbowałem umieścić całą treść tej odpowiedzi, ale nie mogłem, ponieważ napisano, że wygląda jak spam. Oto dostęp do pełnej zawartości na maszynie powrotnej, a poniżej jest krótka wersja głównych punktów:
Synchronizacja haseł w systemach Unix i Samba na Debian Etch
Zainstaluj następujące pakiety:
Unix -> Samba
Aby zaktualizować hasło Samby za każdym razem, gdy użytkownik zmieni swoje hasło uniksowe, zmień
/etc/pam.d/common-password: z
do
Zmiana „wymagane” na „wymagane” dla pam_unix sprawi, że jeśli zmiana hasła uniksowego się nie powiedzie, wykonanie wtyczek kończy się natychmiast.
Aby to zadziałało, użytkownicy muszą już mieć konta Samba, a ich hasła Samby muszą pasować do haseł Uniksa. Ponieważ niekoniecznie tak jest, musimy się zmienić
/etc/pam.d/common-auth: from
do
Spowoduje to utworzenie użytkownika Samby, jeśli jeszcze nie istnieje, i zmianę hasła na hasło uniksowe za każdym razem, gdy użytkownik zaloguje się przy użyciu SSH lub innej usługi korzystającej z domyślnego uwierzytelnienia systemowego (common-auth).
Powinieneś zobaczyć komunikat Dodano użytkownika podczas logowania przy użyciu SSH z kontem, które nie ma jeszcze konta Samba.
Ponieważ spowoduje to również utworzenie konta Samba dla roota, możesz chcieć wyłączyć dostęp do roota w Sambie (Debian Etch ma to domyślnie wyłączone):
/etc/samba/smb.conf:
Zastrzeżenie : To nie zadziała, jeśli użytkownik zaloguje się za pośrednictwem SSH lub innych usług bez użycia hasła (na przykład przy użyciu uwierzytelniania za pomocą klucza publicznego / prywatnego). W takim przypadku PAM nie będzie mieć hasła w postaci zwykłego tekstu, które jest potrzebne do utworzenia hasła Samby.
Uwaga : Po zmodyfikowaniu wspólnego hasła, aby wymagało również aktualizacji haseł Samby, wszyscy zalogowani użytkownicy nie będą mogli zmienić swojego hasła przy użyciu „passwd”, dopóki się nie zalogują, chyba że mają już istniejące konto Samba z hasłem równym na swoje hasło uniksowe.
Samba -> Unix
Polecamy Sambie używać PAM podczas zmiany haseł:
/etc/samba/smb.conf:
Zrestartuj Sambę, używając /etc/init.d/samba restart.
Skonfiguruj PAM do obsługi zmiany hasła przez Sambę, dodając @include wspólne hasło:
/etc/pam.d/samba:
Użyje tego samego mechanizmu do zmiany haseł podczas korzystania z Samby, jak przy korzystaniu z „passwd”. Oznacza to, że będzie wymagać aktualizacji hasła uniksowego przed próbą zmiany hasła Samby.
Tworzenie nowych użytkowników
użyj chpasswd, aby uniknąć błędu:
źródło
pam_smbpass.so
. Możesz mi pomóc? link: stackoverflow.com/questions/52932070/…