Zrozumienie uprawnień Linuksa i użycie CHMOD

Zrozumienie uprawnień Linuksa i użycie CHMOD

Od kilku miesięcy brałem kurs Linux i jednym aspektem Linux, który zawsze mnie mylił, było to, jak uprawnienia działały. Na przykład, kiedy kiedyś przesyłać plik do mojego serwera WWW i otrzymując błąd, mój hoś.

Nie miałem pojęcia, co to znaczyło, mimo że zmiana uprawnień rozwiązała problem. Teraz zdałem sobie sprawę, że uprawnienia Linux nie są aż tak skomplikowane, po prostu musisz zrozumieć system. W tym artykule opowiem o uprawnieniach Linux na wysokim poziomie i pokażę, jak używać polecenia CHMOD do zmiany uprawnień dla plików i folderów.

Spis treści

    Uprawnienia i poziomy Linux

    W Linux istnieją w zasadzie trzy uprawnienia, o które normalnie będziesz musiał się martwić: czytaj, pisz i wykonuj. Wszystkie trzy z nich są dość oczywiste. Teraz, gdy te uprawnienia są stosowane do pliku, są one stosowane na poziomach.

    Istnieją trzy poziomy uprawnień w Linux: właściciel, grupa i inne. Właściciel jest użytkownikiem, który jest właścicielem pliku/folderu, grupa obejmuje innych użytkowników w grupie pliku, a inni po prostu reprezentuje wszystkich innych użytkowników, którzy nie są właścicielem lub w grupie.

    Odczyt, zapisz i wykonuj są reprezentowane jako znaki symboliczne lub jako numery ósemkowe. Na przykład, jeśli wykonasz LS -L w katalogu z niektórymi plikami, zobaczysz symboliczną reprezentację postaci uprawnień.

    Jeśli widzisz deszcz w miejscu listu, oznacza to, że właściciel, grupa lub wszyscy inni użytkownicy nie mają tego uprawnienia. W powyższym przykładzie właściciel, grupa i wszyscy inni przeczytali pisma i wykonują uprawnienia.

    Jeśli spojrzysz na dane wyjściowe z polecenia LS -L, zauważysz, że mój plik tekstowy praktyki ma następujące uprawnienia:

    -RW-RW-RW-

    Oznacza to, że wszyscy mają tylko uprawnienia do odczytu/zapisu dla pliku. Oto kolejny przykład:

    drwxr-r--

    Patrząc na pierwszy kawałek, widzimy, że uprawnienia dotyczą katalogu. Właściciel ma uprawnienia do odczytania/zapisu/wykonania, ale grupa i inni użytkownicy mają tylko uprawnienia do odczytu.

    Reprezentacja liczb awiarnych

    W ten sposób wyświetlane są uprawnienia w Linux za pomocą symboli. Drugim sposobem reprezentowania tych samych uprawnień jest użycie liczb ósemkowych. Kiedy użyjemy późniejszej komendy CHMOD, zobaczysz, że możesz zmienić uprawnienia za pomocą symboli lub liczb ósemek.

    Jak więc Linux reprezentuje odczyt, zapis i wykonywanie za pomocą numerów ósemkowych? Zasadniczo po prostu przypisuje liczbę do każdej pozwolenia, jak pokazano poniżej.

    Uprawnienie odczytu jest reprezentowane przez 4, napisz przez 2 i wykonuj przez 1. Wszystko, co musisz zrobić. Na przykład weźmy powyższy przykład, w którym każdy ma wszystkie uprawnienia:

    -RWXRWXRWX

    Właściciel ma RWX, więc dodamy 4 + 2 + 1, aby uzyskać wartość 7. Robimy to samo dla grupy i to samo dla innych. Ostateczna wartość ósemka wynosi 777. Rzućmy okiem na przykład, w którym daliśmy tylko uprawnienia odczytu/zapisu:

    -RW-RW-RW-

    Pierwsza liczba ósemek wynosi 4 + 2, ponieważ dodajemy odczyt i zapisz. Drugi będzie taki sam jak trzecia liczba ósemek. Tutaj mamy ostatnią wartość ósemkową 666.

    Więc teraz spróbujmy w drugą stronę. Powiedzmy, że chcemy wiedzieć, jakie uprawnienia 755 reprezentuje? Cóż, dość łatwo jest ustalić, czy rozbijesz to według indywidualnych liczb. Pierwsza liczba to 7, które możemy uzyskać tylko poprzez dodanie 4 + 2 + 1, co oznacza, że ​​właściciel ma uprawnienia do odczytu/zapisu/wykonania. Pięciu można uzyskać tylko przez dodanie 4 + 1, co oznacza, że ​​grupa i inni użytkownicy przeczytali i wykonują uprawnienia.

    Mamy nadzieję, że to dobre wyjaśnienie, jak reprezentować uprawnienia w Linux za pomocą liczb ósemkowych. Ogólnie rzecz biorąc.

    Korzystanie z CHMOD do modyfikowania uprawnień

    Teraz, gdy rozumiemy, jak czytać uprawnienia, porozmawiajmy o tym, jak możemy je zmienić. Najłatwiejszym użyciem do tego celu jest polecenie CHMOD. Oto jak to działa. Najlepszym sposobem wyjaśnienia polecenia jest przejście przez przykład.

    Zacznijmy od uprawnień, o których mówiliśmy powyżej, a mianowicie:

    -RW-RW-RW-

    Gdybyśmy chcieli dodać zgodę na wykonanie właściciela, grupy i innych, moglibyśmy zająć się tym na dwa sposoby. Moglibyśmy użyć metody symboli lub metody ósemkowej. Dla metody symboli zrobilibyśmy następujące, jak pokazano poniżej:

    Dokładne polecenie jest

    chmod a+x nazwa pliku

    Składnia jest następująca: list lub litery reprezentujące właściciela (u), Grupa (G), Inny (o) lub wszystkie (A), a następnie + do dodawania uprawnień lub - za pobieranie uprawnień, a następnie listu na zgodę (R do odczytania, w do pisania i X do wykonania).

    W powyższym przykładzie dodałem zgodę wykonania dla wszystkich użytkowników. Wynik, jak widać na powyższym zrzucie ekranu, jest X Dla właściciela, grupy i innych. Powiedzmy teraz, że chciałem usunąć zapis i wykonać uprawnienia tylko dla grupy i innych użytkowników.

    Jak widać tutaj, przyzwyczaiłem się do następującego polecenia, aby to osiągnąć:

    CHMOD Go-Wx nazwa pliku

    Ponieważ chcę zmienić uprawnienia do grupy i innych, używam listu G i list o. Chcę usunąć uprawnienia, więc używam - podpisać. Wreszcie chcę usunąć uprawnienia zapisu i wykonać, więc używam w I X. Oto poręczny mały stół do użycia symbolu:

    Więc to wszystko, co ma zastosowanie metody symboli. Porozmawiajmy teraz o metodzie ósemkowej, którą uważam za łatwiejsze. Octal jest fajny, ponieważ możesz dodać lub usunąć uprawnienia za jednym razem.

    Jeśli zaczniemy od następujących uprawnień w pliku, zobaczmy, w jaki sposób możemy je zmienić za pomocą metody Octal:

    -RW-RW-RW-

    Powyżej widać, że użyłem następującego polecenia:

    CHMOD 744 Nazwa pliku

    Zasadniczo mówi, że właściciel jest czytany/zapisz/wykonuje uprawnienia, a grupa i inne otrzymują tylko uprawnienia do odczytu. Jak widać, łatwo jest dodać lub usunąć uprawnienia w jednym prostym poleceniu. Idźmy dalej i powiedzmy, że chcę ponownie zmienić uprawnienia.

    Teraz użyłem następującego polecenia, znowu bardzo prosty:

    CHMOD 640 Nazwa pliku

    Tutaj daliśmy właścicielowi uprawnienia do odczytu/zapisu, jedynie uprawnienia do odczytu grupy, a drugą grupę bez uprawnień. Używasz zeru, aby nie oznaczać żadnych uprawnień. Całkiem proste, eh?

    Podsumowując, jest to bardzo prosty przegląd uprawnień Linuksa i może stać się o wiele bardziej skomplikowany, ale dla początkujących jest to dobre miejsce na rozpoczęcie. W przyszłości będę publikować więcej artykułów na temat bardziej zaawansowanych uprawnień. Jeśli masz jakieś pytania, skomentuj. Cieszyć się!