Как я могу защитить файл от пользовательских изменений?

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

15
задан 22 February 2014 в 13:52

6 ответов

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.

0
ответ дан 22 February 2014 в 13:52

Просто используйте, как показано ниже, в вашем терминале ( CTRL + ALT + T )

chmod 700 -R /path/to/directory
0
ответ дан 22 February 2014 в 13:52

Попробуйте выполнить приведенную ниже команду на терминале:

chmod u-rw /path/to/directory

Приведенная выше команда не позволит другому пользователю или группе читать или записывать этот каталог, в котором хранятся изображения.

chmod u+rw /path/to/directory

Чтобы отменить изменения, выполните указанную выше команду.

0
ответ дан 22 February 2014 в 13:52

Если вы хотите зашифровать файл, вы можете использовать bcrypt для шифрования и расшифровки файла. Он использует шифрование файла blowfish.

введите: sudo apt-get install bcrypt для его установки.

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

0
ответ дан 22 February 2014 в 13:52

Я рекомендую использовать Truecrypt для создания зашифрованного «съемного диска» в 1 файл. Если вы создадите, например, раздел 1GB Truecrypt, и вы сможете защитить этот файл паролем. (Экспертная опция: вы можете установить 2 пароля для этого файла: с первым паролем вы видите нормальную часть файла, а с паролем 2 вы видите скрытую часть). Вы можете смонтировать этот файл в Linux, Mac или в Windows (смонтировать на диск e:), и вы покажете этот файл объемом 1 ГБ как pendrive / flash-накопитель, и вы сможете размонтировать его, когда захотите.

Если вы создаете этот файл объемом 1 ГБ (или любого размера, или полный диск, или pendrive), вы можете добавить любое расширение для этого файла, чтобы скрыть. (Никогда не размещайте этот файл в своем домашнем каталоге как 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 и используйте имя временного файла, как примеры файлов. и сделать несколько резервных копий с другим именем ...

Вы можете установить truecrypt, если хотите, например:

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

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

0
ответ дан 22 February 2014 в 13:52

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

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

Это не позволит всем пользователям и даже пользователю root удалять или изменять любые файлы, установленные как неизменяемые.

Вы можете отменить это действие, заменив «+ i» на «-i».

0
ответ дан 22 February 2014 в 13:52

Другие вопросы по тегам:

Похожие вопросы: