Cóż ... nie wszystko może być grami, nie jest moim zamiarem tylko publikowanie postów o grach 😉 ... nie jestem użytkownikiem, który dużo gra, w domu zostawiam to swojej dziewczynie (który jest teraz podpięty Sims 4), dlatego bardziej motywuje mnie do publikowania bardziej technicznych artykułów, o poleceniach czy wskazówkach w terminalu.
W Linuksie mamy trochę pozwolenia które z pewnością rozwiązują prawie każdy problem, możemy określić, który użytkownik lub grupa użytkowników ma dostęp do określonego zasobu, folderu, usługi. Jednak są chwile, kiedy uprawnienia nie są dokładnie tym, czego potrzebujemy, ponieważ są sytuacje, w których nawet root nie może wykonać określonej czynności.
Załóżmy, że mamy folder lub plik, którego nie chcemy usunąć, chodźmy ... ani przez naszego użytkownika, ani przez inny na komputerze (ehm ... na przykład moja dziewczyna haha), czy nawet root nie może go usunąć, jak to osiągnąć? … Uprawnienia nie będą działać dla nas, ponieważ root jest pieprzonym mistrzem, może usunąć wszystko, więc to jest miejsce, w którym pojawiają się atrybuty plików lub folderów.
chattr + i
Załóżmy, że chcemy zabezpieczyć plik, aby nie można go było usunąć, jest to: hasła.txt Twoja lokalizacja to (na przykład) $ HOME / passwords.txt
Aby ustawić atrybut tylko do odczytu (czyli bez modyfikacji i bez usuwania), byłoby to:
sudo chattr +i $HOME/passwords.txt
Jak widzisz, potrzebujemy uprawnień administratora do parametru + i, co przy okazji + i oznacza, że plik będzie niezmienny, wiesz, nie można go usunąć, nie można go w żaden sposób zmienić.
Następnie możesz spróbować usunąć plik, nawet używając sudo ... zobaczysz, że nie będziesz w stanie, oto zrzut ekranu:
Aby wyświetlić lub zobaczyć atrybuty pliku, możemy użyć polecenia lsattr, na przykład:
lsattr passwords.txt
Następnie usuń ochronę zamiast używać +i Używamy -i i voila 😉
chattr + a
Jak właśnie widzieliśmy, parametr + i pozwala nam całkowicie go zabezpieczyć, ale zdarzały się sytuacje, gdy potrzebowałem określonego pliku, aby można go było zmodyfikować, ALE bez zmiany jego oryginalnej zawartości. Na przykład mam listę i chcę, aby nowe wiersze i informacje były dodawane za pomocą echa, ale bez zmiany poprzednich, w tym celu:
sudo chattr +a $HOME/passwords.txt
Po wykonaniu tej czynności spróbujmy zapisać coś nowego do pliku:
echo "Prueba" > $HOME/passwords.txt
Zauważysz, że pojawia się błąd ... jednak jeśli dodamy treść zamiast zastępować (używając >> a nie>):
echo "Prueba" >> $HOME/passwords.txt
Tutaj możemy.
Koniec!
Wiem, że ktoś posiadający wiedzę, gdy widzi, że nawet z rootem może usunąć / zmodyfikować plik, może sprawdzić jego atrybuty ... ale hej! … Ile razy zauważając coś takiego, przestajesz myśleć o atrybutach? ... Mówię tak, ponieważ generalnie po prostu uważamy, że dysk twardy lub jego sektor jest uszkodzony, albo że system po prostu oszalał 😀
Cóż, nie ma nic więcej do dodania ... Myślę, że skorzystam z tego +i zatrzymać pobieranie czegoś, co pobiera moja dziewczyna ... ¬__¬ ... ehm ... nie chciała pobierz sims 4 wolny? ... Myślę, że nauczę cię kilku rzeczy o licencjach i że nie należy ich naruszać 😀
Pozdrowienia!
Ciekawostką jest wiedzieć o tym narzędziu, a co jeśli wzbudzi we mnie ciekawość, w pewnym sensie nie będzie to coś podobnego do uprawnień bitowych? To znaczy setuid, setgid i lepki bit? Jeśli nie, dlaczego? Oo
PS: Straciłem rachubę, kiedy mówisz w tym artykule o mojej dziewczynie hahaha
Do tego też jest trochę, bit niezmienności, i jest zaprojektowany tak, aby nikt nie mógł modyfikować ani usuwać pliku, do którego się odnosi (nawet root). Używam go na przykład do zabezpieczania plików konfiguracyjnych przed zapisem, co jest szczególnie przydatne w dystrybucjach takich jak Zentyal (jest to znacznie szybszy sposób dostosowywania konfiguracji niż edycja lub tworzenie szablonów).
Łącząc to polecenie z chown, chmod i setfacl, można osiągnąć interesujące rzeczy.
FreeBSD ma coś podobnego, którego używam również dla mojego pfSense.
Hahaha, to znana faza.
http://www.xkcd.
pl / 684 /
[Dr. Bolivar Trask] $ sudo chattr + i * .human
Bardzo dobry porządek. Nie znałam jej.
Może to być bardzo przydatne, jeśli udostępniamy komputer lub mamy pewien dokument, nad którym pracujemy, którego nie chcemy usuwać dla świata.
Dziękuję i pozdrawiam!
Bardzo interesujące.
Czy można zrobić coś podobnego, aby ROOT nie miał dostępu do określonego folderu na naszej stronie głównej?
Zgodnie z artykułem, za pomocą tego polecenia nawet root nie może uzyskać dostępu do pliku. Przypuszczam, że to samo dotyczy folderów, ponieważ w Linuksie foldery są również plikami, prawda?
Co za zbieg okoliczności. W ten weekend próbowałem usunąć partycję główną i nie mogłem usunąć pliku z katalogu / boot. Szukając znalazłem atrybuty, szczerze ich nie znałem i teraz rozumiem, że kwestia uprawnień i atrybutów w pliku jest bardzo duża. Jest to jedno z tych podstawowych poleceń, które musimy znać, wraz z „chmod” i „chown”.
Jest to niezwykle przydatne, zwłaszcza jeśli, na przykład, chcemy zmienić domyślny DNS naszego odpowiedniego usługodawcy internetowego i wtedy musimy zmodyfikować plik /etc/resolv.conf iw tym celu musimy zrobić chattr -i / etc / resolv.conf, zmodyfikuj adresy IP, które pojawiają się dla adresów naszego bezpłatnego i / lub wolnego DNS (na przykład tych z OpenDNS 208.67.222.222 i 208.67.220.220 lub Google 8.8.8.8 i 8.8.4.4) i po zmodyfikowano plik, aby ponownie wykonać chattr + i /etc/resolv.conf, aby plik nie był modyfikowany podczas uruchamiania maszyny.
Świetny artykuł… a tak przy okazji, twoja dziewczyna jest jak moja żona, tak samo uzależniona od gier, hahahahaha
Najwyraźniej „pieprzonym mistrzem” jest twoja dziewczyna w tej sytuacji. xD