16 votes

Comment protéger un fichier contre les modifications apportées par les utilisateurs ?

J'utilise Ubuntu 12.04 et je veux protéger certaines photos d'un autre utilisateur en utilisant la commande su (j'ai des privilèges d'administrateur). Comment puis-je protéger un fichier en utilisant le terminal tout en permettant au reste des utilisateurs de le lire ?

26voto

Bruno Pereira Points 70510

Ubuntu utilise le format de système de fichiers EXT4 par défaut (je suppose que nous ne parlons pas d'autre chose ici).

Si vous ne voulez pas prendre la propriété du fichier sans supprimer la possibilité pour l'utilisateur de lire ce fichier, vous pouvez commencer par lui permettre de lire, mais pas d'écrire dans ce fichier avec :

chmod a-w,ug+r foo_file

description : changer les permissions des fichiers, tous ne peuvent pas écrire l'utilisateur et le groupe peuvent lire

Ensuite, vous pouvez rendre les fichiers immuables afin que même les utilisateurs ayant la permission de l'administrateur ne puissent pas les modifier en utilisant ce qui suit :

sudo chattr +i foo_file

Pour pouvoir supprimer ou même modifier ce fichier, vous devez utiliser la commande :

sudo chattr -i foo_file

et alors tu pourras en faire quelque chose.

L'avantage de cette méthode est que la plupart des utilisateurs (et des administrateurs) n'ont jamais connu de fichiers immuables sous Linux.

C'est ce que l'utilisateur verra lorsqu'il essaiera de supprimer (ou de modifier) le fichier :

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

tout en étant capable de le lire :

~> cat asd
asd
...
Videos

Après avoir émis chattr +i le fichier est "verrouillé", aucune modification ne peut être apportée jusqu'à ce qu'un utilisateur ayant les droits d'accès root le désactive avec chattr -i .

8voto

Zian Choy Points 1510

Il suffit d'utiliser comme ci-dessous dans votre terminal( CTRL + ALT + T )

chmod 700 -R /path/to/directory

1voto

Avinash Raj Points 72686

Essayez la commande ci-dessous sur le terminal,

chmod u-rw /path/to/directory

La commande ci-dessus ne permettra pas à un autre utilisateur ou groupe de lire ou d'écrire dans le répertoire où sont stockées les images.

chmod u+rw /path/to/directory

Pour revenir en arrière, exécutez la commande ci-dessus.

0voto

g_p Points 17101

Si vous voulez crypter le fichier, vous pouvez utiliser bcrypt pour crypter et décrypter le fichier. Il utilise le cryptage de fichier blowfish.

type : sudo apt-get install bcrypt pour l'installer.

Type après installation sudo bcrypt file-name pour le crypter.

0voto

Fallen Angel Points 11

Je recommande d'utiliser Truecrypt pour créer un "disque amovible" crypté à 1 fichier. Si vous créez par exemple une partition Truecrypt de 1GB et que vous pouvez protéger ce fichier avec un mot de passe. (Option experte : vous pouvez définir 2 mots de passe pour ce fichier : avec le premier mot de passe vous voyez une partie normale du fichier et avec le deuxième mot de passe vous voyez la partie cachée). Vous pouvez monter ce fichier dans Linux, Mac ou dans Windows (monter pour conduire e: ) et vous montrerez ce fichier de 1 Go comme un pendrive/lecteur flash, et vous pourrez le démonter quand vous le voudrez.

Si vous créez ce fichier de 1 Go (ou n'importe quelle taille, ou un disque ou pendrive complet), vous pouvez ajouter n'importe quelle extension pour que ce fichier soit caché. (Ne placez jamais ce fichier dans votre répertoire personnel en tant que secret.truecrypt.file.with.pwd lol)

Si vous utilisez un nom de fichier système dans un dossier système, l'utilisateur normal ne remarquera peut-être jamais qu'il ne s'agit pas d'un fichier système mais d'un fichier crypté privé.

Par exemple pour cacher ce fichier :

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

Autres noms de fichiers temporaires :

Win386.swp
nsz17BE.tmp
mmc00C1B00C.xml
jusched.log
IMT211.xml
i4j8470767517827925011.tmp
FTP7F0.tmp
e4j3B.tmp
  • Choisissez un schéma et changez les chiffres pour un nom de fichier.

  • et aussi définir les droits ... et après avoir fait supprimer l'historique des commandes de la console

  • Avec cette solution, un utilisateur normal ne trouvera jamais votre fichier secret.

  • Dans le Pendrive, créez un dossier TEMP et utilisez un nom de fichier temporaire, comme les exemples de fichiers. et faites quelques sauvegardes avec des noms différents...

Vous pouvez installer truecrypt si vous le souhaitez, par exemple :

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

Plus d'informations dans Page d'accueil de Truecrypt

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X