Як я можу захистити файл від змін користувача?


15

Я використовую Ubuntu 12.04 і хочу захистити деякі зображення іншого користувача за допомогою команди su (у мене є права адміністратора). Як я можу захистити файл за допомогою терміналу, доки дозволяючи решті користувачів читати його?


Я хочу, щоб хто-небудь міг переглянути його бот, не може редагувати, видалити його
Jatttt,

@ user222588 звучить досить чітко, не хвилюйтесь
Бруно Перейра

Метод залежить, де файли, де вони? USB, ваш основний жорсткий диск?
Брайам

Відповіді:


25

Ubuntu за замовчуванням використовує формат файлової системи EXT4 (я припускаю, що ми тут не говоримо ні про що інше).

Якщо ви не хочете брати право власності на файл, не знімаючи можливість користувача читати цей файл, ви можете почати, дозволяючи їм читати, але не записувати у цей файл за допомогою:

chmod a-w,ug+r foo_file

Опис: змінити права доступу до файлів, усі не можуть писати , користувач + група може читати

Потім можна зробити файли незмінними, щоб навіть користувачі з дозволом root не могли змінюватись, використовуючи наступне:

sudo chattr +i foo_file

Щоб мати змогу видалити або навіть змінити цей файл, вам слід скористатися командою:

sudo chattr -i foo_file

і тоді ви зможете щось з цим зробити.

Плюсом використання цього є те, що більшість користувачів (і адміністраторів) ніколи не відчували незмінних файлів у Linux.

Це було те, що користувач побачить це при спробі видалити (або змінити) файл:

~> 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

ще читаючи:

~> cat asd
asd
...
Videos

Після видачі chattr +iфайл "заблокований", ніяких змін не можна вносити, доки користувач із дозволами root не вимкне його chattr -i.


Вітаю мого друга. таке приємне пояснення.
rɑːdʒɑ

8

Просто використовуйте як зазначено нижче у своєму терміналі ( CTRL+ ALT+ T)

chmod 700 -R /path/to/directory

що з цим не так? негативне голосування з належної причини дуже цінується.
rɑːdʒɑ

1

Спробуйте вказану нижче команду на терміналі,

chmod u-rw /path/to/directory

Наведена вище команда не дозволить іншому користувачеві чи групі читати чи записувати той каталог, де зберігаються зображення.

chmod u+rw /path/to/directory

Щоб повернути зміни, виконайте вищевказану команду.


1
вкажіть, будь ласка, причину проголошення.
Авінаш Радж

2
Я думаю, що голосування є тим, що ви забираєте права у власника, а не інших користувачів та груп.
Бен Войгт

0

Якщо ви хочете зашифрувати файл, ви можете використовувати його bcryptдля шифрування та дешифрування файлу. Він використовує шифрування файлів blowfish.

тип: sudo apt-get install bcryptщоб встановити його.

Після установки введіть його sudo bcrypt file-nameдля шифрування.


0

Я рекомендую використовувати Truecrypt для створення зашифрованого "знімного диска" до 1 файлу. Якщо ви створили, наприклад, розділ Truecrypt розміром 1 Гб і можете захистити цей файл паролем. (Експертний варіант: ви можете встановити 2 паролі для цього файлу: за допомогою першого пароля ви бачите звичайну частину файлу, а за допомогою пароля 2 ви бачите приховану частину) Цей файл можна змонтувати в Linux, Mac або в Windows (змонтувати на диску e:) і ви покажете, що файл 1 Гб як на кран / флешку, і ви можете його відключити, коли захочете.

Якщо ви створили файл 1 Гб (або будь-якого розміру, або повний диск або маятник), ви можете додати будь-яке розширення для цього файлу, щоб приховати. (Ніколи не розміщуйте цей файл у вашій домашній директорії як secret.truecrypt.file.with.pwd lol)

Якщо ви використовуєте будь-яке ім’я системного файлу в системній папці, можливо, звичайний користувач ніколи не помічає, що це не системний файл, це приватний зашифрований файл.

Наприклад, приховати цей файл:

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

Інші тимчасові назви файлів:

Win386.swp
nsz17BE.tmp
mmc00C1B00C.xml
jusched.log
IMT211.xml
i4j8470767517827925011.tmp
FTP7F0.tmp
e4j3B.tmp
  • Виберіть одну схему та змініть номери для імені файлу.

  • а також встановіть права ... і після завершення видаліть команди консолі історії

  • З цим рішенням звичайний користувач ніколи не знайде ваш секретний файл.

  • У Pendrive створіть папку TEMP і використовуйте ім'я файлу temp, як приклади файлів. і зробити кілька резервних копій з різною назвою ...

Ви можете встановити truecrypt, якщо хочете, наприклад:

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

Більше інформації на домашній сторінці Truecrypt


0

Якщо під захистом ви маєте на увазі взагалі запобігти будь-яким змінам цих файлів, подумайте про використання утиліти chattr . У ньому є файли опцій, які позначають як незмінні (неможливо змінити).

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

Це запобіжить всім користувачам і навіть кореневим користувачам видалити або змінити будь-які файли, встановлені як непорушні.

Ви можете змінити цю дію, замінивши "+ i" на "-i".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.