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

  1. #1
    Membre du Club
    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
    Points : 59
    Points
    59
    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
    Points : 5 915
    Points
    5 915
    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 550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    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
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    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 689
    Points : 30 983
    Points
    30 983
    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 101
    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 101
    Points : 5 849
    Points
    5 849
    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 ?

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    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 101
    Points : 5 849
    Points
    5 849
    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

  7. #7
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    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 689
    Points : 30 983
    Points
    30 983
    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]

  8. #8
    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
    Points : 5 915
    Points
    5 915
    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

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Points : 1 876
    Points
    1 876
    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.

  10. #10
    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
    Points : 5 915
    Points
    5 915
    Par défaut
    Citation Envoyé par binarygirl Voir le message

    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.
    Le pipe date de multics dans les années 60

    Par contre pour les dérivés d'Unix, il en reste pas énormément d'actif : OpenIndianna pour Solaris et La famille BSD et AIX

  11. #11
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    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 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par becket Voir le message
    Le pipe date de multics dans les années 60
    Oui mais ici il s'agit de redirections. Mais si le pipe existait ça devait exister aussi.

    Moi aussi j'ai commencé avec Unix et Bourne Shell (le vrai, le seul, le premier, celui qui n'avait pas d'historique et un prompt fixe).
    Toutefois je ne sais pas si l'option "noclobber" ainsi que la syntaxe ">|" (qui n'est pas un pipe!!!) existaient dans cette préhistoire...
    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]

  12. #12
    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
    Points : 5 915
    Points
    5 915
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Oui mais ici il s'agit de redirections. Mais si le pipe existait ça devait exister aussi.
    Citation Envoyé par Sve@r Voir le message
    Toutefois je ne sais pas si l'option "noclobber" ainsi que la syntaxe ">|" (qui n'est pas un pipe!!!) existaient dans cette préhistoire...
    Je n'ai jamais considéré que le >| était un pipe et je répondais à binarygirl à propos des redirections aussi vielle que Unix

    L"option noclobber daterait quand à elle de 1979 avec Unix V7

  13. #13
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    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 101
    Points : 5 849
    Points
    5 849
    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]

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

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

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1 476
    Points : 11 051
    Points
    11 051
    Par défaut
    Citation Envoyé par becket Voir le message
    (.../...)Par contre pour les dérivés d'Unix, il en reste pas énormément d'actif : OpenIndianna pour Solaris et La famille BSD et AIX
    Hey,

    On trouve des offres d'emploi sur developpez ici avec les mots-clé Solaris (Oracle Solaris de nos jours), HP-UX, AIX (effectivement), et même SCO Openserver par exemple, etc.

    Il s'agit la plupart du temps de legacy (cf. Système hérité) mais pas que. Certains clients ne peuvent pas se permettre de migrer «du jour au lendemain» vers de nouveaux systèmes (applications anciennes, compétences, contrat éditeur/constructeur/infogérant... taille de la base installée, etc.)
    e.g. de mémoire, les Hôpitaux de Paris, l' AP-HP, tourne sur ... HP-UX

    https://bhami.com/rosetta.html
    Rosetta Stone for Unix - Bruce Hamilton

    Amicalement,
    « 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

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

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

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1 476
    Points : 11 051
    Points
    11 051
    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

  16. #16
    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
    Points : 5 915
    Points
    5 915
    Par défaut
    Citation Envoyé par Escapetiger Voir le message
    et même SCO Openserver par exemple
    Tu bluffes Martoni !

    C'est bien le problèmes des SSI ayant une vision court-termiste de leur infra et n'hésite pas à se lier à un prestataire de service / solution sans imaginer ce qu'il adviendra de cette solution dans quelques années

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

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

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1 476
    Points : 11 051
    Points
    11 051
    Par défaut
    Citation Envoyé par Escapetiger Voir le message
    et même SCO Openserver par exemple
    Citation Envoyé par becket Voir le message
    Tu bluffes Martoni !
    Mea culpa, j' y suis allé comme un bourrin dans la rubrique emploi avec ces mots-clé, le souvenir également d'avoir répondu à un membre ici, je ne pensais pas que c'était aussi ancien...

    Merci pour cette réplique culte d'un film culte que j'avais oublié, on s'en paye une tranche ? :


    Tu bluffes Martoni ! - "La cité de la peur" - 1994

    FILMS CULTES
    « 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

  18. #18
    Membre habitué
    Homme Profil pro
    sans
    Inscrit en
    Juillet 2019
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Juillet 2019
    Messages : 127
    Points : 126
    Points
    126
    Par défaut

    j'ai dû trouver une version soutitrée car impossible de comprendre ce que dit Chabat au préfet -> "Y dit qu'il voit pas le rapport"
    Vous êtes graves
    http://www.facebook.com/cineseriecom...3719022548181/

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