Forum général.général droit en écriture sur un répertoire

Posté par  .
Étiquettes : aucune
0
16
oct.
2007
Bonjour,

En fait dans un partage samba "public" (où tous les utilisateurs peuvent écrire dedans..), je voudrais créer un répertoire (avec le compte root par exemple) et que personne ne pourrait supprimer mais que les utilisateurs pourraient écrire dedans...

C'est sans doute très simple mais je n'y arrive pas...

Merci beaucoup pour votre aide
  • # je me trompe peut-etre mais...

    Posté par  . Évalué à 1.

    s'il peut ecrire dedans il peut effacer

    il vaut peut-etre mieux faire un public2

    à moins que le but ne soit que les gens deposent dedans mais que personne ne puisse effacer quelque soit le contenu (mais à ce moment là je ne vois pas trop)
    • [^] # Re: je me trompe peut-etre mais...

      Posté par  . Évalué à 2.

      "s'il peut ecrire dedans il peut effacer"

      Ca depend .... prend tmp par exemple, tout le monde peut ecrire dedans mais tu ne peux effacer que tes propres fichiers.

      à moins que le but ne soit que les gens deposent dedans mais que personne ne puisse effacer quelque soit le contenu (mais à ce moment là je ne vois pas trop)

      mkdir toto
      chmod 777 toto

      chmod +t toto

      # ls -ld toto
      drwxrwxrwt 2 root wheel 512 Oct 17 09:00 toto

      lIl suffit de s'assurer que le repertoire contenant toto ne soit pas modifiable par les utilisateurs et le tour est joué.
  • # droit en écriture sur un répertoire

    Posté par  . Évalué à 1.

    Tente avec
    chmod 1777 mon_repertoire
    Normalement tout le monde peut écrire et supprimer SES fichiers mais pas ceux du voisin
    Mais je n'ai pas testé :-(
    • [^] # Re: droit en écriture sur un répertoire

      Posté par  . Évalué à 1.

      si ca marche, il n'y a plus qu'à adapter dans la config samba en

      directory mask = 1777
    • [^] # Re: droit en écriture sur un répertoire

      Posté par  . Évalué à 1.

      merci mais ca ne marche pas... les utilisateurs peuvent supprimer ce répertoire...
      • [^] # Re: droit en écriture sur un répertoire

        Posté par  . Évalué à 1.

        logique (voir mon premier post)

        dossier public : tout le monde peut tout faire
        dossier public/privé : tout le monde peut tout faire, mais pas supprimer privé/

        ah si, je vois bien un methode pour le faire en passant par les ACL.

        il faut les ACL sur le systeme de fichier et dans samba
        http://www.coagul.org/article.php3?id_article=177

        par defaut (en tout cas sur ubuntu 6.10 et 7.04) le ext3 supporte les ACL nativement il suffit alors d'activer les options dans le fstab

        UUID=6a29e979-c3a4-49f4-b074-09080e477d5a / ext3 defaults,acl,errors=remount-ro 0 1


        et pour samba

        [mon_partage]
        #### inherit permissions or acl
        # inherit acls (S)
        # Default: inherit acls = no
        inherit acls = yes

        # inherit permissions (S)
        # Default: inherit permissions = no
        inherit permissions = yes
        [...]


        ensuite il suffira de dire que ce dossier ne peut etre supprimer que par le root (ou tout autre utilisateur designé)
  • # Tiens j'ai eu le même problème la semaine dernière

    Posté par  (site web personnel) . Évalué à 4.

    Pour permettre à tous d'écrire dans un répertoire sans permettre les modification sur les fichiers dont on est pas propriétaire il faut positionner le sticky bit sur les droits du dossier :

    chmod a+t dossier

    C'est surtout utilisé aujourd'hui pour ce type de répertoire et notamment pour le répertoire /tmp.

    http://en.wikipedia.org/wiki/Sticky_bit

    Pas besoin d'utiliser les ACLs s'il n'y a pas plus à faire.
    • [^] # Re: Tiens j'ai eu le même problème la semaine dernière

      Posté par  . Évalué à 1.

      merci mais le problème n'est pas tout à fait le même,
      Je m'explique :

      J'ai qu'un seul utilisateur (qui d'ailleurs est : "utilisateur"...). Tous les étudiants (je travaille dans l'éducation) utilisent tous le même compte (le profil est non-modifiable et téléchargé a chaque session depuis le PDC).
      L'utilisateur a acces en lecture/écriture à un partage samba qui s'appelle "public".

      Il est donc inutile de mettre le sticky bit car tous les données écrites sur "public" sont créés par l'utilisateur "utilisateur"... chaque peut supprimer ce qu'il veut... pour moi c'est le but.

      Ce que je souhaite faire, c'est créer un répertoire dans le partage "public" et que les utilisateurs ne pourront pas supprimer mais ils pourront écrire dedans...

      PS: pour tout vous dire c'est pour créer un répertoire "php" que je rends accessible par un serveur apache pour que les étudiants y mettent des fichiers .php....


      Comme me l'a conseillé NeoX, je vais regarder du coté des acls... je pourrais faire un nouveau partage "php"... mais je voudrais éviter d'avoir un lecteur réseau supplémentaire (ils en ont déjà pas mal!)
      • [^] # Re: Tiens j'ai eu le même problème la semaine dernière

        Posté par  . Évalué à 1.

        si le but c'est de tester des fchiers php à partir d'un apache,

        je ferais le reglage suivant :
        regler apache pour aller prendre le dossier /home/utilisateur/public_html (c'est une option dans la conf)

        avec samba mapper un lecteur vers /home/utilisateur
        (ou pour les paranos : /home/utilisateur/public_html)

        il suffira alors aux utilisateurs de deposer les fichiers dans ce map
        et d'aller sur
        http://ton_serveur_apache/~utilisateur/le_fichier.php

        et pour les structures plus complexes, il suffit de faire un dossier dans le map et d'aller ensuite dans
        http://ton_serveur_apache/~utilisateur/le_dossier/
      • [^] # Re: Tiens j'ai eu le même problème la semaine dernière

        Posté par  . Évalué à 1.

        Alors, les acl c'est tres tres lourd à gérer
        Reste la solution ( à vérifier ) :

        mkdir ./publique
        chown root:root publique
        chmod 1777 publique

        Normalement, le répertoire appartient à root, donc même avec les droits rw, le compte utilisateur ne peut pas le supprimer, par contre il peut écrire et supprimer ses fichiers
  • # Droit sur le répertoire contenant

    Posté par  . Évalué à 1.

    Supprimer un fichier (un répertoire est un fichier) dépend des droits sur le répertoire qui le contient (sauf si le sticky bit est utilisé). Donc si tes utilisateurs n'ont pas le droit d'écriture sur le répertoire qui contient ton répertoire commun il ne pourront pas le supprimer.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.