Jak mogę chronić plik przed zmianami użytkownika?

15

Używam Ubuntu 12.04 i chcę chronić niektóre zdjęcia innego użytkownika za pomocą polecenia su (mam uprawnienia administratora). Jak mogę zabezpieczyć plik przy użyciu terminala, jednocześnie pozwalając pozostałym użytkownikom na jego odczytanie?

Jatttt
źródło
Chcę, żeby każdy mógł to zobaczyć bot nie może edytować skasować
Jatttt
@ user222588 brzmi dość wyraźnie, bez obaw
Bruno Pereira
Metoda zależy od tego, gdzie są pliki, gdzie one są? USB, twój główny dysk twardy?
Braiam

Odpowiedzi:

25

Ubuntu domyślnie korzysta z formatu systemu plików EXT4 (zakładam, że nie mówimy tu o niczym innym).

Jeśli nie chcesz przejąć na własność pliku bez usunięcia możliwości jego odczytania przez użytkownika, możesz rozpocząć od umożliwienia mu odczytu, ale nie zapisywania do tego pliku za pomocą:

chmod a-w,ug+r foo_file

opis: zmiana uprawnień do pliku, wszystko nie może pisać , użytkownik + grupa może czytać

Następnie można uczynić pliki niezmiennymi, aby nawet użytkownicy z uprawnieniami roota nie mogli się wówczas zmienić, używając:

sudo chattr +i foo_file

Aby móc usunąć lub nawet zmodyfikować ten plik, musisz użyć polecenia:

sudo chattr -i foo_file

i wtedy będziesz mógł coś z tym zrobić.

Plusem tego jest fakt, że większość użytkowników (i administratorów) nigdy nie doświadczyła niezmiennych plików w systemie Linux.

To był użytkownik zobaczy to podczas próby usunięcia (lub zmiany) pliku:

~> sudo chmod a-w,ug+r asd
~> ll asd
-r--r--r-- 1 bruno bruno 156 feb 21 20:46 asd
~> sudo chattr +i asd
~> chmod +w asd
chmod: changing permissions of ‘asd’: Operation not permitted
~> rm asd
rm: remove write-protected regular file ‘asd’? y
rm: cannot remove ‘asd’: Operation not permitted
~> sudo rm asd
rm: cannot remove ‘asd’: Operation not permitted

wciąż będąc w stanie to przeczytać:

~> cat asd
asd
...
Videos

Po wydaniu chattr +ipliku jest „zablokowany”, nie można wprowadzać żadnych zmian, dopóki użytkownik z uprawnieniami administratora nie uruchomi go chattr -i.

Bruno Pereira
źródło
Pozdrów mojego przyjaciela. takie miłe wytłumaczenie.
rɑːdʒɑ
8

Po prostu użyj jak poniżej w swoim terminalu ( CTRL+ ALT+ T)

chmod 700 -R /path/to/directory
rɑːdʒɑ
źródło
co jest z tym nie tak? bardzo mile widziane głosowanie z uzasadnieniem.
rɑːdʒɑ
1

Wypróbuj poniższe polecenie na terminalu,

chmod u-rw /path/to/directory

Powyższe polecenie nie zezwala innemu użytkownikowi lub grupie na odczyt lub zapis katalogu, w którym przechowywane są zdjęcia.

chmod u+rw /path/to/directory

Aby cofnąć zmiany, uruchom powyższe polecenie.

Avinash Raj
źródło
1
proszę podać powód oddania głosu.
Avinash Raj
2
Wyobrażam sobie, że głosowanie negatywne wynika z tego, że odbierasz prawa właścicielowi, a nie innym użytkownikom i grupom.
Ben Voigt
0

Jeśli chcesz zaszyfrować plik, możesz go użyć bcryptdo zaszyfrowania i rozpakowania pliku. Wykorzystuje szyfrowanie plików blowfish.

wpisz: sudo apt-get install bcryptaby go zainstalować.

Po instalacji wpisz, sudo bcrypt file-nameaby go zaszyfrować.

g_p
źródło
0

Polecam użyć Truecrypt do utworzenia zaszyfrowanego „dysku wymiennego” do 1 pliku. Jeśli utworzysz na przykład partycję Truecrypt 1 GB i możesz zabezpieczyć ten plik hasłem. (Opcja eksperta: możesz ustawić 2 hasło do tego pliku: przy pierwszym haśle widzisz normalną część pliku, a przy haśle 2 widzisz ukrytą część) Możesz zamontować ten plik w systemie Linux, Mac lub Windows (podłącz do napędu e:) i pokażesz ten plik 1GB jak pendrive / dysk flash, i możesz odmontować kiedy chcesz.

Jeśli utworzysz ten plik 1 GB (lub dowolny rozmiar, pełny dysk lub pendrive), możesz dodać dowolne rozszerzenie dla tego pliku do ukrycia. (Nigdy nie umieszczaj tego pliku w katalogu domowym jako secret.truecrypt.file.with.pwd lol)

Jeśli użyjesz dowolnej nazwy pliku systemowego w folderze systemowym, być może normalny użytkownik nigdy nie zauważy, że nie jest to plik systemowy, to prywatny plik zaszyfrowany.

Na przykład, aby ukryć ten plik:

/usr/lib/libc8.2.so
/usr/lib/libxml24.so.9.1.3

Inne nazwy plików tymczasowych:

Win386.swp
nsz17BE.tmp
mmc00C1B00C.xml
jusched.log
IMT211.xml
i4j8470767517827925011.tmp
FTP7F0.tmp
e4j3B.tmp
  • Wybierz jeden schemat i zmień numery dla nazwy pliku.

  • a także ustawić prawa ... a po zakończeniu usuń polecenia konsoli historii

  • Dzięki takiemu rozwiązaniu normalny użytkownik nigdy nie znajdzie twojego tajnego pliku.

  • W Pendrive utwórz folder TEMP i użyj tymczasowej nazwy pliku, na przykład przykładów plików. i wykonaj kilka kopii zapasowych pod inną nazwą ...

Możesz zainstalować truecrypt, jeśli chcesz, na przykład:

sudo add-apt-repository ppa:michael-astrapi/ppa
sudo apt-get update
sudo apt-get install truecrypt

Więcej informacji na stronie głównej Truecrypt

Upadły anioł
źródło
0

Jeśli przez ochronę masz na myśli w ogóle zapobieganie modyfikacjom tych plików, rozważ użycie narzędzia chattr . Ma opcję oznaczania plików jako niezmiennych (nie można ich zmienić).

chattr +i /home/username/pictures/example1.png

Zapobiegnie to usunięciu lub modyfikacji plików ustawionych jako niezmienne przez wszystkich użytkowników, a nawet użytkownika root.

Możesz odwrócić tę akcję, zastępując „+ i” na „-i”.

Graham G.
źródło