Comment puis-je protéger un fichier contre les modifications de l'utilisateur?

15

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

Jatttt
la source
Je veux que tout le monde puisse le voir, le bot ne peut pas le modifier ou le supprimer
Jatttt
@ user222588 semble assez clair, pas de soucis
Bruno Pereira
La méthode dépend où sont les fichiers, où ils se trouvent? Une clé USB, votre disque dur principal?
Braiam

Réponses:

25

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

Si vous ne souhaitez pas vous approprier le fichier sans supprimer la possibilité pour l'utilisateur de lire ce fichier, vous pouvez commencer en lui permettant de lire, mais pas d'écrire dans ce fichier avec:

chmod a-w,ug+r foo_file

description: modifier les autorisations sur les fichiers, tous ne peuvent pas écrire , l'utilisateur + le groupe peut lire

Ensuite, vous pouvez rendre les fichiers immuables afin que même les utilisateurs disposant d'une autorisation root 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 ensuite vous pourrez en faire quelque chose.

Le point positif de cette utilisation est que la plupart des utilisateurs (et des administrateurs) n'ont jamais connu de fichiers immuables sous Linux.

Ce fut l'utilisateur verra cela lors de la tentative de suppression (ou de modification) du 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 pouvant le lire:

~> cat asd
asd
...
Videos

Après avoir émis chattr +ile fichier est «verrouillé», aucune modification ne peut être apportée jusqu'à ce qu'un utilisateur avec des autorisations root le déclenche avec chattr -i.

Bruno Pereira
la source
Saluez mon ami. une si belle explication.
rɑːdʒɑ
8

Utilisez simplement comme ci-dessous dans votre terminal ( CTRL+ ALT+ T)

chmod 700 -R /path/to/directory
rɑːdʒɑ
la source
qu'est-ce qui ne va pas avec ça? vote négatif avec une bonne raison très apprécié.
rɑːdʒɑ
1

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 ce répertoire où les images sont stockées.

chmod u+rw /path/to/directory

Pour annuler les modifications, exécutez la commande ci-dessus.

Avinash Raj
la source
1
veuillez indiquer la raison du vote négatif.
Avinash Raj
2
J'imagine que le downvote est parce que vous enlevez des droits au propriétaire, pas aux autres utilisateurs et groupes.
Ben Voigt
0

Si vous souhaitez crypter le fichier, vous pouvez utiliser bcryptpour crypter et diminuer le fichier. Il utilise le cryptage de fichiers Blowfish.

tapez: sudo apt-get install bcryptpour l'installer.

Après le type d'installation sudo bcrypt file-namepour le crypter.

g_p
la source
0

Je recommande d'utiliser Truecrypt pour créer un "disque amovible" chiffré dans 1 fichier. Si vous créez par exemple une partition Truecrypt de 1 Go et vous pouvez protéger ce fichier avec un mot de passe. (Option expert: 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 mot de passe 2, vous voyez la partie cachée) Vous pouvez monter ce fichier sous Linux, Mac ou Windows (montage sur lecteur e:) et vous montrerez ce fichier de 1 Go comme une clé USB / clé USB, et vous pourrez démonter quand vous le souhaitez.

Si vous créez ce fichier de 1 Go (ou n'importe quelle taille, ou un disque plein ou une clé USB), vous pouvez ajouter n'importe quelle extension pour que ce fichier se cache. (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 le dossier système, l'utilisateur normal peut ne jamais remarquer que ce n'est pas un fichier système, c'est un fichier crypté privé.

Par exemple pour masquer 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 modifiez les numéros pour un nom de fichier.

  • et également définir les droits ... et après avoir supprimé les commandes de la console d'historique

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

  • Dans Pendrive, créez un dossier TEMP et utilisez un nom de fichier temporaire, comme des exemples de fichiers. et faire quelques sauvegardes avec un nom différent ...

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 sur la page d'accueil de Truecrypt

Ange déchu
la source
0

Si par protéger, vous entendez empêcher toute modification de ces fichiers, envisagez d'utiliser l' utilitaire chattr . Il a l'option marquer les fichiers comme immuables (ne pouvant pas être modifiés).

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

Cela empêchera tous les utilisateurs et même l'utilisateur root de supprimer ou de modifier les fichiers définis comme immuables.

Vous pouvez inverser cette action en remplaçant le "+ i" par "-i".

Graham G
la source