Comment empêcher un utilisateur en particulier d'accéder à mon répertoire personnel?

23

Il y a un utilisateur spécifique auquel je ne veux pas pouvoir accéder à mon répertoire personnel. Comment puis-je leur refuser l'accès, tout en autorisant l'accès à d'autres qui l'auraient normalement?

Rob John
la source
2
IMO la meilleure façon est avec le cryptage - help.ubuntu.com/community/EncryptedPrivateDirectory . Si vous voulez avoir un grain de contrôle plus fin, vous devez utiliser ACL - help.ubuntu.com/community/FilePermissionsACLs et
Panther
4
@ user68186 (et autres) Il peut ne pas s'agir d'un doublon car Rob peut vouloir restreindre un seul utilisateur et pas tous les utilisateurs.
Panther
1
Merci @ bodhi.zazen de l'avoir signalé. Je retirerai mon vote serré, mais gardez le lien en commentaire, au cas où quelqu'un chercherait une solution plus générale.
user68186
2
Veuillez supprimer les votes serrés --- la question n'est PAS un doublon; OP demandait de restreindre l'accès à un seul utilisateur, ce qui n'est pas résolu dans le doublon proposé.
Rmano

Réponses:

29

Si vous souhaitez limiter l'accès aux utilisateurs extérieurs à votre groupe ou à tout autre utilisateur, la question est un doublon de Restreindre l'accès à mon dossier de départ à partir d'un autre compte d'utilisateur standard

Sinon, si vous souhaitez restreindre l'accès à un seul utilisateur , appelez-le enemyuser, utilisez ACL :

cd ~
setfacl -m u:enemyuser:000 .

... et enemyuserl'accès à votre répertoire personnel sera refusé.

Pour vérifier l'effet:

[romano@pern:~] % chacl -l .
. [u::rwx,u:enemyuser:---,g::r-x,m::r-x,o::r-x] 

Pour supprimer l'ACL, vous dites simplement:

setfacl -x u:enemyuser .

Les *aclcommandes utilisées ici proviennent du package acl, qui devrait être installé par défaut (au moins, je pense).

Rmano
la source
Merci beaucoup. Exactement ce que je voulais. Si je change d'avis et que je dois autoriser l'accès à l'utilisateur ennemi, que dois-je faire?
Rob John
3
Pour supprimer l'ACL, remplacez le -mpar -x.
Riking
Sur mon système, la commande lsacln'existe pas. Où l'avez-vous obtenu?
Paddy Landau
@PaddyLandau oups, c'est un script que j'ai reçu d'Internet il y a quelque temps et qui imprime de longues listes ACL. J'ai changé la réponse en utilisant des outils standard. Ici: lists.gnu.org/archive/html/coreutils/2014-10/msg00031.html
Rmano