Metoda zmiany hasła do Samby przez użytkowników

10

Mam serwer Samba dla około 5 użytkowników (bezpieczeństwo = użytkownik) i chcę, aby użytkownicy ci mogli zmienić swoje hasła bez mojego udziału, więc mam następujący pomysł. Czy to jest bezpieczne? Czy istnieje lepsze (jak w prostszym) podejściu? Kiedyś mieliśmy do tego SWAT, ale już nie.


Na serwerze: utwórz ograniczonego użytkownika (/ bin / rbash + PATH do pojedynczego katalogu)

$ sudo adduser --shell /bin/rbash pwchange

$ cat /etc/passwd
  pwchange:x:1001:1001:pwchange,,,:/home/pwchange:/bin/rbash

$ sudo vi /home/pwchange/.bashrc
  Add:
  export PATH=/usr/local/pwchange

$ sudo ln -s /usr/bin/smbpasswd /usr/local/pwchange/smbpasswd

Pomysł polega na tym, że użytkownik pwchange może uruchomić tylko komendę sambpasswd. Konta unixowe dla użytkowników Samby nie mają haseł (tzn. Logowanie za pomocą tych kont jest niedozwolone). Użytkownicy samby będą mogli używać tego ograniczonego konta tylko do samoobsługowych zmian haseł Samby ... bez eksploracji serwera!


Klient: Zmień hasło Samby za pomocą terminala lub Putty (Windows)

user1@A3700:~$ ssh [email protected]

pwchange@V220:~$ smbpasswd -U user1
Old SMB password:
New SMB password:
Retype new SMB password:
Password changed for user user1
brucehohl
źródło
Ale myślałem, smbpasswdże zarówno użytkownicy, jak i administratorzy powinni zmieniać hasła ... Czy tego właśnie chcesz?
George Udosen
W takim przypadku konta uniksowe użytkowników nie mają haseł, dlatego użytkownik 1 nie może zalogować się jako uż[email protected]. Serwer Samby został skonfigurowany jako „security = użytkownik”, a ograniczenia plików zostały ustawione w pliku smb.conf. Użytkownikom nie zezwolono na logowanie do systemu Unix, ponieważ podstawowe uprawnienia do plików w systemie Unix były bardziej liberalne niż kombinacja uprawnień do plików Samba i Unix (nie użyto rozszerzonych list ACL dla systemu Unix).
brucehohl
Na mojej uczelni mieliśmy portal samoobsługowy, w którym użytkownicy mogą autoryzować się za pomocą weryfikacji identyfikatora i smsa, aw tle wydaliśmy polecenie smbpasswd
Rabin

Odpowiedzi:

1

Danie im dostępu do tego samego konta fikcyjnego nie brzmi mądrze. Nawet jeśli go zablokujesz, aby mieć dostęp do niczego, ALE smbpasswdoni nadal mogą zmieniać hasła innych. I zawsze istnieje możliwość złośliwego ataku na eskalację uprawnień.

Zasadniczo wydaje się, że chcesz, aby mogli uruchamiać TYLKO smbpasswdpolecenie z własnego konta użytkownika, wciąż mając odpowiednik nologinkonta.

Można tego dokonać za pomocą opcji „ForceCommand” w sshd_config.

Spróbuj tego:

  1. Przyznaj każdemu użytkownikowi członkostwo na koncie Samba tej samej grupie. W naszym przykładzie powiedzmy „sambaOnly”:

    #From Root
    groupadd sambaOnly
    usermod -a -G sambaOnly Joe
    
  2. Następnie chcemy zmienić nasz plik sshd_config, aby miał:

    #From Root
    cat << EOF >> /etc/ssh/sshd_config
    Match Group sambaOnly
        ForceCommand smbpasswd
    EOF
    

Presto. Z mojego zrozumienia (i krótkich testów) oznacza to, że po zalogowaniu przez SSH automatycznie smbpasswduruchomią polecenie i zostaną odpowiednio wyświetlone. Nigdy nie będą mieli dostępu do powłoki. Po zakończeniu polecenia są one automatycznie rozłączane, nigdy więcej nie uzyskując szansy na dostęp do powłoki.

Nie jestem w 100% pewien, że to zdalnie usuwa cały dostęp do komputera. Na przykład, jeśli używasz innego serwera SSH na tym samym komputerze, który ForceCommandich nie obsługuje , mogliby się zalogować za jego pośrednictwem, w zależności od konfiguracji kontroli dostępu.

Ponadto, jeśli mają możliwość fizycznego dostępu do terminala, mogą się zalogować.

Myślę jednak, że w większości sytuacji jest to dość silna kontrola dostępu.

Geraden
źródło