Instalacja i konfiguracja SAMBA na Debianie 12 dodawanie użytkownika do samby, dodawanie użytkownika do grupy

Instalacja SAMBA

apt update
apt install samba samba-common-bin

systemctl status smbd

Konfiguracja SAMBA

nano /etc/samba/smb.conf

W pliku smb.conf można skonfigurować różne współdzielone katalogi, dostosować ustawienia zabezpieczeń i zdefiniować uprawnienia dostępu użytkowników. Oto przykład definiowania nowego udziału:

[SharedDocs]
path = /srv/samba/sharedocs
writable = yes
guest ok = no
valid users = @sambashare

Ta konfiguracja ustawia udział o nazwie „SharedDocs” wskazujący na /srv/samba/sharedocs, który jest zapisywalny, ale niedostępny dla gości i dostępny tylko dla użytkowników z grupy „sambashare”.

Tworzenie katalogu współdzielonego

Utwórz katalog, który chcesz udostępnić i odpowiednio ustaw jego uprawnienia:

mkdir -p /srv/samba/sharedocs
chown nobody:nogroup /srv/samba/sharedocs
chmod 0775 /srv/samba/sharedocs

Zarządzanie dostępem użytkowników

Aby umożliwić użytkownikom dostęp do katalogu współdzielonego, konieczne może być dodanie ich do grupy sambashare i utworzenie hasła Samby:

adduser your_username sambashare
smbpasswd -a your_username

Finalizowanie i testowanie konfiguracji

Po skonfigurowaniu SAMBA należy ponownie uruchomić usługę, aby zmiany zaczęły obowiązywać:

systemctl restart smbd

Aby upewnić się, że udziały są poprawnie skonfigurowane, użyj narzędzia smbclient, aby wyświetlić listę dostępnych udziałów:

smbclient -L localhost -U %

Dodanie użytkowników do systemu Linux oraz grupy.

Krok 1: Dodaj użytkownika joe do systemu UNIX/Linux

Polecenie adduser dodaje użytkownika do systemu zgodnie z opcjami wiersza poleceń i informacjami konfiguracyjnymi w pliku /etc/adduser.conf. Są to bardziej przyjazne interfejsy użytkownika dla narzędzi niskiego poziomu, takich jak useradd.

Wpisz dowolne z następujących poleceń: LUB
# useradd joe
# passwd joe


adduser joe

Dodaj użytkownika do samby

Teraz użytkownik joe ma konto na komputerze Linux/UNIX. Użyj polecenia smbpasswd, aby określić, że następująca nazwa użytkownika powinna zostać dodana do lokalnego pliku smbpasswd:
# smbpasswd -a joe

Krok 3: Dodaj użytkownika do udziału Samba

Domyślnie użytkownik uzyskuje dostęp do /home/joe z systemu Windows. Powiedzmy, że chcesz dać joe dostęp do katalogu /data/accounts (upewnij się, że katalog /data/accounts istnieje). Otwórz plik /etc/samba/smb.conf i dodaj/zmodyfikuj udział o nazwie [accounts]:

[accounts]
comment = Accounts data directory
path = /data/accounts
valid users = vivek raj joe
public = no
writable = yes

Zapisz plik.

Krok 4: Uruchom ponownie sambę

# service smb restart
LUB
# /etc/init.d/smb reload

Grupy Linux

Użytkownik może należeć do dwóch typów grup:

  • Grupa podstawowa lub grupa logowania – to grupa przypisana do plików tworzonych przez użytkownika. Zazwyczaj nazwa grupy podstawowej jest taka sama jak nazwa użytkownika. Każdy użytkownik musi należeć do dokładnie jednej grupy podstawowej.
  • Grupa drugorzędna lub uzupełniająca – używana do przyznawania pewnych uprawnień grupie użytkowników. Użytkownik może być członkiem zera lub większej liczby grup drugorzędnych.

Wyświetl wszystkie grupy, do których należy użytkownik

Istnieje wiele sposobów, aby dowiedzieć się, do jakich grup należy użytkownik.

Podstawowa grupa użytkownika jest przechowywana w /etc/passwd pliku, a wszelkie grupy dodatkowe, jeśli takie istnieją, są w /etc/groupnim wymienione.

Jednym ze sposobów znalezienia grup użytkowników jest wylistowanie zawartości tych plików za pomocą cat , less lub grep . Inną, łatwiejszą opcją jest użycie polecenia, którego celem jest dostarczenie informacji o użytkownikach i grupach systemu.

Korzystanie z groupspolecenia

Najbardziej zapadającym w pamięć poleceniem do listy wszystkich grup, których członkiem jest użytkownik, jest groupspolecenie. Gdy polecenie zostanie wykonane bez argumentu, wydrukuje listę wszystkich grup, do których należy aktualnie zalogowany użytkownik:

groups

Pierwsza grupa jest grupą podstawową.

john adm cdrom sudo dip plugdev lpadmin sambashare

Aby uzyskać listę wszystkich grup, do których należy konkretny użytkownik, podaj nazwę użytkownika groupsjako argument polecenia:

groups linuxize

Tak jak poprzednio, pierwsza grupa jest grupą podstawową.

linuxize : linuxize sudo

Korzystanie z idpolecenia

Polecenie id drukuje informacje o określonym użytkowniku i jego grupach. Jeśli nazwa użytkownika jest pominięta, wyświetla informacje o bieżącym użytkowniku.

Na przykład, aby uzyskać informacje o użytkowniku linuxizenależy wpisać:

id linuxize

Polecenie wyświetli identyfikator użytkownika ( uid), główną grupę użytkownika ( gid) i dodatkowe grupy użytkownika ( groups)

uid=1001(linuxize) gid=1001(linuxize) groups=1001(linuxize),27(sudo)

Aby wydrukować tylko nazwy zamiast numerów, użyj -nopcji. Opcja -gwydrukuje tylko grupę główną i -Gwszystkie grupy.

Poniższe polecenie wyświetli nazwy grup, do których należy bieżący użytkownik:

id -nG
john adm cdrom sudo dip plugdev lpadmin sambashare

Wyświetlanie listy wszystkich członków grupy

Aby wyświetlić listę wszystkich członków grupy, należy użyć getent grouppolecenia, a po nim podać nazwę grupy.

Na przykład, aby dowiedzieć się, którzy członkowie grupy mają taką nazwę, developersnależy użyć następującego polecenia:

getent group developers

Jeżeli grupa istnieje, polecenie wydrukuje grupę i wszystkich jej członków:

developers:x:126:frank,mary

Jeśli nie ma wyników, oznacza to, że grupa nie istnieje.

Wyświetl wszystkie grupy

Aby wyświetlić wszystkie grupy obecne w systemie, po prostu otwórz /etc/groupplik. Każdy wiersz w tym pliku przedstawia informacje dla jednej grupy.

less /etc/group

Inną opcją jest użycie getentpolecenia wyświetlającego wpisy z baz danych skonfigurowanych w /etc/nsswitch.confpliku, w tym groupbazy danych, którą możemy wykorzystać do zapytania o listę wszystkich grup.

Aby uzyskać listę wszystkich grup, wpisz następujące polecenie:

getent group

Wynik jest taki sam, jak podczas wyświetlania zawartości pliku /etc/group. Jeśli używasz LDAP do uwierzytelniania użytkownika, getentzostaną wyświetlone wszystkie grupy zarówno z /etc/grouppliku, jak i bazy danych LDAP.

Można również użyć klawisza awk lub , cut aby wydrukować tylko pierwsze pole zawierające nazwę grupy:

getent group | awk -F: '{ print $1}'
getent group | cut -d: -f1

Dodawanie użytkownika do grupy

usermod -aG grupa username

Jak utworzyć grupy w systemie Linux (polecenie groupadd)

W systemie Linux grupy służą do organizowania i administrowania kontami użytkowników. Podstawowym celem grup jest zdefiniowanie zestawu uprawnień, takich jak uprawnienia do odczytu, zapisu lub wykonywania dla danego zasobu, które mogą być współdzielone między użytkownikami w grupie.

W tym artykule omówimy, jak tworzyć nowe grupy w systemie Linux za pomocą groupaddpolecenia.

groupaddSkładnia polecenia

Ogólna składnia polecenia groupaddjest następująca:

groupadd [OPTIONS] GROUPNAME

Kopia

Tylko użytkownik root lub użytkownik z uprawnieniami sudo może tworzyć nowe grupy.

Po wywołaniu groupaddtworzy nową grupę, używając opcji określonych w wierszu polecenia oraz wartości domyślnych określonych w /etc/login.defs pliku.

Tworzenie grupy w systemie Linux

Aby utworzyć nowy typ grupy, groupaddwpisz nazwę nowej grupy.

Na przykład, aby utworzyć nową grupę o nazwie mygroupyou należy uruchomić:

groupadd mygroup

Polecenie dodaje wpis dla nowej grupy do plików /etc/group/etc/gshadow.

Po utworzeniu grupy możesz zacząć dodawać do niej użytkowników .

Jeżeli grupa o tej samej nazwie już istnieje, system wyświetli komunikat o błędzie podobny do poniższego:

groupadd: group 'mygroup' already exists

Aby pominąć komunikat o błędzie, jeśli grupa istnieje i aby polecenie zakończyło się pomyślnie, użyj opcji -f--force):

groupadd -f mygroup

Tworzenie grupy ze specyficznym GID

W systemach operacyjnych Linux i podobnych do Unix grupy są identyfikowane za pomocą nazwy i unikalnego GID (dodatniej liczby całkowitej).

Domyślnie przy tworzeniu nowej grupy system przypisuje jej kolejny dostępny GID z zakresu identyfikatorów grup określonych w login.defspliku.

Użyj opcji -g--gid), aby utworzyć grupę o określonym GID.

Na przykład, aby utworzyć grupę o nazwie mygroupGID 1010swojego użytkownika, należy wpisać:

groupadd -g 1010 mygroup

Możesz sprawdzić GID grupy, wyświetlając wszystkie grupy i filtrując wynik za pomocą polecenia grep :

getent group | grep mygroup
mygroup:x:1010:

Jeśli grupa o podanym identyfikatorze GID już istnieje, pojawi się następujący błąd:

groupadd: GID '1010' already exists

W połączeniu z opcją -o--non-uniquegroupaddpolecenie to umożliwia utworzenie grupy o nieunikalnym identyfikatorze GID:

groupadd -o -g 1010 mygroup

Tworzenie grupy systemowej

Nie ma żadnej realnej różnicy technicznej między grupami systemowymi a regularnymi (normalnymi). Zazwyczaj grupy systemowe są używane do pewnych specjalnych celów operacyjnych systemu, takich jak tworzenie kopii zapasowych lub wykonywanie konserwacji systemu.

Identyfikatory GID grup systemowych wybierane są z zakresu identyfikatorów UD grup systemowych określonego w login.defspliku, który różni się od zakresu używanego w przypadku zwykłych grup.

Użyj opcji -r--system), aby utworzyć grupę systemową. Na przykład, aby utworzyć nową grupę systemową o nazwie, mysystemgroupnależy uruchomić:

groupadd -r mysystemgroup

/etc/login.defsNadpisywanie wartości domyślnych

Opcja -K--key) po której następuje KEY=VALpozwala na zastąpienie domyślnych wartości określonych w /etc/login.defspliku.

Zasadniczo jedyne, co można zmienić, to wartości maksymalne i minimalne identyfikatorów grup normalnych i systemowych w celu automatycznego wyboru GID podczas tworzenia nowej grupy.

Załóżmy, że chcesz utworzyć nową grupę o GID w zakresie od 1200 do 1500. Aby to zrobić, określ wartości min./maks., jak pokazano poniżej:

groupadd -K GID_MIN=1200 -K GID_MAX=1500 mygroup

Tworzenie grupy systemowej z hasłem

Dodanie hasła do grupy nie ma praktycznego zastosowania i może stwarzać zagrożenie bezpieczeństwa, ponieważ więcej niż jeden użytkownik będzie musiał znać to hasło.

Opcja -p--password) po której następuje hasło umożliwia ustawienie hasła dla nowej grupy:

groupadd -p grouppassword mygroup