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.
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.
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 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2cp toto titi
Bonjour,
et alors ? tant qu'il ne peut pas toucher à toto, tout va bien, non ?l'utilisateur ne peut pas modifier le fichier "toto" mais il peut faire ceci "cat toto > titi"
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![]()
Bonjour
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]
C'est ce que je fais depuis au moins 40 ans...
ou alors, pour certains shells, on peut utiliser le passe-droit >|: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).
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![]()
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]
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.
[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]
@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
Partager