Droits d'accés

Bonjour,
on veut créer un répertoire nommé par exemple "rep" tel que les autres utilisateurs ne puissent pas lister son contenu mais puissent lire les fichiers qui y sont placés.
par exemple on obtient:
$ ls rep
ls:rep:permission denied
$ cat rep/fic # fic est un fichier dans rep
aaaaaaaaaaaaaaa
bbbbbbbbbbbbbbb
ccccccccccccccc

svp,je besoin votre aide.et merci...
Configuration: Linux
Firefox 3.0.1

4 réponses

  1. Modérateur
    Ce n'est pas possible, car pour accéder à un fichier, tu as besoin des droits en exécution sur chacun des répertoires dont il est fils.
    (mando@aldur) (~) $ mkdir pouet
    (mando@aldur) (~) $ cd pouet/
    (mando@aldur) (~/pouet) $ touch plop.txt
    (mando@aldur) (~/pouet) $ ls -l plop.txt
    -rw-r--r-- 1 mando mando 0 fév 22 13:23 plop.txt
    (mando@aldur) (~/pouet) $ cd ..
    (mando@aldur) (~) $ cat pouet/plop.txt
    (mando@aldur) (~) $ chmod 400 pouet
    (mando@aldur) (~) $ ls -l | grep pouet
    dr--------  2 mando mando    4096 fév 22 13:22 pouet
    (mando@aldur) (~) $ cat pouet/plop.txt
    cat: pouet/plop.txt: Permission non accordée
    

    Bonne chance
    0
    1. Modérateur
      Salut,

      Dans le cas classique, effectivement ce n'est pas possible.
      En revanche tu peux toujours chercher d'autre solutions pour gérer les utilisateurs/groupes et leurs droits d'accès

      Mais il faut savoir ce que tu fais, puisque la solution que je présente n'est pas très fiable, vu que l'accès sera interdit totalement.

      Créer un groupe LS et le faire groupe principal de la commande /bin/ls
      Attribuer les droits nécessaires et le tours est joué.

      L'utilisateur peux faire cat mais il ne peux pas faire ls
      Ce n'est pas une vraie solution, vu que l'utilisateur ne peux plus exécuter ls quelque soit le répertoire.

      lami20j@debian:~/trash$ sudo groupadd LS
      lami20j@debian:~/trash$ ls -l /bin/ls
      -rwxr-xr-x 1 root root 92312 avr  4  2008 /bin/ls
      lami20j@debian:~/trash$ sudo chgrp -v LS /bin/ls
      Changement de groupe de `/bin/ls' vers LS
      lami20j@debian:~/trash$ ls -l /bin/ls
      -rwxr-xr-x 1 root LS 92312 avr  4  2008 /bin/ls
      lami20j@debian:~/trash$ sudo chmod -v 0750 /bin/ls
      Le mode d'accès de `/bin/ls' a été modifié à 0750 (rwxr-x---).
      lami20j@debian:~/trash$ ls -l /bin/ls
      bash: /bin/ls: Permission non accordée
      lami20j@debian:~/trash$ ls /mnt/
      all/   hda10/ hda5/  hda7/  hdc1/
      lami20j@debian:~/trash$ ls /mnt/all/
      a/ b/ c/
      lami20j@debian:~/trash$ ls -l /mnt/all/a/
      bash: /bin/ls: Permission non accordée
      lami20j@debian:~/trash$ cat /mnt/all/a/fichier.txt
      salut
      


      Peut être avant de trouver une solution, il sera mieux de comprendre que veux tu obtenir exactement, les raisons pour interdire certains droits. Ca nous permettra peut être t'orienter vers une autre solution.

      Pour qu'un utilisateur puisse exécuter ls il doit être même au groupe LS
      lami20j@debian:~$ su - test2
      Mot de passe :
      test2@debian:~$ groups
      test LS
      test2@debian:~$ ls -al
      total 24
      drwxr-xr-x  2 test2 test 4096 jan 25 12:56 .
      drwxr-xr-x 16 root  root 4096 fév 19 19:44 ..
      -rw-------  1 test2 test  155 fév 22 17:50 .bash_history
      -rw-r--r--  1 test2 test  220 mai 12  2008 .bash_logout
      -rw-r--r--  1 test2 test 3116 mai 12  2008 .bashrc
      -rw-r--r--  1 test2 test  675 mai 12  2008 .profile
      test2@debian:~$ ls -l /mnt/all/
      total 12
      drwxr-xr-x 2 root root 4096 fév 22 12:44 a
      drwxr-xr-x 2 root root 4096 fév 22 12:44 b
      drwxr-xr-x 2 root root 4096 fév 22 12:44 c
      test2@debian:~$ cat /mnt/all/a/fichier.txt
      salut
      test2@debian:~$
      


      Mais l'exploration de fichiers on peu le faire avec plusieurs programmes. Interdire que l'utilisation ls n'est pas du tout une solution.
      0
      1. Modérateur
        La vraie question c'est surtout pourquoi il veut faire ça... Ou plutôt ce qu'il cherche à faire...
        0
        1. hello
          il peut aussi donner au répertoire rep le droit x seulement : chmod 711 rep
          créer un dossier rep/a avec le fichier fic dans a,
          ls rep n'est pas possible, mais cat rep/a/fic est possible, avec a et fic qui sont chmod 755 a et chmod 644 fic
          mais
          cd rep/a ; ls
          reste toujours possible
          0