Witaj Gościu, jeżeli to czytasz to znaczy że nie jesteś zarejestrowany/zalogowany. Kliknij by się zarejestrować. Rejestracja zajmie mniej niż 30 sekund , a dzięki temu zniknie Ci ten dymek oraz będziesz miał pełne możliwośći personalizacji forum do własnych potrzeb.
Pierwsze spotkanie trzeciego stopnia z Mandriva - poradnik
Pokaż wyniki od 1 do 4 z 4

Temat: Pierwsze spotkanie trzeciego stopnia z Mandriva - poradnik

  1. #1
    Avatar POL_ED
    POL_ED jest nieaktywny Zbanowany admin
    Mężczyzna
    Dystrybucja: MDV2011-32,Debian Lenny, 64studio
    Polska
    Dołączył
    Jun 2005
    Skąd
    Tigerland
    Postów
    12,405
    Wątków
    231
    Downloads
    150
    Uploads
    102
    Siła Reputacji
    1271
    Reputacja
    18333

    Pierwsze spotkanie trzeciego stopnia z Mandriva - poradnik

    Odnośnik do oryginalnej publikacji: Linux SKŁADNIA POLECEŃ

    Wstęp

    Ponieważ możesz mieć kłopoty z edycją plików za pomocą tradycyjnych unixowych edytorków, proponuję zainstalowanie konsolowego programu mc (Midnight Commander). Jest on bardzo podobny do Norton Commandera i powinien wystarczyć w początkowym etapie nauki. Uruchamiamy go poleceniem
    Kod:
    mc
    lub sam edytor
    Kod:
    mcedit nazwa_pliku_do_edycji
    Jeśli okaże się, że program nie jest zainstalowany (polecenie nieznane), to wystarczy go zainstalować (jako root)
    Kod:
    urpmi mc
    Podstawowe funkcje programu mc

    Zapisujemy poprawiony plik klawiszem F2, podglądamy plik F3, edytujemy F4, kopiujemy pliki i katalogi F5, zmieniamy nazwę, przesuwamy pliki i katalogi F6, kończymy pracę F10, kasujemy pliki i katalogi F8, tworzymy nowy plik klawiszami SHIFT F4, a nowy katalog klawiszem F7. Podczas edycji można uruchomić menu wyboru klawiszami lewy ALT o (mała literka o) - pojawi się np. menu szukania i zamiany tekstu. Więcej o programie mc znajdziesz tutaj.

    * * *

    Mając uruchomione "okienka" (np. KDE) czasami będziesz musiał wpisać polecenie tekstowe. Jeżeli nie znajdziesz ikonki o wyglądzie czarnego monitorka, to po prostu wciśnij klawisze lewy ALT F2 i wpisz polecenie konsole lub xterm. Pojawi się okienko z powłoką tekstową, czyli program konsole lub xterm.

    Pseudo-terminale czyli konsole, uaktywniamy wciskając CTRL ALT F1 do F7 (w zależności od sytuacji zobacz też ALT F1 do ALT F7). Konsola nr 7 uzyskana klawiszami CTRL ALT F7 jest uprawniona do utworzenia sesji "okienek". Oczywiście jeżeli uruchomisz drugą sesję "okienek", to zajmie ona konsolę nr 8. Jak tworzyć kilka sesji okienkowych na jednym Linuksie opisałem tutaj.
    Uwaga! Pamiętaj, że konsola tekstowa nr 1 jest miejscem uruchomienia sesji okienkowej, ale sama sesja okienkowa zajmuje konsolę 7. Konsola nr 1 jest wówczas zajęta i nie można do niej wpisywać poleceń.

    Sposoby uzyskania powłoki tekstowej
    • Najprostszym sposobem uzyskiwania powłoki tekstowej jest pod KDE kliknięcie w ikonkę czarnego monitora. Pojawi się okienko z powłoką tekstową, czyli program konsole lub xterm. Niestety, jest to tzw. emulator powłoki i niektóre polecenia shellowe mogą nieprawidłowo działać. Pewność uzyskasz jedynie po wykonaniu poniższych punktów.
    • Powłokę tekstową uzyskasz po wciśnięciu klawiszy CTRL ALT F1 (F2, F3 itd. do F6),
      Uwaga! CTRL ALT F7 jest domyślnie zarezerwowane dla okienek.
      W ten sposób możesz uruchomić jednocześnie kilka powłok np. dla roota, użytkownika itp. (idealne do testowania zmian konfiguracji). Musisz pamiętać, że samo zmienienie aktywnej powłoki nie zamyka poprzedniej.
    • Jako root edytuj plik /etc/inittab (poleceniem mcedit /etc/inittab) i zmień w wierszu: id:5:initdefault: wartość 5 czyli "okienka", na 3 czyli "tekst z funkcjami sieciowymi". Od teraz, po każdym restarcie - system zatrzyma ładowanie na powłoce tekstowej. Aby w takich okolicznościach uruchomić domyślną wersję okienek (KDE, GNOME itp.) wystarczy (po zalogowaniu się) wydać komendę
      Kod:
      startx
      Więcej o startowaniu "okienek" znajdziesz tutaj.
    • Do trybu tekstowego można także przejść wpisując jako root w uruchomione pod "okienkami" okno z powłoką tekstową polecenie
      Kod:
      /sbin/telinit 3
      Jeżeli chcesz ponownie włączyć "okienka" wpisz polecenie
      Kod:
      /sbin/telinit 5
      lub
      Kod:
      telinit 5
      Polecenie
      Kod:
      runlevel
      wyświetli aktualny poziom startowy.

    Sposoby logowania i wylogowania się
    • Możemy logować się po wydaniu polecenia
      Kod:
      login
      i podaniu nazwy użytkownika, a następnie hasła.
    • Jeśli np. przeszliśmy klawiszami CTRL ALT F2 na konsolę tekstową, to na monit typu
      Kod:
      localhost login:
      podajemy nazwę i hasło użytkownika.
    • Ponieważ z przyczyn bezpieczeństwa system może czasami nie zezwolić na logowanie użytkownika root, należy po zalogowaniu się pod zwykłym użytkownikiem (czy uruchomieniu pod "okienkami" konsoli jako zwykły użytkownik), wydać polecenie
      Kod:
      su
      i podać hasło roota (nie będzie widać wpisywanych znaków). Komenda su potrafi uaktywnić konto każdego użytkownika, byle znać jego hasło. Szerzej opisałem ten problem na stronie o msec.
    • Wylogowanie, czyli zwolnienie danej powłoki dokonujemy poleceniem
      Kod:
      logout
      lub
      Kod:
      exit
      Uwaga! Należy pamiętać o obowiązku wylogowania się na koniec pracy, gdyż samo wybranie kolejnej powłoki nie zamyka poprzednio uaktywnionych. Zwróć szczególną uwagę na powłokę roota. Jeżeli jesteś gapowaty to restartuj od czasu do czasu komputer.

    Sposoby przemieszczania się po katalogach

    Przemieszczanie się po strukturze katalogów nie zawsze jest dozwolone każdemu użytkownikowi. Ze względów bezpieczeństwa jest to słuszne, gdyż zabezpiecza kluczowe pliki przed odczytaniem, modyfikowaniem, czy skasowaniem. Dlatego zaloguj się jako root i działaj:
    • Kod:
      cd ..
      czyli cd spacja .. to tak jak cd.. w DOSie, czyli cofam się o jeden poziom w górę
    • Kod:
      cd /
      czyli cd spacja / to tak jak cd \ w DOSie, czyli cofam się na najwyższy katalog.

    Sposoby kończenia pracy systemu
    • Wciśnij klawisze CTRL ALT BACKSPACE aby zabić "okienka" i szybko wciśnij klawisze CTRL ALT DELETE by restartować komputer.
    • Na zakończenie pracy należy wydać komendę
      Kod:
      halt
    • Na zakończenie pracy można też wydać komendę
      Kod:
      poweroff
    • Aby restartować system wpisz
      Kod:
      reboot
    • Aby zamknąć lub restartować system z zaawansowanymi opcjami wybierz
      Kod:
      shutdown
      Przykłady:
      Kod:
      shutdown -h 15
      czyli wyłączenie systemu po 15 sekundach
      Kod:
      shutdown -r now
      czyli natychmiastowy restart systemu
    • I na tym bym mógł skończyć, gdyby nie zabezpieczenia systemu, które w zależności od opcji zabraniają zwykłemu użytkownikowi wyłączania systemu. Czasami będziesz więc zmuszony wklepać su, podać hasło roota i dopiero halt . Po głębszej analizie uznasz sam, że to dobry, choć sprawiający nieco kłopotów pomysł. Inny sposób restartu opisałem tutaj.

    Różne informacje do zapamiętania na początku nauki
    • Plik tekstowy można edytować na wiele sposobów. Najprostszym edytorkiem jest program mc (lub mcedit).
    • Przydaje się polecenie
      Kod:
      less nazwa_pliku_do_wyświetlenia
      które wypisuje zawartość pliku lub inne służące do śledzenia na bieżąco zmian w pliku np. messages polecenie
      Kod:
      tail -f /var/log/messages
    • Polecenie
      Kod:
      ./plik
      czyli . (kropka), / (ukośnik), nazwa pliku - uruchomienie pliku wykonywalnego. Stosowane często podczas instalacji np.
      Kod:
      ./install
      Więcej o uruchamianiu plików wykonywalnych na tej stronie.
    • CTRL Z lub CTRL C (skróty klawiszowe) - zatrzymanie (lub zabicie) wydanego ostatnio polecenia. Więcej na ten temat na stronie o procesach i zadaniach.
    • Czasami wykonasz jakieś polecenie i będziesz chciał wyniki zapisać do pliku txt. Zamiast mozolnie spisywać z monitora literkę po literce, daj prosty znaczek > Jest to tzw. przekierowanie strumienia. Przykład polecenia
      Kod:
      ls -la > /home/antek/Desktop/raport.txt
      Polecenie ls -la wylistuje zawartość aktualnego katalogu i na Desktopie użytkownika antek utworzy za pomocą znaczka > plik raport.txt z listą plików i katalogów.
      Jeżeli chcesz dopisać wyniki do już istniejącego pliku daj dwa znaczki > czyli
      Kod:
      ls -la >> /home/antek/Desktop/raport.txt
      Zamiast operatora > możesz użyć 1> (przyjmowane domyślnie, więc nie ma sensu tak wpisywać).
      Uwaga! Jeśli przekierowanie na standardowe wyjście nie zadziała, wypróbuj przekierowanie na standardowe wyjście błędu za pomocą operatora 2> /dev/null w połączeniu z poleceniem tee (polecenie tee umożliwia drukowanie danych zarówno na standardowe wyjście jak i do pliku), wykorzystaj także znaczek | (dwie kreseczki jedna nad drugą na klawiszu \), który uruchamia potok (połączenie kilku poleceń). Przykład takiego polecenia
      Kod:
      info groupadd 2> /dev/null | tee informacje.txt
      Do pliku wynik.txt możemy zapisać także zawartość pliku
      Kod:
      cat /home/antek/.bashrc > /home/antek/Desktop/wynik.txt
    • Podobnie jak w Windows czy DOS tak i w Linuksie mamy możliwość użycia masek nazw podczas wpisywania szukanych nazw plików oraz katalogów.
      * (gwiazdka) - zastępuje dowolny ciąg znaków
      ? (znak zapytania) - zastępuje jeden znak
      [cośtam] (zbiór znaków w nawiasach kwadratowych) - pozwala wybierać nazwy zawierające znaki z nawiasu.
      Przykłady:
      /home/antek/[oO]? czyli pliki dwuliterowe zaczynające się na małe lub duże o.
      /home/antek/[oO]* czyli pliki o nieokreślonej długości, zaczynające się na małe lub duże o.
    • Nazwy plików i katalogów ukrytych zaczynają się od kropki.
    • Shelle linuksowe rozróżniają duże i małe litery w nazwach plików (katalogów). Można stosować znaki typu -@#^.ale nie można używać znaków ",'*&)(|!`?/\<>;
    • W trakcie wpisywania polecenia możemy skorzystać z klawisza TAB. Ułatwia pracę i automatycznie dopisuje resztę nazwy. Przykładowo po napisaniu drakfire i wciśnięciu TAB otrzymamy polecenie drakfirewall, a po wpisaniu drak i dwukrotnym, szybkim wciśnięciu TAB uzyskasz listę poleceń zaczynających się na drak (a jest ich wiele).
    • Link (dowiązanie, skrót do pliku) w Linuksie nie jest tym samym co w Windows. Przede wszystkim w Linuksie rozróżniamy dwa rodzaje linków:

      • dowiązanie miękkie
      • dowiązania twarde.


      Miękkie, czyli "symlink" (symboliczny link) w schemacie działania jest trochę podobne do tego stosowanego w Windows. Natomiast zrozumienie dowiązania twardego, czyli "hardlinku" (twardego linku) wymaga poznania budowy systemów plików: bloków danych oraz i-węzłów. W skrócie można powiedzieć, że dowiązanie twarde to kolejne, pełnowartościowe łącze do tych samych danych w systemie plików. Prościej mówiąc "hardlink" jest kolejną nazwą tego samego pliku. Jakie daje to praktyczne działanie? Aby definitywnie skasować dane pliku trzeba usunąć wszystkie "hardlinki" tego pliku (natomiast skasowanie skrótu, "symlinku" nie kasuje danych). Dowiązania twarde mają ograniczenia: muszą występować jedynie w obrębie jednego urządzenia (partycji, dysku) oraz powinny należeć do tego samego użytkownika.

      Polecenie tworzące dowiązanie miękkie (symlink) wygląda tak
      Kod:
      ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S85httpd
      i jest zbudowane z czterech członów:
      • ln (link) - czyli polecenie tworzące skrót
      • -s - opcja decydująca, że link ma być typu symlink
      • /etc/rc.d/init.d/httpd - czyli skąd i co (scrypt httpd odpalajacy Apacha)
      • /etc/rc.d/rc5.d/S85httpd - czyli gdzie i z jaką nazwą


      Inne przykłady tworzenia dowiązań twardych i miękkich
      Kod:
      ln -b oryginalna_nazwa  nowa_nazwa
      (backup) tworzy kopie zapasowe plików przed ich usunięciem lub nadpisaniem
      Kod:
      ln -f oryginalna_nazwa  nowa_nazwa
      (force) nadpisuje istniejący plik o takiej samej nazwie
      Kod:
      ln -i oryginalna_nazwa  nowa_nazwa
      (interaktive) oczekuje na potwierdzenie przed usunięciem
      Kod:
      ln -s oryginalna_nazwa  nowa_nazwa
      (symbolic) tworzy dowiązania symboliczne zamiast stałych
      Kod:
      ln -v oryginalna_nazwa  nowa_nazwa
      (verbose) wypisuje nazwę każdego pliku przed utworzeniem dowiązania

      Przypominam, że dowiązanie symboliczne można wykonać wygodnie programem mc, to przykład z konfiguracji Javy dla Netscape:
      Ustaw się na lewym panelu w katalogu /usr/local/netscape/plugins i w prawym panelu na pliku /usr/java/j2rel.4.2_06/plugin/i386/ns7/libjavaplugin_oji.so Mając belkę nad plikiem /usr/java/j2rel.4.2_06/plugin/i386/ns7/libjavaplugin_oji.so wciśnij klawisz F9. Następnie za pomocą klawiszy kierunkowych (strzałek obok klawiatury numerycznej) przejdź na menu PLIK i klawiszem-strzałką w dół otwórz menu PLIK. Wybierz DOWIĄZANIE SYMBOLICZNE. Zatwierdź klawiszem ENTER.
    • Podczas edycji scryptów zauważysz wiersze zaczynajace się od # Jest to bezpieczny sposób umieszczania komentarzy lub bezbolesnego blokowania części scryptu (nie jest to zawsze skuteczne).
    • Szukając materiałów opisujących Linuksa znajdziesz czasami w instrukcji wykonania coś takiego:
      Kod:
      # mount /dev/fd0
      Kod:
      $ mount /dev/fd0
      Pierwsze jest poleceniem wydanym przez roota, drugie przez zwykłego użytkownika. Musisz nauczyć się odróżniać, kiedy znak hasz # oznacza opis komendy, kiedy jest zneutralizowanym (czyli sprowadzonym do roli komentarza) wpisem w skrypcie, a także... kiedy jest wpisem rozpoczynającym scrypt (patrz przykład /etc/rc.d/rc.his).

    Przegląd, listowanie zawartości katalogów

    Po udanym zalogowaniu możesz przeglądać zawartość domowego katalogu. Wydaj polecenie
    Kod:
    ls
    czyli listowanie zawartości obecnego katalogu. Istnieje szereg opcji dla tego polecenia, z których najciekawsze to:
    • ls -a (wyświetlenie wszystkich plików i katalogów, łącznie z ukrytymi)
    • ls -c (sortowanie wg czasu utworzenia, ls -cr czyli w odwrotnym porządku sortowania)
    • ls -t (sortowanie plików wg czasu ich modyfikacji - najnowsze/starsze, ls -tr czyli w odwrotnym porządku sortowania)
    • ls -r (wyświetla wyniki w odwrotnym porządku sortowania)
    • ls -S (sortowanie plików wg rozmiaru, ls -Sr czyli w odwrotnym porządku sortowania)
    • ls -C (wyświetlanie wyników w kolumnach posortowanych pionowo)
    • ls -l (wyświetlanie danych szczegółowych). Popularne jest polecenie ls -la wyświetli także pliki ukryte czyli o nazwie zaczynającej się kropką)
    • ls -R (lista plików w katalogu i podkatalogach)
    • ls -aRl (lista wszystkich plików, także ukrytych, w katalogu i podkatalogach)
    • lsattr (listowania plików z rozszerzonymi atrybutami, zobacz polecenie chattr)
    • ls -B (pliki kopii zapasowych przeważnie kończą się znakiem tyldy ~, ten parametr sprawi, że nie zostaną one wyświetlone)
    • ls -i (wyświetla numer indeksowy i-węzła i numer seryjny każdego pliku)
    • Zliczanie plików w wybranym katalogu za pomocą polecenia ls opisałem na tej stronie. Zobacz też działanie
      Kod:
      echo "masz `ls|wc -l` plikow w katalogu `pwd`"
      Otrzymamy w odpowiedzi ilość plików w aktualnym katalogu. Mamy tu polecenia ls, wc, pwd oddzielone znakiem ` (na klawiszu z tyldą ~). Uwaga na znak cudzysłowia ".
    • Listowanie wyłącznie katalogów
      Kod:
      dir
      Kod:
      vdir
      Kod:
      tree
    • Dla ambitnych przykład bardziej rozbudowanego plecenia listowania:
      Kod:
      ls -l /var/log/messages.[1-5].gz
      lub
      Kod:
      ls -l /var/log/messages.[12345].gz
      Jeżeli mamy w katalogu /var/log pliki o nazwach messages.*.gz , gdzie w miejscu * występują liczby 1, 2, 3, 4, 5 to wspomniane polecenia wyświetlą listę plików posortowanych od 1 do 5

    Tworzenie katalogów i plików

    Czasami będziesz musiał utworzyć sobie podkatalog lub plik. Jest to banalnie proste. Wystarczy polecenie
    • Kod:
      mkdir nazwa_dla_katalogu
      lub
    • Kod:
      touch nazwa_dla_pliku
      i sprawa z pozoru załatwiona. Jednak prawa takiego katalogu lub pliku są uzależnione od widzimisie administratora (poprzez parametry montowania partycji w pliku /etc/fstab oraz narzuconego w systemie poziomu bezpieczeństwa (msec).
    • Po wydaniu polecenia
      Kod:
      mkdir obrazki
      założyłeś jako przykładowy użytkownik antek katalog obrazki o automatycznie nadanych prawach:
      Kod:
      obrazki drwx --- --- antek.antek
      Co to oznacza ten zapis? Literka d z lewej strony informuje, że mamy do czynienia z katalogiem. Następnie mamy w trzech częściach podane trzy prawa:
      r read - czytanie
      w write - pisanie, zmienianie itp.
      x eXrcute - uruchomienie lub dostęp w przypadku katalogu
      Prawa do katalogu ma właściciel antek i grupa antek (własciciel ma pełne prawa, a grupa... o tym dalej).

    Prawa do plików i katalogów

    W systemach sieciowych dawno, dawno temu ktoś wpadł na świetny pomysł podzielenia użytkowników na (od lewej) właściciela, znajomych właściciela czyli grupy i obcych. Nasz katalog obrazki (oraz jego zawartość) może wykorzystywać tylko właściciel. A co z kumpalmi, którzy też chcą tam zaglądać? Czas na zmiany. Służą do tego polecenia
    • Kod:
      chmod
      Kod:
      chown
    • Kod:
      chmod 750 obrazki
      daje prawa
      Kod:
      rwxr-x---
      czyli rwx dla właściciela (liczba 7), rx dla znajomych (liczba 5) oraz zero praw dla obcych.
      Jak łatwo zapamiętać technikę wyliczania wartości od 0 do 7? Mamy, jak już wiesz prawa: rwx. Prawo r to wartość 4, prawo w to wartość 2 i prawo x to wartość 1. Suma tych liczb da nam wartość ostateczną, gotową do wpisania w poleceniu chmod.
    • Kod:
      chown antek.kazik obrazki
      wyznacza właściciela i następnie znajomych (grupę) właściciela. Wszyscy z grupy użytkownika kazik (których z kolei on wyznaczy) będą mogli wykonać w katalogu obrazki to, na co zezwolą ustawienia po poleceniu chmod. Niezbyt skomplikowane nie?
    • Czasami potrzeba rekurencyjnie, czyli z podkatalogami i ich zawartością jednolicie nadać prawa. Do tego służy opcja -R czyli np.
      Kod:
      chown -R antek.kazik obrazki
      lub
      Kod:
      chmod -R 764 obrazki

    Najczęściej stosowane przykłady polecenia chmod:
    • chmod 744 nazwa (rwx r-- r--)
    • chmod 644 nazwa (rw- r-- r--)
    • chmod 750 nazwa (rwx r-x ---)
    • chmod 711 nazwa (rwx --x --x)

      7 daje rwx
      6 daje rw-
      5 daje r-x
      4 daje r--
      1 daje --x
      2, 3 nie stosuje się w praktyce

      Celowo nie opisałem w tej części ustawiania bitu suid oraz sgid. Zapraszam tutaj.

    * * *

    Jeżeli interesuje Ciebie bardziej zaawansowany wykład o prawach do plików i katalogów to proszę. Do określania praw dostępu do plików i katalogów służy program chmod. Jego parametry można podzielić na trzy elementy:
    • Kogo dotyczą zmiany
      u - właściciela
      g - członków grupy, do której należy plik
      o - innych, czyli reszty userów tzw. obcych
      a - wszystkich użytkowników

      Przykład parametru u w poleceniu
      Kod:
      chmod u+rx nazwa_pliku
      W tym przykładzie u czyli właściciel, ma mieć prawa: r (czytanie), x (uruchomienie). Reszta praw taka jaka była dotychczas.
    • Jakie prawa
      r - odczyt
      w - zapis
      x - wykonanie
      t - sticky
      s - suid/sgid . Nie polecam na początku nauki.

      Przykład parametrów rx w poleceniu
      Kod:
      chmod u=rx nazwa_pliku
      W tym przykładzie u czyli właściciel, ma mieć prawa: r (czytanie), x (uruchomienie). Reszta praw dla właściciela została wyzerowana bo użyto znak (=). Grupa oraz inni mają prawa takie jak dotychczas.
    • Jakie zmiany (dodawanie lub cofnięcie)
      + (znak plus) - przyznanie praw
      - (znak minus) - zabranie praw
      = (znak równości) - określenie, że nadawane uprawnienia są kompletne.

      Przykład parametru = w poleceniu
      Kod:
      chmod u=rx nazwa_pliku
      W tym przykładzie u czyli właściciel, ma mieć prawa: r (czytanie), x (uruchomienie). Reszta praw dla właściciela została wyzerowana bo użyto znak (=). Grupa oraz inni mają prawa takie jak dotychczas.
    • Przykłady poleceń:
      Kod:
      chmod a-w nazwa_pliku
      czyli cofnięcie (-) wszystkim (a) prawa do zapisu (w).
      Kod:
      chmod o=r nazwa_pliku
      czyli nadanie (=) obcym (o) praw do odczytu (r). Pozostałe prawa dla obcych (o) są cofnięte do zera, bo użyto znak (=). Właściciel i grupa mają dotychczasowe prawa.
      Kod:
      chmod u=rx nazwa_programu
      czyli nadanie (=) dla właściciela (u) praw do odczytu i wykonania (rx). Pozostałe prawa dla właściciela (u) są cofnięte do zera, bo użyto znak (=). Obcy i grupa mają dotychczasowe prawa.
      Kod:
      chmod a+x,u+s nazwa_programu
      czyli złozone polecenie składające się z dwóch członów oddzielonych przecinkiem. Nadanie (+) praw dla wszystkich (a) do wykonania (x) oraz ustawienie bitu suid. Pozostałe prawa są dotychczasowe.

    * * *
    Kiedy zakończysz instalację systemu i programów sprawdź, w jakich plikach masz ustawione bity SUID, SGID (SetUID, SetGID). Określają one prawa użytkownika (SUID) lub grupy (SGID) do wykonania programu z prawami roota. Nie jest wskazane, abyś samodzielnie (w trakcie nauki) nadawał takie uprawnienia, gdyż dla wprawnego włamywacza nawet gra działajaca z prawami administratora może pomóc w przejęciu kontroli nad systemem.

    Nadawanie prawa suid, sgid oraz sticky robimy poleceniem chmod. Nietypowością jest czterocyfrowy zapis parametrów tego polecenia. Pierwszy z lewej to nasz znak nadania
    • Kod:
      chmod 1751 nazwa_pliku
      czyli 1 - nadanie bitu sticky, czyli prawa rwx r-x --t
    • Kod:
      chmod 2751 nazwa_pliku
      czyli 2 - nadanie bitu SGID, czyli prawa rwx r-s --x
    • Kod:
      chmod 4751 nazwa_pliku
      czyli 4 - nadanie bitu SUID, czyli prawa rws r-x --x
    • Kod:
      chmod u+s nazwa_pliku
      czyli nadanie bitu SUID, pozostałe prawa bez zmian
    • Kod:
      chmod g+s nazwa_pliku
      czyli nadanie bitu SGID, pozostałe prawa bez zmian
    • Kod:
      chmod +t nazwa_pliku
      czyli nadanie bitu sticky, pozostałe prawa bez zmian

    Usunięcie flagi SUID, SGID, sticky
    • Kod:
      chmod 751 nazwa_pliku
      czyli wybrałeś trzycyfrowy zapis polecenia chmod
    • Kod:
      chmod u=rx nazwa_pliku
      znak = wykasuje nadane już prawo SUID, SGID, sticky.
    • Kod:
      chmod -s nazwa_pliku
      jednoczesne usunięcie bitów SUID, SGID
    • Kod:
      chmod u-s nazwa_pliku
      usunięcie bitu SUID
    • Kod:
      chmod g-s nazwa_pliku
      usunięcie bitu SGID
    • Kod:
      chmod -t nazwa_pliku
      czyli usunięcie bitu sticky, pozostałe prawa bez zmian

    * * *
    Odrobina wyjaśnień: czasami zdarza się, że trzeba uruchomić program, który do poprawnego działania wymaga uruchomienia przez roota. Aby umożliwić innym użytkownikom uruchamianie takiego programu (np. ping) trzeba uaktywnić prawo dostępu SUID poleceniem
    Kod:
    chmod 4755 /bin/ping
    zwróć uwagę na liczbę 4. Natomiast SGID działa nieco inaczej: programy opatrzone tym prawem dostępu są wykonywane z prawami dostępu grupy do której należą zamiast praw grupy, w skład której wchodzi użytkownik je uruchamiający. Prawo SGID jest oznaczane cyfrą 2 i polecenie nakładające je wygląda następująco
    Kod:
    chmod 2755 /usr/local/backups/plik
    Po wykonaniu listowania (poleceniem ls -l) zobaczymy w miejscu praw uruchomienia (x) literkę s. Prawa dostępu do plików SUID zawierają s tam, gdzie powinno znajdować się pierwsze (z lewej) x, a w przypadku plików SGID literka s, zamiast drugiego x.
    Warto usunąć bity SUID, SGID wobec plików, które nie muszą działać z prawami roota. Ale mam jedną uwagę: jeżeli nie instalowałeś gierek, to dając wysoki poziom bezpieczeństwa (w trakcie instalacji) ustaliłeś automatycznie na minimalnym poziomie obecność tych bitów w systemie. Pamiętaj także o narzędziu sudo, które umożliwia zwykłemu userowi uruchomienie plików dostępnych tylko rootowi.

    Sprawdzenie obecności bitów SUID
    • Kod:
      find / -type f -perm -4000 -exec ls -l '{}' \;|more
      lub z tworzeniem pliku raportu wykaz_suid.txt w katalogu /home/antek
      Kod:
      find / -user root -perm -4000 >/home/antek/wykaz_suid.txt
    • wówczas zdejmowanie atrybutu odbędzie się z wykorzystaniem pliku /home/antek/wykaz_suid.txt za pomocą polecenia
      Kod:
      chmod -s `cat /home/antek/wykaz_suid.txt`
      (znak ` jest na klawiszu z tyldą ~) lub po prostu
      Kod:
      find / -perm +4000

    Sprawdzenie obecności bitów SGID
    • Kod:
      find / -type f -perm -2000 -exec ls -l '{}' \;|more
      lub po prostu
      Kod:
      find / -perm +2000

    * * *

    Obserwowałem mój system pod względem obecności bitów SUID i stwierdziłem, że są one niezbędne na partycji montowanej jako /usr (konkretnie w podkatalogach: /usr/bin, /usr/lib, /usr/sbin). Co to oznacza w praktyce? Że można zaryzykować usunięcie ich z plików mieszczących się w innych katalogach np. /var, /var/www, /var/ftp.

    Jako ciekawostkę podam treść e-maila (z dnia 04.09.2002) od Mandrake-Security, w którym zaleca się użytkownikom wersji 7.2-8.2 usunięcie bitu setuid z pliku linuxconf poleceniem
    Kod:
    chmod u-s /bin/linuxconf
    (...) by default, Mandrake Linux ships linuxconf as setuid root in versions 7.2 through 8.2. Successful exploitation will yield a root shell. MandrakeSoft recommends that all users take steps and remove the setuid bit from linuxconf. This can be done by issuing, as root, the following command: chmod u-s /bin/linuxconf . For users of Linux-Mandrake 7.2, the correct location of the linuxconf executable is /sbin (...)






    Reputacja przyznana temu postowi
    Łącznie punktów reputacji: 190

    Komentarze:
     tuptuś  zgadza się   już mi sie podoba, przykeić bo na razie nie mam czasu na dokładną lekturę
     bolwerk  zgadza się   Jesteś Wielki
     dudik  zgadza się   Zawsze warto mieć pod ręką taki przewodnik
     paseczek  zgadza się   pisząc jesteś Wielki, bym Cię obraził za Twoje skrypty, opisy i pomoc jaką udzielasz każdemu na Forum. Jesteś niezastąpiony.
     suncez  zgadza się   Za wielki wkład w działanie Forum
     Odysseusz  zgadza się   Super - wszystko razem tylko korzystać!
    Ostatnio edytowane przez Hagal ; 23.10.2010 o 10:55 Powód: korekta treści, zmiana układu opisu, poprawki "ó" itp.
    Proszę o używanie przycisków reputacji
    Jak stosować vbcode


    Jabber : [jabber]pol_ed[/jabber]

  2. Panna Google
    Panna Google jest aktywna
    Avatar Panny Google

    Dołączył
    01-05-2004
    Skąd
    Internet
    Postów
    999
    Pochwał
    159

    Nie lubisz reklam? Zarejestrowani ich nie widzą! Rejestracja





  3. #2
    Avatar POL_ED
    POL_ED jest nieaktywny Zbanowany admin
    Mężczyzna
    Dystrybucja: MDV2011-32,Debian Lenny, 64studio
    Polska
    Dołączył
    Jun 2005
    Skąd
    Tigerland
    Postów
    12,405
    Wątków
    231
    Downloads
    150
    Uploads
    102
    Siła Reputacji
    1271
    Reputacja
    18333

    Odp: Pierwsze spotkanie trzeciego stopnia z Mandriva - poradnik

    Wyszukiwanie w systemie

    Czasami będziesz musiał znaleźć plik. Będziesz znał np. część jego nazwy. Użyj wówczas polecenia
    Kod:
    find
    a w nazwę pliku wpisz poznane już znaki ?*. Polecam stronę (mam ją w swoim archiwum).
    Przykład polecenia
    • Kod:
      find /etc -name '*.conf' -print
      Wyjaśnienia
      • find /etc -name czyli przeszukaj katalog /etc wg nazw
      • '*.conf' w nazwie wyszukuj plików o dowolnej treści, ale z zakończeniem .conf (znaczek ' jest na klawiszu z cudzysłowem ")
      • -print wyniki wydrukuj na domyślnym urządzeniu, czyli ekranie
    • Jeżeli chcemy znaleźć program spell w katalogu /usr/bin wystarczy napisać
      Kod:
      find /usr/bin -name spell -print
    • Można również użyć polecenie find do znalezienia plików poprzez datę, jak również wprowadzić przedział dat. Jeżeli chcemy znaleźć wszystkie programy w katalogu /usr/bin, które nie były wykorzystane przez ostatnie 100 dni można użyć polecenia
      Kod:
      find /usr/bin -type f -atime +100 -print
      Aby znaleźć pliki, które zostały utoworzone lub zmodyfikowane w ciągu ostatniego dnia można napisać
      Kod:
      find /usr/bin -type f -mtime -1 -print
    Zarządzanie katalogami i plikami
    • Wielkość katalogów wraz z podkatalogami wyświetli polecenie
      Kod:
      du -sh *
    • Natomiast ilość wolnego miejsca na dysku np. /dev/hda zobaczysz po wpisaniu polecenia
      Kod:
      df /dev/hda
    • Usuwanie katalogów: załatwi polecenie
      Kod:
      rmdir katalog
      Niestety taki katalog musi być pusty. Usunięcie pełnego wymaga opcji
      Kod:
      rm -r katalog
      ale będziemy musieli potwierdzać usuwanie. Aby tego uniknąć możemy użyć opcji f
      Kod:
      rm -rf katalog
      Uwaga! Polecenie to jest brutalne i szybkie. Patrz co nim chcesz usunąć, gdyż pomyłka pod rootem może kosztować nawet utratę całej zawartości dysku (gdy zamiast rm -rf /katalog wpiszesz nieprawidłowo: rm -rf / katalog (czyli po / wciśniesz błędną spację i dopiero nazwę katalog).
    • Plik usuniemy poleceniem
      Kod:
      rm nazwa_pliku
    WYKAZ POLECEŃ DO BEZWZGLĘDNEGO OPANOWANIA

    Uzyskiwanie pomocy
    • apropos [Wybieranie stron podręcznika zawierających słowo kluczowe]
    • whatis [Podobnie jak apropos lecz tylko wobec pełnych wyrazów]
    • info [Pomoc na temat danego polecenia]
    • man [Wywołanie podręcznika pomocy]
    Ułatwienia wykonywania zadań
    • alias oraz unalias [OPIS] [Tworzenie nazw zastępczych dla długich poleceń]
    • type [Informacje o typie polecenia]
    Operacje na plikach i katalogach
    • cd [Zmiana katalogu]
    • chmod [Zmiana uprawnień]
    • chown [Zmiana właściciela pliku i (lub) grupy]
    • cp [Kopiowanie]
    • ls[Listowanie zawartości katalogu]
    • mkdir [Tworzenie katalogu]
    • mv [Przenoszenie lub zmiana nazwy]
    • rm [Usuwanie plików]
    • rmdir [Usuwanie katalogów]
    • pwd [Wyświetlenie ścieżki do bieżącego katalogu. "Gdzie ja jestem?"]
    • touch [Tworzenie pustego pliku] . Można zmieniać datę modyfikacji pliku, np: touch -t 11221000 plik - na godzinę 10:00, 22 listopada 2003 roku.
    Znajdowanie plików...
    • find [OPIS] [... na podstawie kryteriów, takich jak nazwa, rozmiar itp]
    • locate [... w utworzonym wcześniej spisie (bazie danych o plikach)]
    • whereis [... w katalogach]
    • which [Daje pełną ścieżkę do danego pliku, o ile został umieszczony w katalogach wymienionych w definicji zmiennej]
    Przetwarzanie informacji tekstowych
    • cat [Wyświetlanie i ew. łączenie plików tekstowych] . Aby przejrzeć zawartość krótkiego pliku: cat plik.txt . Numerowanie linii przez dodanie opcji -n czyli: cat -n plik.txt . Można wyświetlić kilka plików na raz: cat -n plik1.txt plik2.txt lub cat -n plik.* W celu złączenia kilku plików w jeden należy się posłużyć operatorem przekierowania potoku >> czyli: cat plik1.txt plik2.txt >> plik3.txt
    • cut [Wycinanie fragmentów wierszy pliku tekstowego]
    • dd [Kopiowanie z ew. konwersją danych tekstowych]
    • diff [Porównanie zawartości plików tekstowych]
    • grep [OPIS] [Znajdowanie ciagów znaków]
    • more [Przeglądanie danych ekran po ekranie w dół]
    • less [Przeglądanie danych ekran po ekranie w dół i górę tekstu , przydatne przy długim listingu plików np. ls /usr/bin | less] . Do przeglądania plików skompresowanych można użyć polecenia: zless.su
    • tail [np: tail -f nazwapliku - śledzenie na bieżąco zmian w pliku]
    • Ipr [Drukowanie]
    • sed [Edycja strumieniowa tekstu]
    • vi [Potężny edytor tekstu]
    • sort [Sortowanie wierszy w plikach tekstowych]
    Archiwizowanie i kompresowanie plików
    • gzip oraz gunzip [OPIS] [Pakowanie pliku]
    • tar [OPIS] [Tworzenie archiwum z wielu katalogów bez pakowania]
    • rpm [OPIS] [Tworzenie archiwum przy pomocy programu RPM]
    Zarządzanie procesami
    • bg [Uruchomienie w tle przerwanego procesu]
    • fg [Uruchomienie na pierwszym planie przerwanego procesu]
    • free [Wyświetlenie wolnej i zajętej pamięci]
    • halt [Wyłączenie systemu]
    • shutdown [Zatrzymanie systemu]
    • reboot [Zatrzymanie i ponowne uruchomienie systemu]
    • kill [Zabicie procesu]
    • ldd [Wyświetlenie nazw bibliotek potrzebnych do uruchomienia programu]
    • nice [Uruchomienie procesu z określonym priorytetem]
    • ps [OPIS][Lista działających procesów]
    • env oraz printenv [Wyświetlenie zmiennych środowiska]
    • top [OPIS][Lista procesów najbardziej absorbujących pamięć]
    • uname [Informacje o systemie]
    Zarządzanie użytkownikami
    • useradd [OPIS] [dodawanie userów]
    • groups [Wyświetlenie przynależności użytkownika do grup]
    • id [Wyświetlenie identyfikatora użytkownika i jego grupy]
    • passwd [Zmiana hasła]
    • chsh [Zmiana powłoki]
    • su [Przejęcie uprawnień superużytkownika]
    Zarządzanie systemem plików
    • fdisk [OPIS] [Zarządzanie partycjami]
    • mount oraz unmount [OPIS] [Montowanie/odmontowanie urządzeń typu dyski, CD-ROM, stacje dyskietek. Dobry link opisujący polecenie. Mam go w swoim archiwum1 archiwum2]
    • df [Informacja o zajętości zamontowanych urządzeń pamięci masowej]
    • du [Informacja o zajętości urządzenia lub objętości plików]
    • fdformat [Niskopoziomowe formatowanie dyskietek]
    • fsck [Sprawdzenie i ew. naprawa systemu plików]
    INNE
    • dmesg [Odtworzenie komunikatów startowych]
    • ./nazwa_pliku [Uruchomienie pliku wykonywalnego]
    * * *

    Musisz wiedzieć, że polecenia tekstowe np. reboot to nic innego, jak... pliki. Uruchamiając polecenia, uruchamiasz pliki wykonywalne lub skrypty zapisane w plikach tekstowych. W katalogu /sbin spotkać można starych znajomych: killall5 (zabija wszystkie aktywne logowania), linuxconf (okienkowe narzędzie do konfiguracji, wbrew pozorom trudne), reboot, poweroff, halt, shorewall (scrypt do konfigurowania iptables), itd. Mając Mandrake 9.x, 10, warto zajrzeć do /usr/sbin by uruchomić okienkowe moduły znane z KDE, do których uruchomienia nie zawsze potrzeba KDE, a nawet zwykłych X-ów (w nowych wydaniach Mandriva nazwy konfiguratorów mogą być inne).
    Uwaga! nie ma wielu z tych plików w Mandrake 6.x, 7.x, 8.x. Więcej o Mandrake Control Center znajdziesz tutaj.

    Skróty klawiszowe przydatne podczas pracy w shellu.
    • SHIFT PageUp - przewijanie ekranu w górę oraz w dół (PageDown)
    • CTRL a - przenosi kursor na początek wiersza (e przenosi na koniec)
    • CTRL d - kasowanie (uwaga ten skrót także wylogowuje)
    • CTRL u - kasowanie całego wiersza poleceń
    • CTRL k - wycięcie tekstu do schowka
    • CTRL y - wklejenie tekstu ze schowka
    • CTRL l - jak polecenie clear
    • CTRL r - szukamy w historii poleceń polecenia na r
    • strzałki kierunkowe dół, góra - historia poleceń
    • cd /opt/net TAB dopisze treść zlecenia (nazwę pliku), czyli w tym wypadku netscape.
      Uwaga! Podczas edycji pliku w edytorku, należy używać skrótów właściwych dla danego edytorka.
    * * *

    sudo, czyli program pozwalający wybranemu, zwykłemu userowi na uruchomienie innego, dowolnego programu dostępnego wyłącznie dla roota został opisany na tej stronie.

    Uwagi:
    Wszelkie prawa nie są zastrzeżone. Kopiowanie, używanie i przerabianie - są jak najbardziej wskazane, ale... na swoją odpowiedzialność.


    DODATKI
    vorlog wykopał link do opisu komend


    =====================================
    =====================================
    Zobacz - wykaz poleceń konsolowych w linuksie.
    ======================================
    ======================================


    ================================================== ========================
    Specjalne podziękowania dla sunceza za korektę i nadanie temu tekstowi właściwej szaty graficznej.
    /
    POL_ED





    Reputacja przyznana temu postowi
    Łącznie punktów reputacji: 158

    Komentarze:
     vorlog  zgadza się   to się nawet w innych Linuksach przydaje
     bear  zgadza się   Bardzo fajne. Zrobiłe kopie, będę się uczył w wolnych chwilach.
     pawelst81  zgadza się   Kawał dobrej roboty Panowie
     mr_x  zgadza się   bardzo ładnie
    Attached Files
    Ostatnio edytowane przez POL_ED ; 11.10.2009 o 21:00 Powód: korekta treści, układu opisy itp.
    Proszę o używanie przycisków reputacji
    Jak stosować vbcode


    Jabber : [jabber]pol_ed[/jabber]

  4. #3
    Avatar suncez
    suncez jest nieaktywny Super Moderator
    Mężczyzna
    Dystrybucja: Debian Mandriva
    Dołączył
    Aug 2004
    Postów
    3,195
    Wątków
    142
    Downloads
    11
    Uploads
    0
    Siła Reputacji
    281
    Reputacja
    3732

    Odp: Pierwsze spotkanie trzeciego stopnia z Mandriva

    Odwalam brudną robotę a POL_ED zbiera pochwały, nie ma sprawiedliwości na tym świecie Teraz serio. Poprawiłem i trochę uzupełniłem powyższy opis w miarę możliwości głównie fizycznych, uff... Wszelkie uwagi, propozycje dodatków do opisu (najlepiej w postaci gotowców) mile widziane. Proszę o informacje przez PW do mnie lub POL_EDa





    Reputacja przyznana temu postowi
    Łącznie punktów reputacji: 343

    Komentarze:
     redflow  zgadza się   Sprawiedliwość ma wolne, w zastępstwie jest redflow
     darcnet  zgadza się   żeby się nikt nie żalił
     POL_ED  zgadza się   za wkład pracy i wieloletnią współpracę
     pawelst81  zgadza się   Kawał dobrej roboty Panowie
     dudik  zgadza się   Tylko się nie znia
     mr_x  zgadza się   bardzo ładnie
     tuptuś  zgadza się   popieram przedmówców i Twoje wysiłki
     bolwerk  zgadza się   A czarną robotę
    Ostatnio edytowane przez Hagal ; 23.10.2010 o 10:57
    Regulamin Forum - lektura obowiązkowa Pytania - jak mądrze je zadawać vbcode - jak formatować tekst w postach Reputacja - jak używać przycisków reputacji

  5. #4
    Avatar POL_ED
    POL_ED jest nieaktywny Zbanowany admin
    Mężczyzna
    Dystrybucja: MDV2011-32,Debian Lenny, 64studio
    Polska
    Dołączył
    Jun 2005
    Skąd
    Tigerland
    Postów
    12,405
    Wątków
    231
    Downloads
    150
    Uploads
    102
    Siła Reputacji
    1271
    Reputacja
    18333

    Odp: Pierwsze spotkanie trzeciego stopnia z Mandriva - poradnik

    Opcje polecenia lspci
    Kod:
    Usage: lspci [<switches>]
    
    Basic display modes:
    -mm        Produce machine-readable output (single -m for an obsolete format)
    -t        Show bus tree
    
    Display options:
    -v        Be verbose (-vv for very verbose)
    -k        Show kernel drivers handling each device
    -x        Show hex-dump of the standard part of the config space
    -xxx        Show hex-dump of the whole config space (dangerous; root only)
    -xxxx        Show hex-dump of the 4096-byte extended config space (root only)
    -b        Bus-centric view (addresses and IRQ's as seen by the bus)
    -D        Always show domain numbers
    
    Resolving of device ID's to names:
    -n        Show numeric ID's
    -nn        Show both textual and numeric ID's (names & numbers)
    -q        Query the PCI ID database for unknown ID's via DNS
    -qq        As above, but re-query locally cached entries
    -Q        Query the PCI ID database for all ID's via DNS
    
    Selection of devices:
    -s [[[[<domain>]:]<bus>]:][<slot>][.[<func>]]    Show only devices in selected slots
    -d [<vendor>]:[<device>]            Show only devices with specified ID's
    
    Other options:
    -i <file>    Use specified ID database instead of /usr/share/pci.ids.gz
    -p <file>    Look up kernel modules in a given file instead of default modules.pcimap
    -M        Enable `bus mapping' mode (dangerous; root only)
    
    PCI access options:
    -A <method>    Use the specified PCI access method (see `-A help' for a list)
    -O <par>=<val>    Set PCI access parameter (see `-O help' for a list)
    -G        Enable PCI access debugging
    -H <mode>    Use direct hardware access (<mode> = 1 or 2)
    -F <file>    Read PCI configuration dump from a given file
    Opcje przydatne przy podawaniu wyników na forum
    Kod:
    lspci -nnk
    Ostatnio edytowane przez POL_ED ; 26.12.2010 o 19:32
    Proszę o używanie przycisków reputacji
    Jak stosować vbcode


    Jabber : [jabber]pol_ed[/jabber]

Informacje o wątku

Users Browsing this Thread

Aktualnie 1 użytkownik(ów) przegląda ten wątek. (0 zarejestrowany(ch) oraz 1 gości)

Uprawnienia

  • Nie możesz zakładać nowych wątków
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •