Kartkówka
Prawa dostępu w odniesieniu do katalogów
Komendy chmod (laboratorium 2) można używać także w odniesieniu do katalogów. W przykładach poniżej przedstawiono znaczenie praw dostępu dla katalogów. W lewej kolumnie znajduje się przykład katalogu, na którym przeprowadzono ćwiczenia zaprezentowane w prawej kolumnie.
> ls -agoR 2katalog/ total 24 drwxr-sr-x 3 512 Nov 02 12:26 . drwxr-sr-x 3 512 Nov 02 12:02 .. drwxr-sr-x 3 512 Nov 02 12:27 3katalog -rw-r--r-- 1 0 Nov 02 12:01 a -rw-r--r-- 1 0 Nov 02 12:02 b -rw-r--r-- 1 0 Nov 02 12:02 c 2katalog/3katalog: total 24 drwxr-sr-x 3 512 Nov 02 12:27 . drwxr-sr-x 3 512 Nov 02 12:26 .. -rw-r--r-- 1 0 Nov 02 12:27 .en -rw-r--r-- 1 0 Nov 02 12:27 .pro drwxr-sr-x 2 512 Nov 02 12:27 Rozne 2katalog/3katalog/Rozne: total 16 drwxr-sr-x 2 512 Nov 02 12:27 . drwxr-sr-x 3 512 Nov 02 12:27 .. |
> > chmod u-x 2katalog/ > cd 2katalog/ 2katalog/: Permission denied. > ls 2katalog/ 3katalog a b c > touch 2katalog/aa touch 2katalog/aa:The file access permissions do not allow the specified action. touch: 0652-048 Cannot change the modification time on 2katalog/aa. > rm 2katalog/a rm: 2katalog/a: The file access permissions do not allow the specified action. > ls -go 2katalog/ ls: 0653-345 2katalog/a: Permission denied. ls: 0653-345 2katalog/b: Permission denied. ls: 0653-345 2katalog/c: Permission denied. ls: 0653-345 2katalog/3katalog: Permission denied. total 0 > cd 2katalog/3katalog 2katalog/3katalog: Permission denied. > chmod u+x 2katalog/ > > > > chmod u-r 2katalog/ > cd 2katalog/ > ls ls: 0653-343 Cannot read .. > touch aa > ls aa aa > ls 3katalog/ Rozne > rm aa > cd .. > chmod u+r 2katalog/ > > > > chmod u-w 2katalog/ > cd 2katalog/ > ls -go total 8 drwxr-sr-x 3 512 Nov 02 12:27 3katalog -rw-r--r-- 1 0 Nov 02 12:01 a -rw-r--r-- 1 0 Nov 02 12:02 b -rw-r--r-- 1 0 Nov 02 12:02 c > rm a rm: 0653-609 Cannot remove a. The file access permissions do not allow the specified action. > cd 3katalog/ > ls Rozne > touch a > ls a a > rm a > cd .. > cd .. > chmod u+w 2katalog/ |
W przypadku, gdy użytkownik nie ma prawa wykonywania (x) dla danego katalogu, nie może między innymi:
· usunąć plików w tym katalogu,
· uczynić tego katalogu, ani jego podkatalogów, katalogiem bieżącym.
Jeśli użytkownik nie ma prawa czytania dla danego katalogu, nie może:
· wyświetlić jego zawartości.
Jeśli użytkownik nie ma prawa czytania dla danego katalogu, nie może:
· usuwać plików w katalogu.
Zmiana programu z laboratorium 2
Program z laboratorium 2 należy zmienić tak, jak poniżej.
> cat pro.c #include <stdio.h> main() { int i; for (i=1;i<50000;i++) { fprintf(stdout, "STDOUT\n"); fprintf(stderr, "STDERR\n"); } exit(0); } > cc -o pro pro.c |
> ./pro 2>&a > cat a STDERR STDERR STDERR STDERR ... STDOUT STDOUT > |
Komunikaty STDOUT i STDERR nie są wyświetlane na przemian, lecz blokami. Wielkość tych bloków zależy od buforów przeznaczonych dla strumieni: standardowego błędów i standardowego wyjściowego.
Polecenia
calendar — polecenie wyświetlające linie z pliku calendar. Wyświetla tylko te linie, które zawierają dzisiejszą i jutrzejszą datę. Rozpoznaje następujące formaty dat: 7/*, 7 December, 7/12, * 7 or DEC. 7 . W piątek wyświetla także plan na sobotę, niedzielę i poniedziałek.
> cat calendar 98/11/04 coś do zrobienia. 11/03 dzień wcześniej 11/05 znowu coś do zrobienia też coś do zrobienia 11/04 11.04 nie chce mi sie z tobą gadać... 11/06 dwa dni później dzień później Nov 5 wszystkie dni listopada nie działa Nov * czwarty dzień każdego miesiąca */04 |
> date Wed Nov 4 10:01:55 NFT 1998 > calendar 98/11/04 coś do zrobienia. 11/05 znowu coś do zrobienia też coś do zrobienia 11/04 dzień później Nov 5 czwarty dzień każdego miesiąca */04 > |
banner — wypisuje dużymi literami ciąg znaków. Na przykład:
> banner Pisanie ###### # # # #### ## # # # ###### # # # # # # ## # # # ###### # #### # # # # # # ##### # # # ###### # # # # # # # # # # # # ## # # # # #### # # # # # ###### > |
file — polecenie file określa typ pliku. Flaga -f: pozwala na wczytanie nazw plików z pliku. Przykłady:
> ls > a > file -f a 2katalog: directory a: ascii text cmd: ascii text cmd2: commands text nowyPlik: ascii text plik: empty plik1: ascii text plik2: ascii text pro: executable or object module not stripped pro.c: c program text val: ascii text > file a a: ascii text > |
Plik .login
Komendy z pliku o nazwie .login, znajdującego się w katalogu domowym użytkownika, są wykonywane zawsze podczas logowania użytkownika do systemu. Przykład (po lewej plik .login, po prawej rezultaty działania podczas logowania):
> cat .login banner CZĘŚĆ date > |
##### ####### ####### ##### ##### # # # # # # # # # # # # # # # ##### ##### # # # # # # # # # # # # # # ##### ####### ####### ##### ##### Wed Nov 4 10:50:52 NFT 1998 > |