Je veux donner accès à un dir à un ami. Il a accès au système de fichiers, où se trouve le répertoire. Je ne veux pas définir les autorisations pour tous les utilisateurs. Comment puis-je autoriser seulement une personne à voir le répertoire? Aucun de nous n'est superutilisateur.
[BOUNTY CHALLENGE] Aucune des réponses ne fonctionne, en utilisant Ubuntu:
1. L'approche de jamuraa ne fonctionne pas
$ setfacl -m user:friend:rwx classroom.xml
setfacl: classroom.xml: Operation not supported
2. L'approche de Nik ne fonctionne pas: impossible d'accéder à un fichier inexistant
3. L'approche de ba ne fonctionne pas: je ne peux pas créer de groupes, pas une racine.
4. L'approche de ToK ne fonctionne pas, les utilisateurs sont répartis en deux groupes: "utilisateurs" et "terrain"
chown -R myFriend:users ~/TEST
chown: changing ownership of `/u/myFriend/TEST/you_see_it': Operation not permitted
chown: changing ownership of `/u/myFriend/TEST': Operation not permitted
Réponses:
Avec des autorisations UNIX normales (utilisateur, groupe, tout le monde), vous ne pouvez pas le faire facilement. Si vous n'avez plus besoin d'accéder au répertoire, vous pouvez éventuellement changer le propriétaire du répertoire en votre ami, ce qui est valide sur certains Unices, mais la plupart d'entre eux ne le sont pas.
Cependant - si vous avez activé les ACL sous Linux, vous pouvez le faire si vous êtes le propriétaire du fichier. Exécutez simplement la commande
setfacl -m user:friend:rwx filename
où ami est le nom de compte de votre ami et le nom de fichier est le fichier. Vous pouvez vérifier qu'il est entré en vigueur en exécutantgetfacl filename
, vous devriez voir la triadeuser:friend:rwx
dans la liste. Je n'ai cependant pas vu trop de systèmes Linux sur lesquels les ACL sont activées.la source
C'est quelque chose dont nous avions discuté à l'école.
Va à peu près comme ça,
data
, pour référence ici)chmod 711 data
"x
- accès pour entrer dans le répertoiredifficult-name-here
(cela pourrait être une chaîne de hachage)chmod a+rx difficult-name-here
"cd path/to/data/difficult-name-here
"root
peut toujours accéder à tout (ce qui n'est pas un problème ici)difficult-name-here
avec les personnes que vous souhaitez donner ces donnéesAssez grossier, mais si cela peut être cassé sans la rupture du contrôle d'accès unix, je voudrais savoir.
Mise à jour sur le commentaire de
dmckee
,C'est exactement la conclusion à laquelle nous sommes arrivés!
«la sécurité par l'obscurité» a une sécurité limitée .
Cela dit, lors de la conception de la protection des données,
il est important d'identifier leur valeur.
Vous devez cibler,
Dans ce cas, si le
root
décide d'énumérer l'arborescence des répertoires quelque part en accès public,votre secret est sorti! Mais, protégez-vous de la racine ou de leur irresponsabilité potentielle?
Si tel est le cas, vous avez bien plus à vous soucier des fichiers partagés.
Mise à jour sur la note de non-travail dans la question .
Je l'ai utilisé dans les premiers jours de Linux pour savoir que cela fonctionne.
Si vous obtenez «
cannot access non-existant file
» au lieu de'permissions denied
«vous avez très probablement fait une erreur dans la séquence. Ce que vous voulez devrait ressembler à ça,CoverDir
accès en tant que'rwx--x--x
», legroupe et les autres utilisateurs peuvent uniquement entrer dans le répertoire mais ne peuvent pas lire son contenu.
"
Obscure
", à l'intérieur et que vous donnez un accès complet en lecture avec "rwxr-xr-x
",toute personne connaissant ce nom peut répertorier son contenu.
ls BasePath/CoverDir/Obscure
'Parce que les gens de votre groupe et les autres ne pourront pas '
ls BasePath/CoverDir
'.la source
ssh
clé privée).Ryan avait en fait 100% raison, juste en arrière. Étant donné que votre ami a (probablement) un groupe unique associé à son nom d'utilisateur, changez la propriété du groupe du répertoire en question en ce groupe, probablement le nom d'utilisateur de l'ami. Afin de pouvoir partager le contenu entre vous deux, vous devez conserver la propriété en tant qu'utilisateur:
Attribuez ensuite les autorisations appropriées au répertoire, en fonction de l'accès que vous souhaitez que l'autre utilisateur ait:
vous accorderait tous les deux un accès rwx complet au répertoire et à son contenu entier.
Veuillez noter que cela suppose qu'aucun autre utilisateur n'a été ajouté au groupe de vos amis. Le système n'aurait probablement pas effectué cette affectation, cependant, comme cela a été mentionné précédemment, l'utilisateur root peut faire ce qu'il choisit. Vous pouvez utiliser la commande groups pour voir chaque groupe auquel appartient votre ami ou utilisateur arbitraire. En outre, sauf si les autorisations ont été modifiées pour une raison quelconque, vous devriez pouvoir afficher le fichier / etc / group qui contient les affectations de groupe pour chaque groupe sur le système.
la source
Je créerais un nouveau groupe pour vous et votre ami et définirais les autorisations de dossier sur full pour le propriétaire et le groupe avec le bit setgid pour le répertoire.
Mais en fonction de vos besoins, vous devrez peut-être également envisager de changer vous et vos amis umask afin qu'il configure automatiquement le groupe pour pouvoir modifier de nouveaux fichiers.
la source
Les listes de contrôle d'accès sont le moyen idéal pour ce faire.
Cependant (si je me souviens bien), le système de fichiers doit être initialisé avec des ACL (par exemple "/ dev / sda6 / home ext3 par défaut, acl "), via / etc / fstab, et c'est quelque chose que seul le superutilisateur peut faire. ..
la source
RBACS comme grsec / selinux est requis.
la source
Par défaut, chaque utilisateur d'un système Ubuntu a également un groupe associé du même nom. Donc, si vous pouvez ajouter votre ami à votre groupe, puis marquer le dossier en question comme
g+rwx
, vous serez prêt. Je me souviens vaguement de ce cas d'utilisation cité comme la raison de créer un groupe pour chaque utilisateur.la source
Et Dropbox? Vous pouvez l'installer sans privilèges d'administrateur et les deux sont liés au même compte.
Découvrez comment installer Dropbox dans un environnement Linux entièrement basé sur du texte
la source
Je n'ai pas essayé cela, mais que diriez-vous d'un répertoire public lisible avec un FS d'espace utilisateur chiffré à l'intérieur (par exemple encfs). Ensuite, vous pouvez partager ce mot de passe avec votre ami et personne d'autre ne peut utiliser ces données (enfin, je suppose qu'ils pourraient obtenir les données et exécuter un pirate de mot de passe hors ligne?).
la source
Pour donner à Linux la même finesse que Windows dans les privilèges de fichier, vous devez imbriquer des groupes. Créez un groupe qui a accès à votre dossier comme vous le souhaitez pour votre ami. Ajoutez-le à ce groupe ou au groupe dans lequel il réside dans ce groupe. Par exemple
/ foo est le dossier que vous souhaitez partager. Créez un groupe FooGroup qui a l'accès souhaité au dossier. Ajoutez des groupes et des utilisateurs à ce groupe dont vous souhaitez autoriser l'accès à ce dossier.
C'est un gros problème d'avoir un groupe pour chaque dossier ou fichier mais c'est le meilleur moyen de restreindre l'accès au même niveau que Windows.
la source
Vous pouvez crypter le répertoire avec
gpg
. Et puis essayez d'obscurcir l'emplacement comme le suggère nik.la source