Być może to absurdalne, ale co jakiś czas muszę sobie przypominać naprawdę podstawowe rzeczy. Takie, do których aż głupio się przyznać. Z jednej strony z pewnością nie jest to powód do dumy i należy nad tym pracować. Z drugiej – pozwala mi to nabrać odpowiedniej pokory. I przydaje się ona szczególnie podczas szkoleń, gdy widzę jak kursanci nie pamiętają podstawowych poleceń, składni itd. Najgłupszą rzeczą którą mógłbym zrobić byłoby irytowanie się na nich. Fakt, że sam ma takie problemy pomaga mi lepiej podejść w takich sytuacjach;-).
Dzisiaj o takich “głupotkach” w kontekście linuxa.
Baza wiedzy
Dzisiaj jeden ze sposobów na poradzenie sobie z tym. Baza Wiedzy – coś co bardzo, bardzo polecam. Nie polegamy jedynie na głowie, ale spisujemy to co mamy zapamiętać w jednym miejscu, do którego możemy zajrzeć. To może być zwykły zeszyt, może być dokument na Google Drive – cokolwiek. Dzięki temu nie tylko mamy do czego się odnieść, ale też powtarzamy sobie zapisując “po swojemu”. Dzisiaj wyjątkowo taką bazą wiedzy chcę się podzielić. Wpadłem na pomysł, że raz na jakiś czas będę robił notatki techniczne.
Takie notatki techniczne nie będą tutorialem, ale skrótowym zapisem teorii lub wykonania czegoś, co po raz kolejny muszę odkrywać na nowo.
Kawa w dłoń i lecimy z tematem. Dzisiaj notatka o Linuxie. A konkretnie o użytkownikach, grupach i uprawnieniach.
Aha, warto nadmienić że ja pracuję obecnie na Ubuntu. No to lecimy już serio.
Uprawnienia w Linux (centos, ubuntu, obojętnie)
Typy uprawnień:
- Read
- Write
- Execute
Typy pliku:
- d – Folder (directory)
- s – Plik specjalny (special file)
- – (zwykły plik – regular file, oznaczany jako taki właśnie myślnik)
Jak sprawdzić uprawnienia?
Wchodzimy w odpowiedni folder w którym chcemy sprawdzić uprawnienia plików (i folderów).
Wpisujemy polecenie ls -l
Interesuje nas to co jest po lewej stronie konkretnego pliku – czyli 10 znaków.
Dla pliku Bogata Polska Emerytura:
- Pierwszy znak określa jaki to rodzaj pliku: “-” czyli zwykły plik
- Kolejne 3 określaja uprawnienia właściciela: “rw-” czyli właściciel może czytać i zapisywać (read, write).
- Kolejne 3 określają uprawnienia innych członków grupy: “r–” czyli mogą oni jedynie czytać (read)
- Kolejne 3 określają uprawnienia wszystkich innych osób: “r–” czyli także muszą zadowolić się przeczytaniem (read)
Warto dodać, że użytkownik i grupa są widoczny w kolejnych rubrykach – tutaj to właściciel root (po lewej) i grupa także root (po prawej).
Zmiana uprawnień w linuxie
- Zmiana właściciela pliku: chown <user> <file or directory>
- Zmiana grupy pliku (analogicznie do [1]): chgrp <groupname> <file or directory>
- Zmiana właściciela i grupy w tym samym momencie: chown <new owner>:<new group> <file or directory>
Grupy
Są dwa rodzaje grup: primary (każdy ma dokładnie jedną) i secondary (zero lub więcej).
Polecenia:
- Tworzenie nowej grupy: groupadd <group name>
- Wylistowanie wszystkich grup: getent group
- Wylistowanie wszystkich grup użytkownika:
- swoje grupy: group
- grupy użytkownika username: groups username
- Tworzenie nowego użytkownika (username) z primary group (users) i secondary groups (wheel, developers): useradd -g users -G wheel,developers username
- ja osobiście wolę bardziej wysokopoziomowe narzędzie adduser i utworzenie tam użytkownika, a następnie operacje na grupach
- Dodawanie istneijącego użytkownika do grupy: usermod -a -G <group name> <user name>
- -a oznacza append. Bez tego użytkownik zostanie dodany do grupy, ale usunięty z innych
- -G oznacza że chcemy dodać do grupy
- Usuwanie użytkownika z grupy: gpasswd -d <user name> <group name>
- Usuwanie grupy: groupdel <group name>
- Ważne: grupa musi być pusta
- Czyszczenie grupy z wszystkich użytkowników: groupmems -p -g <group name>
Tworzenie użytkownika w Linux (centos, ubuntu, obojętnie)
Polecenia:
- Podstawowe utworzenie użytkownika: useradd -m username
- Tu tworzymy użytkownika z grupą “username”
- -m wymusza utworzenie razem z katalogiem domowym (domyślnie /home/username)
- Tworzenie z pominięciem hasła: adduser –disabled-password –gecos “” username
- dostępne tylko na ubuntu i centos!
- Pamiętajmy, żeby zabezpieczyć dostępem przez ssh.
- Tworzenie z uprawnieniami admina: usermod -aG sudo username
- Usuwanie użytkownika: deluser username
- Usuwanie wraz z usunięciem home directory: deluser –remove-home username
- Zmiana hasła:
- swojego: passwd (trzeba tu podać obecne hasło a potem nowe)
- innego użytkownika (jako root): passwd username (podajemy tylko nowe)
Nie uciekaj!!
I to tyle! Mam nadzieję, że notatka pomocna. Mi na pewno pomoże w przyszłości :D. Zapraszam Cię, zostań w naszej społeczności big datowej na dłużej.
Specjalnie dla Ciebie przygotowałem ebooka “Szlakiem Big Data”. Opisuję tam naszą branżę z wielu różnych stron. W sam raz dla początkujących.
A być może zaciekawi Cię podcast “Big Data Po Polsku”! Daj znać jak Ci się podoba;-)
Zapisz się na newsletter i bądźmy w kontakcie!