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 joeadduser 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/groupi /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-unique) groupaddpolecenie 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








Leave a Reply