IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Interdire les redirections > >> <


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Août 2020
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2020
    Messages : 160
    Par défaut Interdire les redirections > >> <
    Bonjour,

    Y a t-il une possibilité d'interdire à un utilisateur les redirections du type > >> < ?

    Besoin : l'utilisateur ne peut pas modifier le fichier "toto" mais il peut faire ceci "cat toto > titi"

    Merci.

  2. #2
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Par défaut
    Citation Envoyé par kevin066 Voir le message
    Bonjour,

    Y a t-il une possibilité d'interdire à un utilisateur les redirections du type > >> < ?

    Besoin : l'utilisateur ne peut pas modifier le fichier "toto" mais il peut faire ceci "cat toto > titi"
    Salut,

    1 - Tu es conscient que cela ne l’empêcherais pas de faire un

    2 - Tu empêcherais même tous les programmes d'afficher un résultat ?

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 663
    Par défaut
    Bonjour,

    l'utilisateur ne peut pas modifier le fichier "toto" mais il peut faire ceci "cat toto > titi"
    et alors ? tant qu'il ne peut pas toucher à toto, tout va bien, non ?

    et si l'utilisateur a besoin de redirections pour son usage personnel, en dehors de ton fichier toto ?
    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $ cat <<eof >~/sonFichierAluiPerso
    kevin est pas gentil
    il veut pas me laisser mes redirections !
    eof
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 839
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par kevin066 Voir le message
    Besoin : l'utilisateur ne peut pas modifier le fichier "toto" mais il peut faire ceci "cat toto > titi"
    Et? Est-ce grave? Les droits Unix sont assez bien faits. C'est un principe de base que si l'utilisateur peut lire "toto" il a alors parfaitement le droit de le copier. Et la modification de toto ne poura se faire que s'il a les droits d'écriture sur toto (ça peut aussi se faire même s'il n'a que les droits de lecture à condition que le dossier qui le contient soit, pour sa part, en écriture => il copie chez-lui, il efface l'original, il remet sa copie à la place)

    Tu ne peux pas interdire la redirection, ça fait partie du shell. Si l'utilisateur ne peut pas créer le fichier lors de l'action (parce que la redirection étant demandée dans un dossier n'ayant pas le droit d'écriture) ce sera refusé par l'OS. Mais rien de plus.

    Tu as toutefois possibilité d'actver l"option "noclobber" via set -o noclobber (à faire dans son .bashrc). Cette option a l'avantage que si la redirection est demandée sur un fichier déjà existant (oups la boulette) c'est alors refusé. L'inconvénient c'est que si tu veux le faire 2 fois sur un même fichier (exemple en phase de tests pour lequel c'est légitime) ben ça le refuse aussi (obligation d'effacer le fichier avant de le refaire).
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Tu as toutefois possibilité d'actver l"option "noclobber" via set -o noclobber (à faire dans son .bashrc). Cette option a l'avantage que si la redirection est demandée sur un fichier déjà existant (oups la boulette) c'est alors refusé.
    C'est ce que je fais depuis au moins 40 ans...

    L'inconvénient c'est que si tu veux le faire 2 fois sur un même fichier (exemple en phase de tests pour lequel c'est légitime) ben ça le refuse aussi (obligation d'effacer le fichier avant de le refaire).
    ou alors, pour certains shells, on peut utiliser le passe-droit >|:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    % echo coucou > /tmp/coucou
     
    % echo coco > /tmp/coucou
    zsh: file exists: /tmp/coucou
     
    % cat /tmp/coucou
    coucou
     
    % echo coco >| /tmp/coucou 
     
    % cat /tmp/coucou
    coco

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 839
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par jack-ft Voir le message
    C'est ce que je fais depuis au moins 40 ans...
    Depuis 1983 donc. Jolie performance vu que Linux a été créé en 1993. Tu ne serais pas un peu marseillais?
    Citation Envoyé par jack-ft Voir le message
    ou alors, pour certains shells, on peut utiliser le passe-droit >|:
    Ah ça je ne connaissais pas

    PS: tu as fait tes tests en zsh mais ça fonctionne aussi avec bash.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  7. #7
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Depuis 1983 donc. Jolie performance vu que Linux a été créé en 1993. Tu ne serais pas un peu marseillais?
    J'avoue .. J'ai ri mais ksh date de cette epoque sur Unix

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    Certains outils comme awk ont 50 ans.

    Les normes et standards d'Internet sont souvent anciens, ce que beaucoup de gens oublient. La technologie évolue rapidement, mais tout n'évolue pas au même rythme.
    La suite TCP/IP a été conçue dans les années 80.
    Et si on considère le protocole SMTP basée sur la RFC822 on arrive fin des années 70.
    Perl, Python: fin des années 80...

    Avant Linux, il y avait Unix et des dérivés comme FreeBSD ou Solaris. Certains existent encore.

    Le principe de la redirection de fichiers est aussi vieux que Unix lui-même je pense.

  9. #9
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Depuis 1983 donc. Jolie performance vu que Linux a été créé en 1993. Tu ne serais pas un peu marseillais?
    [HS]
    Ben non, pas trop... Après avoir écrit mes premiers programmes en Fortran sur cartes perforées pour UNIVAC (1977-1981), j'ai fait pas mal de lisp, sur SM90 / SMX (donc un clone UNIX) (1982), sur DEC / Multics (1983), sur VAX 750, VAX 780, SUN 2 sous UNIX (1984-1991, je crois que c'était un BSD 4.2 puis 4.3 puis Solaris), sur SPARC / UNIX (1998-2008), etc.

    Pour les shells, je sais plus trop (alzheimer...), mais y a eu du bourne shell, du ksh, un petit passage par csh, tcsh et du bash et une récente conversion au zsh (ben oui, quand est sur un mac...)

    J'ai commencé avec "ed" sur terminal papier, puis "emacs" (commode pour un lispien !) sur VT100...
    [/HS]

  10. #10
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Citation Envoyé par kevin066 Voir le message
    Y a t-il une possibilité d'interdire à un utilisateur les redirections du type > >> < ?

    Besoin : l'utilisateur ne peut pas modifier le fichier "toto" mais il peut faire ceci "cat toto > titi"
    Pourrais-tu décrire plus précisément ton besoin ?

    Que veux-tu qu'il ait le droit de faire et que veux-tu empêcher ?

  11. #11
    Membre Expert
    Avatar de Escapetiger
    Homme Profil pro
    Administrateur système Unix - Linux
    Inscrit en
    Juillet 2012
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur système Unix - Linux

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1 562
    Par défaut
    Citation Envoyé par jack-ft Voir le message
    Pourrais-tu décrire plus précisément ton besoin ?

    Que veux-tu qu'il ait le droit de faire et que veux-tu empêcher ?
    @jack-ft

    Je pense qu'il s'agit du prolongement de la question posée par kevin066 lui-même ci-dessous :

    Compte uniquement en lecture - Administration système
    « Developpez.com est un groupe international de bénévoles dont la motivation est l'entraide au sens large » (incl. forums developpez.net)
    Club des professionnels en informatique

    Liste des balises BB

Discussions similaires

  1. Interdire les touche ALT F4
    Par phoon dans le forum Access
    Réponses: 1
    Dernier message: 08/03/2006, 17h24
  2. [Struts]Interdire les cookies
    Par yush dans le forum Struts 1
    Réponses: 4
    Dernier message: 07/02/2006, 13h11
  3. Réponses: 2
    Dernier message: 22/07/2005, 08h52
  4. Trouver les redirections dans des traces
    Par severine dans le forum Développement
    Réponses: 3
    Dernier message: 21/04/2004, 18h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo