systemy operacyjne cw 06 linux uzytkownicy grupy

background image

Ćwiczenie 6

Temat:

Użytkownicy, grupy
i uprawnienia

Cel ćwiczenia:

W tym ćwiczeniu student zapozna się z metodami zarządzania kontami

użytkowników systemu Linux, nauczy się przypisywać i zmieniać hasła do kont

użytkowników, a także definiować grupy i przypisywać do nich poszczególne

konta. Dodatkowo w ćwiczeniu poruszony zostanie temat prawd dostępu do

zasobów. Student pozna metody określania właściciela plików i katalogów,

zmieniania właściciela, metody określania praw dostępu dla użytkownika, jego

grupy oraz innych użytkowników, a także uruchamiania poleceń z

uprawnieniami innych użytkowników.

background image

81

Tworzenie konta użytkownika

Użytkownicy w systemie Linux

Użytkownik systemu operacyjnego to osoba posiadająca dostęp do zasobów systemu na

określonych w systemie prawach. W systemie operacyjnym może istnieć wielu

użytkowników o różnych poziomach uprawnień. Dostęp do systemu udzielany jest

użytkownikowi w procesie autoryzacji, najczęściej polegającym na podaniu poprawnej

nazwy użytkownika systemu oraz hasła. W celu sprawdzenia nazwy zalogowanego aktualnie

użytkownika użyć należy polecenia:

whoami

Każdy użytkownik w systemie Linux posiada własny numer ID (zwany też UID – z ang. user

identification) , który jednoznacznie identyfikuje danego użytkownika. Szczegółowe

informacje dotyczące numeru ID użytkownika, a także grupy do jakiej należy użytkownik

(więcej o grupach w następnej sekcji przewodnika) wyświetlić można za pomocą polecenia:

id

Tworzenie konta użytkownika

W celu utworzeniu nowego użytkownika w systemie Linux użyć należy polecenia useradd lub

adduser. Obydwa te polecenia realizują takie samo zadanie – dodają nowe konto

użytkownika do systemu operacyjnego. Dla każdego z tych poleceń można zdefiniować

wartości domyślne, które specyfikuje się w pliku:

/etc/default/useradd

W zależności od dystrybucji, polecenia te mogą mieć dokładnie taką samą składnie i

działanie, lub na przykład, jak w systemie Ubuntu, polecenie useradd posiada klasyczną

składnię, a polecenie adduser tworzy użytkownika w trybie interaktywnym.

useradd opcje nazwa_tworzonego_konta

Do najważniejszych parametrów polecenia useradd należą:

• -d – specyfikacja katalogu domowego (w niektórych dystrybucjach ta flaga TYLKO

wskazuje katalog domowy, nie tworzy go)

• -m – tworzy katalog domowy

background image

82

Edycja właściwości użytkownika

• -g - wskazuje grupa, do której ma zostać przypisany nowy użytkownik, w przypadku

braku określenia tego parametru użyta zostanie grupa domyślna

• -p – pozwala wskazać początkowe hasło użytkownika

• -c – pełna nazwa konta (komentarz do konta)

Przykładowe polecenie tworzące nowego użytkownika o nazwie ‘operator’, z początkowym

hasłem ‘zaq12wsx’, tworząc i wskazując katalog domy jako /home/operator

useradd –m –d /home/operator –p zaq12wsx operator

UWAGA! Jeśli nie zostanie wskazana flaga ‘-p’ (hasło początkowe) konto użytkownika

zostanie utworzone, jednak użytkownik nadal nie będzie mógł się zalogować, dopóki hasło

nie zostanie zdefiniowane.

Edycja właściwości użytkownika

Do edycji już utworzonego konta użytkownika służy polecenie usermod. Do najważniejszych

parametrów polecenia należą:

• -c – opis (pełna nazwa konta)

• -d – zmiana katalogu domowy

• -g – zmiana grupy głównej użytkownika

• -m – użyte z opcją –d przenosi zawartość starego katalogu domowego do nowej

lokalizacji

• -l – zmiana nazwy (loginu) użytkownika

• -G – przypisanie do grupy

Katalog domowy

W systemie Linux użytkownik może mieć (powinien mieć) tzw. „katalog domowy”.

Najczęściej katalog domowy nosi taką samą nazwę jak konto użytkownika systemu i znajduje

się w katalogu /home/. W zależności od dystrybucji systemu Linux oraz od poziomu

zastosowanych zabezpieczeń użytkownik powinien mieć możliwość zapisu plików TYLKO w

swoim katalogu domowym, dlatego katalog (jego istnienie) jest ważnym elementem. Katalog

background image

83

Ustalanie oraz zmiana hasła użytkownika

domowy w zależności od konfiguracji systemu tworzony jest automatycznie podczas

tworzenia konta użytkownika lub należy go stworzyć i wskazać podczas tworzenia konta.

Ustalanie oraz zmiana hasła użytkownika

Jeżeli hasło nie zostało ustalone podczas tworzenia konta (flaga –p polecenia useradd) może

zostać przypisane za pomocą polecenia:

passwd nazwa_konta

Polecenie wywołane z flagą –d kasuje hasło wskazanego konta:

passwd -d nazwa_konta

Kasowanie konta użytkownika

W celu usunięcia konta użytkownika posłużyć się należy poleceniem:

userdel nazwa_konta

Polecenie kasuje konto użytkownika z systemu, jednak domyślnie nie jest usuwany katalog

domowy wraz z plikami kasowanego użytkownika. Aby usunąć katalog domowy razem z

kontem użyć należy flagi –r:

userdel -r nazwa_konta

Aktualnie zalogowaniu użytkownicy

System Linux umożliwia logowanie się do jego zasobów wielu użytkownikom. Użytkownicy

mogą logować się bezpośrednio do konsoli lub za pomocą sieci (np. z wykorzystaniem SSH).

Do konta jednego użytkownika można logować się wielokrotnie. W celu sprawdzenia którzy

użytkownicy są aktualnie zalogowani do systemu skorzystać można z jednego z poniższych

poleceń:

• users

• who

• w

background image

84

Udane i nieudane logowania do systemu

Wszystkie powyższe polecenie wyświetlają informacje odnośnie aktualnie zalogowanych do

systemu użytkowników z różnym poziomem ilości szczegółów. Polecenie users wyświetla

tylko nazwy zalogowanych użytkowników, polecenie who - nazwy wraz z nazwami terminali

do których zalogowany jest dany użytkownik (terminale tty – to terminale rzeczywiste,

natomiast pts/x to terminale wirtualne tworzone po zalogowaniu się użytkownika przez

sieć), a polecenie „w” wyświetla zalogowanych użytkowników wraz z nazwami terminali oraz

czasem logowania i danymi dotyczącymi procesów użytkownika.

Udane i nieudane logowania do systemu

W celu wyświetlenia ostatnio logujących się użytkowników skorzystać należy z polecenia:

last

Polecenie wyświetla nazwy użytkowników, nazwy terminali oraz czas logowania. Wyniki

polecenia mogą zostać zawężone do konkretnego terminala, np. aby wyświetlić

użytkowników logujących się do terminala nr 1:

last tty1

Wyniki można zawęzić także do ilości wyświetlanych wpisów, np. aby wyświetlić 10 ostatnich

logowań użyć można flagi –n:

last –n 10

Poleceniem odwrotnym wskazującym ostatnie nieudane próby logowania się do systemu

jest polecenie:

lastb

Polecenie to jest szczególnie przydatne podczas prac administracyjnych, pozwala

administratorowi na diagnostykę nieudanych zdarzeń logowania do systemu.

Zadanie 1 Użytkownicy w systemie Linux

1. Tworzenie i testowanie konta nowego użytkownika:

1.1. Założyć konto użytkownika o nazwie „operator

1.2. Ustalić katalog domowy użytkownika: /home/operator

1.3. Określić hasło dla nowego użytkownika (np. zaq12wsx)

background image

85

Udane i nieudane logowania do systemu

1.4. Zalogować się kilkukrotnie na konto nowego użytkownika wprowadzając poprawne i

niepoprawne hasło

1.5. Zalogować się do konta root a następnie sprawdzić za pomocą poleceń last oraz

lastb ostatnie udane i nieudane logowania do systemu.

2. Stworzyć skrypt tworzący automatycznie konta użytkowników według listy z pliku

tekstowego (patrz screen poniżej). W tym celu:

2.1. Pobrać za pomocą polecenia wget przykładowy plik z nazwami użytkowników:

wget –q http://157.158.131.167/names.txt

2.2. Stworzyć skrypt zakładający użytkowników (wraz z katalogiem domowym) na

podstawie nazw w pliku tekstowym. Skrypt powinien przyjmować nazwę pliku z

nazwami użytkowników jako parametr (zmienna $1) a następnie za pomocą pętli

zakładać konta użytkowników. Skrypt dodatkowo powinien wyświetlać czas

rozpoczęcia i zakończenia pracy.

2.3. Stworzyć analogiczny skrypt do usuwania kont użytkowników na podstawie nazw w

pliku tekstowym.

Grupy użytkowników

Użytkownicy w systemie operacyjnym zorganizowani są w jednostki organizacyjne zwane

grupami. Każda grupa w systemie, podobnie jak użytkownik, posiada numer ID

jednoznacznie definiujący grupę (zwany też GID – z ang. group identification). Organizacja

użytkowników w grupy służy do określania wspólnych praw dostępu do zasobów dla

1

2

3

4

5

background image

86

Tworzenie nowej grupy

członków poszczególnych grup systemowych. Jeden użytkownik może należeć do wielu

grup. Aby wyświetlić do jakich gryp należy dany użytkownik użyć należy polecenia:

groups nazwa_użytkownika

Tworzenie nowej grupy

Nowa grupa może zostać utworzona za pomocą polecenia:

addgroup nazwa_nowej_grupy

Edycja właściwości grupy

Podobnie jak w przypadku kont użytkowników, konto grupy może zostać zmodyfikowane już

po utworzeniu. Do modyfikacji właściwości grupy służy polecenie:

groupmod

Polecenie z flagą –n zmienia nazwę grupy:

groupmod –n NOWA_NAZWA Aktualna_Nazwa

Natomiast z flagą –g zmienia numer ID grupy:

groupmod –g NOWE_ID_GRUPY Nazwa_Grupy

Kasowanie grupy

Kasowanie grupy odbywa się za pomocą polecenia:

groupdell Nazwa_Grupy

Pliki konfiguracyjne kont użytkowników i grup

Wszystkie informacje o kontach i grupach użytkowników znajdują się w katalogu /etc/ w

odpowiednich plikach.:

background image

87

Własność pliku i katalogu

/etc/passwd – plik zawierający spis kont użytkowników, wraz z ich numerem ID oraz z

numerem ID grupy do której należą. W pliku dodatkowo zdefiniowany jest adres

katalogu domowego oraz powłoka do której może zalogować się użytkownik

• /etc/group – plik zawierający spis grup użytkowników wraz z ich numerami ID

• /etc/shadow – plik zawierający zaszyfrowane hasła użytkowników

UWAGA! Poprawna edycja powyższych plików konfiguracyjnych ma dokładnie taki sam

efekt jak zastosowanie wyżej wymienionych poleceń tworzenia, modyfikacji i kasowania

użytkowników i grup.

Uprawnienia do pliku i katalogu

Systemy Linux z założenia są systemami na których pracować może jednocześnie wielu

użytkowników, dlatego właśnie podczas tworzenia systemów typu Unix powstał pomysł, aby

każdy plik w systemie miał określonego właściciela, oraz prawa dostępu, jakie przysługują

właścicielowi oraz innym użytkownikom.

Własność pliku i katalogu

Każdy plik i katalog w systemie Linux posiada określonego właściciela oraz grupę. Aby

wyświetlić właściciela i grupę posiadającą prawa do plików użyć należy polecenia

wyświetlającego zawartość katalogu z flagą -la:

ls –la ścieżka

Dane dotyczące właściciela i grupy znajdują się w trzeciej i czwartej kolumnie:

background image

88

Zmiana właściciela oraz grupy

Zmiana właściciela oraz grupy

W celu zmiany właściciela pliku lub katalogu użyć należy polecenia chown, np.:

chown operator program_06.sh

W celu zmiany grupy macierzystej pliku lub katalogu zastosować należy polecenie chgrp, np.:

chgrp operatorzy program_06.sh

Możliwe jest wywołanie polecenia zmieniającego właściciela (chown) od razu z określeniem

grupy macierzystej, nawet gdy określany właściciel nie należy do określanej grupy

macierzystej np.:

chown operator.users program_03.sh

gdzie operator to nazwa użytkownika, natomiast users to grupa macierzysta pliku. Warto

jednak zaznaczyć, iż użytkownik operator nie jest członkiem grupy users.

background image

89

Rodzaje uprawnień do plików i katalogów, zmiana uprawnień

Rodzaje uprawnień do plików i katalogów, zmiana uprawnień

Prawa dostępu do plików widoczne są w pierwszej kolumnie widoku wywołanego

poleceniem:

ls –la ścieżka

, np.:

Prawa dostępu określone są za pomocą 10 znaków podzielonych na 4 sekcje (Patrz poniższy

schemat). Pierwszy znak (jednocześnie będący pierwszą sekcją) określa rodzaj zasobu („d” –

katalog, „-” plik zwykły, „l” dowiązanie symboliczne). Sekcja druga określa prawa dostępu do

pliku określone dla właściciela pliku, sekcja trzecia określa prawa dostępu dla grupy

macierzystej, a sekcja czwarta określa prawa dla pozostałych użytkowników (spoza grupy

macierzystej).

1

2

3

4

background image

90

Rodzaje uprawnień do plików i katalogów, zmiana uprawnień

Poszczególne symbole oznaczają w przypadku plików:

• r - odczyt

• w - zapis

• x - wykonanie

Natomiast w przypadku katalogów:

• x – możliwość przechodzenia do katalogu jak i przejścia przez katalog (np.

poleceniem cd)

• r – możliwość przeglądania zawartości katalogu (np. polecenie ls)

• w – możliwość zmiany zawartości katalogu (tworzenie, modyfikacja, kasowanie i

zmiana nazwy plików)

Przykład:

Prawa typu:

Określają, iż właścicielem pliku zwyczajnego jest użytkownik root , a grupą macierzystą

grupa root. Użytkownik root ma pełne prawa do pliku (odczyt, zapis i wykonanie), grupa

macierzysta ma prawo odczytu i wykonania, natomiast wszyscy inni użytkownicy mają tylko

prawo do odczytu pliku.

Getfacl

Prawa dostępu do plików i katalogów oraz dane o właścicielu mogą także zostać wyświetlone

za pomocą polecenia:

getfacl ścieżka

UWAGA! W niektórych dystrybucjach polecenie getfacl musi zostać doinstalowane.

Polecenie jest częścią pakietu „acl” (np. dla Ubuntu: aptitude install acl).

background image

91

Zmiana uprawnień do pliku

Zmiana uprawnień do pliku

Zmiana uprawnień do pliku lub katalogu realizowana jest za pomocą polecenia :

chmod KOD ścieżka_do_zasobu

Jeśli prawa mają zostać nadane rekurencyjnie (na wszystkie pliki w katalogu i podkatalogach)

zastosować należy dodatkowo flagę –R.

KOD to trzycyfrowy symbol tworzony wg zasady, iż pierwsza cyfra kodu to prawa

przydzielane właścicielowi pliku, druga to prawa grupy macierzystej, a trzecia to prawa dla

pozostałych użytkowników. Kody polecenia prezentuje poniższa tabela. Łatwo zauważyć, iż

cyfra binarna symbolizuje symbol praw dostępu – tam gdzie występuje cyfra „1” odpowiedni

symbol (rwx) jest „aktywny”, a tam gdzie cyfra „0” występuje symbol „-”.

Prawa

Symbol binarny

Kod polecenia

chmod

Opis

- - -

000

0

-

- - x

001

1

wykonanie

- w -

010

2

zapis

- w x

011

3

zapis i wykonanie

r - -

100

4

odczyt

r – x

101

5

odczyt i wykonanie

r w -

110

6

odczyt i zapis

r w x

111

7

odczyt, zapis, wykonanie

Przykład

Aby nadać prawa dostępu takie jak na poniższym screenie:

użyć należy polecenia:

chmod 754 program_02.sh

gdzie: 7 to prawa dla właściciela (rwx) , 5 prawa dla grupy (r-x) oraz 4 – prawa dla

pozostałych użytkowników (r--).

Chmod – zapis symboliczny

Używając polecenia chmod można zamiast kodu praw zastosować odpowiednie symbole

określające grupę, dla której ustalane są prawa:

background image

92

Uruchamianie programów z uprawnieniami innych użytkowników

• u - właściciel pliku,
• g - grupa macierzysta,
• o - pozostali użytkownicy ,
• a - wszyscy powyżsi

Prawa w zapisie symbolicznym określane są za pomocą symboli:

• +

dodaje prawa

• -

odejmuje prawa

• =

ustala prawa

Przykład

Dodawanie praw: Aby dodać prawo odczytu dla grupy macierzystej używając zapisu

symbolicznego, użyć należy polecenia:

chmod g+r plik

chmod g+r plik

chmod g+r plik

chmod g+r plik

Odejmowanie praw: Aby usunąć prawo możliwości wykonania dla użytkowników spoza

grupy macierzystej:

chmod

chmod

chmod

chmod

o

o

o

o-

-

-

-x

x

x

x

plik

plik

plik

plik

Ustalanie praw: Określenie pełnych praw dla właściciela, oraz prawa odczytu dla grupy:

chmod

chmod

chmod

chmod

u=rwx,g=r plik

u=rwx,g=r plik

u=rwx,g=r plik

u=rwx,g=r plik

Grupowanie zapisów:

o Aby dodać prawa zapisu i wykonania dla właściciela i grupy:

chmod ug+wx plik

chmod ug+wx plik

chmod ug+wx plik

chmod ug+wx plik

o

Aby ustawić prawa dla właściciela i grupy:

chmod u+rwx,g=r plik

chmod u+rwx,g=r plik

chmod u+rwx,g=r plik

chmod u+rwx,g=r plik

Uruchamianie programów z uprawnieniami innych użytkowników

Czasami istnieje konieczność uruchomienia programu (lub powłoki) z uprawnieniami innego

użytkownika. W zależności od potrzeb, zadanie to może zostać zrealizowane za pomocą

uprawnień specjalnych, lub polecenia su oraz sudo.

SUID, SGID, Sticky Bit – uprawnienia specjalne

Oprócz „klasycznych” praw dostępu możliwe jest określenie specjalnych uprawnień do

plików i katalogów. Przed KOD określający prawa dostępu może zostać dostawiona jedna

cyfra: 4 (SUID), 2 (SGID) lub 1 (Sticky Bit), które rozszerzają mechanizm uprawnień (w

przypadku oznaczeń symbolicznych - s – SUID/SGID, t – Sticky Bit). Funkcjonalność ta jest

rozszerzeniem prawa wykonywalności (x), więc jeśli plik ma określone uprawnienia

background image

93

SUID, SGID, Sticky Bit – uprawnienia specjalne

specjalne, a nie ma określonego prawa do wykonywania pliku to prawa specjalne są

nieaktywne („są uśpione”).

Dla plików uprawnienia specjalne oznaczają:

• SUID – wykonywany program będzie uruchomiony z prawami właściciela pliku
• SGID – wykonywany program będzie uruchomiony z prawami grupy macierzystej

pliku

Natomiast dla katalogów oznaczają:

• SUID – właścicielem nowych plików tworzonych w katalogu będzie właściciel

katalogu

• SGID – grupą macierzystą nowych plików tworzonych w katalogu będzie grupa do

której należy katalog

• Sticky Bit – pliki wewnątrz katalogu mogą być usuwane lub przemianowywane tylko

przez właściciela pliku lub owego katalogu.

Przykład

Aby dodać do pliku możliwość wykonywania programu na prawach właściciela pliku, użyć

należy polecenia:

chmod 4777 plik.sh

Polecenie su

Polecenie su pozwala na zalogowanie się do konta innego użytkownika pozostając

zalogowanym do bieżącego konta. Np. Będąc zalogowanym do systemu jako użytkownik

root, a chcąc zalogować się na użytkownika operator, choćby w celu przetestowania

uprawnień do zasobów, wydać można polecenie:

su operator

Jeśli wydającym polecenie jest administrator systemu (root) nie zostanie on zapytany o hasło

użytkownika, w innym wypadku użytkownik wywołujący polecenie będzie proszony o

podanie hasła do konta.

Aby wylogować się z konta użytkownika, po wywołaniu polecenia su użyć należy

kombinacji klawiszy ctrl+D.

background image

94

SUID, SGID, Sticky Bit – uprawnienia specjalne

Polecenie sudo

Innym poleceniem pozwalającym na wykonanie komendy na prawach użytkownika root jest

polecenie sudo, które poprzedza polecenie, które powinno zostać uruchomione z prawami

użytkownika root.

Np. będąc zalogowanym jako użytkownik operator:

sudo mkdir /root/dane

Normalnie użytkownik operator nie ma uprawnień do tworzenia katalogów w katalogu

/root/, jednak gdy polecenie mkdir zostało poprzedzone komendą sudo, polecenie tworzenia

katalogu zostało wykonane z uprawnieniami użytkownika root.

UWAGA! Oczywistym jest, iż nie każdy użytkownik systemu powinien mieć możliwość

skorzystania z polecenia sudo. Użytkownicy, którzy mogą skorzystać z tej komendy muszą

należeć do grupy użytkowników określonej w pliku konfiguracyjnym polecenia sudo, który

znajduje się:

/etc/sudoers

Zadanie 1 Uprawnienia

1. Stworzyć strukturę plików jak w poniższym przykładzie. Na katalog „dane” na potrzeby

ćwiczenia nadać pełne uprawnienia dla wszystkich użytkowników, a następnie w tym

katalogu realizować dalsze ćwiczenia.

• /home/dane/

o backup/
o bin/

program01.sh
program02.sh
program03.sh

o doc/


Nadać katalogom prawa jak na poniższym wydruku:

Stworzyć trzy kopie programu

wyświetlającego datę w

różnych formatach

background image

95

SUID, SGID, Sticky Bit – uprawnienia specjalne

Oraz plikom w katalogu bin/ jak na poniższym wydruku:




Przetestować działanie uprawnień. Uruchomić powyższe programy.

2. Jako użytkownik root edytować plik:

/ets/sudoers

tak, aby wpisy wyglądały jak na poniższym wydruku:


2.1. Przetestować możliwość korzystania przez użytkownika operator z polecenia sudo.


Wyszukiwarka

Podobne podstrony:
systemy operacyjne cw 04 linux bash
systemy operacyjne cw 01 linux instalacja
systemy operacyjne cw 05 linux dyski
systemy operacyjne cw 03 linux siec ssh pakiety
Systemy Operacyjne Ćw 2, UŁ WMiI, Ćwiczenia SYS OP, Ćw 2
Systemy operacyjne Praca kontrolna 1, Linux, płyty dvd, inne dvd, 2, Profesja, semestr 1
Systemy Operacyjne Ćw 2
systemy operacyjne cw 09 podstawy administracji cz2
systemy operacyjne cw 08 podstawy administracji cz1
zasady grupy, java, javascript, oprogramowanie biurowe, programowanie, programowanie 2, UTK, systemy
quota, !!!Uczelnia, wsti, materialy, II SEM, systemy operacyjne linux
LINUX, SZKOLNE PLIKI-mega zbiory (od podstawówki do magisterki), Systemy operacyjne
Opis systemów operacyjnych-Linux, Informatyka -all, INFORMATYKA-all
Prezentacja System operacyjny Linux
Porównanie systemów operacyjnych Windows i Linux, Studia, Informatyka, Informatyka, Informatyka
Konfiguracja środowiska użytkownika w XP, Szkoła, Systemy Operacyjnie i sieci komputerowe, systemy,
Konto użytkownika lokalnego, Szkoła, Systemy Operacyjnie i sieci komputerowe, systemy, semestr II

więcej podobnych podstron