To tylko jedna z 8 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
1
Systemy operacyjne
Programowanie w języku powłoki sh
Powłoka (interpreter poleceń, ang. shell) jest programem uruchamianym
standardowo po otwarciu sesji użytkownika przez proces login. Powłoka jest aktywna
aż do wystąpienia znaku , który powoduje jej zatrzymanie i zgłoszenie tego
faktu do jądra systemu.
Każdy użytkownik otrzymuje własny i odrębny egzemplarz sh. Program sh wypisuje
monit $ na ekranie, dając znać o swojej gotowości do przyjęcia polecenia
(komendy).
Sh funkcjonuje wg następującego schematu:
wypisuje monit,
czeka na wprowadzenie tekstu z klawiatury,
analizuje wiersz polecenia i znajduje program,
zleca jądru wykonanie programu,
przyjmuje odpowiedź od jądra, ponownie wypisuje monit.
W czasie inicjalizacji powłoki przypisywane są wartości zmiennym powłoki, a
następnie wykonywany jest skrypt systemowy definiujący dalsze elementy
otoczenia powłoki.
Dla sh oraz ksh skrypt ten nosi nazwę .profile, dla csh .login oraz .cshrc.
W zależności od typu interpretera poleceń lista plików inicjacyjnych może być bardzo
rozbudowana. Przykładowo, lista plików inicjacyjnych dla interpretera zsh jest
następująca:
/etc/zprofile
/etc/zlogin
/etc/zshrc
/etc/zshenv
... oraz ich odpowiedniki kropkowe w katalogu domowym użytkownika.
Użytkownik i jego otoczenie
W systemie Unix wyróżnia się dwa rodzaje użytkowników:
*
*
zwykli,
systemowi (superużytkownicy, ang. superusers).
Każdy nowy użytkownik musi być włączony do systemu przez użytkownika
systemowego - pełniącego funkcje administratora systemu.
Do pliku /etc/passwd wpisywane są następujące informacje:
*
nazwa użytkownika,
2
Systemy operacyjne
*
*
*
*
*
*
hasło,
uid (ang. user identification),
gid (ang. group identification),
informacja o użytkowniku,
katalog domowy użytkownika,
nazwa powłoki inicjowanej po otwarciu sesji.
Przykład
Wiersz z pliku /etc/passwd może wyglądać następująco:
labsou8:hasło zakodowane:201:50::/usr/labsou8:/bin/sh
Numer użytkownika uid służy do identyfikacji użytkownika w systemie. Na jego
podstawie jest ustalana przez system nazwa użytkownika oraz jego przywileje.
Najbardziej uprzywilejowany użytkownik ma numer uid = 0. Numer ten nadaje mu
prawa do modyfikacji treści i atrybutów wszystkich plików i katalogów oraz do
przerywania działania dowolnych procesów.
Numer grupy gid jest identyfikatorem grupy, do której może należeć kilku
użytkowników. Łączenie użytkowników w grupy pozwala na nadawanie praw dostępu
do plików tylko dla członków grupy.
Grupa jest wpisywana do pliku /etc/group. Plik ten zawiera następujące informacje o
grupach:
*
*
*
*
nazwa grupy,
hasło grupy,
numer grupy,
listę użytkowników należących do grupy.
Przykład
Wiersz pliku /etc/group
group: :50:labsou1,labsou5,jacek,liza
Do otoczenia użytkownika tworzonego przez powłokę inicjowaną przy otwieraniu
sesji należą zmienne powłoki.
Zmienne powłoki
Wśród zmiennych powłoki wyróżniamy:
zmienne predefiniowane z wartością przypisywaną przy otwarciu sesji;
parametry powłoki, w których gromadzone są
... zobacz całą notatkę
Komentarze użytkowników (0)