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

15

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

    
задан Jatttt 21.02.2014 в 14:56
источник

6 ответов

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 .

    
ответ дан Bruno Pereira 21.02.2014 в 15:59
7

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

chmod 700 -R /path/to/directory
    
ответ дан Ten-Coin 21.02.2014 в 14:57
1

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

chmod u-rw /path/to/directory

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

chmod u+rw /path/to/directory

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

    
ответ дан Avinash Raj 21.02.2014 в 14:59
0

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

тип: sudo apt-get install bcrypt , чтобы установить его.

После установки введите sudo bcrypt file-name , чтобы зашифровать его.

    
ответ дан g_p 21.02.2014 в 15:25
0

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

Если вы создадите этот 1GB-файл (или любой размер, или полный диск или pendrive), вы можете добавить любое расширение для этого файла, чтобы скрыть. (Никогда не помещайте этот файл в свой домашний каталог как secret.truecrypt.file.with.pwd lol)

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

Например, для скрытия этого файла:

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

Другие имена файлов temp:

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

    
ответ дан Fallen Angel 21.02.2014 в 21:11
0

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

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

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

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

    
ответ дан Graham G 22.02.2014 в 04:01