OVH Cloud OVH Cloud

Copie avec cp incluant l'accès admin

4 réponses
Avatar
Oleane Newsgroup
Bonjour !

Sur unix, j'utilise un batch (je crois qu'on appelle comme ça un fichier de
commandes) pour copier une série de fichiers d'un dossier à un autre pour
que les users puisse travailler dessus sans toucher aux originaux.

Les Originaux ne sont copiables qu'en su (administrateur), la copie hors su
est impossible, mon batch de fonctionne pas.

Est'il possible d'inclure la command su et la saisie du mot de passe dans
mon batch ? Ou existe t'il un meilleur moyen pour executer un batch en tant
que user sur des fichiers protégés accessiblent uniquement en admin ?

Merci de votre aide

4 réponses

Avatar
lhabert
"Oleane Newsgroup" :

Sur unix, j'utilise un batch (je crois qu'on appelle comme ça un fichier de
commandes)


Le terme consacré est plutôt script, enfin tout le monde comprend batch...

pour copier une série de fichiers d'un dossier à un autre pour que les
users puisse travailler dessus sans toucher aux originaux.

Les Originaux ne sont copiables qu'en su (administrateur), la copie hors su
est impossible, mon batch de fonctionne pas.

Est'il possible d'inclure la command su et la saisie du mot de passe dans
mon batch ? Ou existe t'il un meilleur moyen pour executer un batch en tant
que user sur des fichiers protégés accessiblent uniquement en admin ?


Il y a sudo qui est fait pour ça. Tu édites /etc/sudoers pour autoriser
certains utilisateurs à lancer ton sans mot de passe.

Maintenant, attention, si ton script ne fait pas les choses comme il faut,
il y aura bien un petit malin pour mettre un lien symbolique vers autre
chose sur l'une des cibles de tes cp, et cp va donc se mettre à aller écrire
dans un fichier au choix du petit malin...

En fait, si tu veux permettre aux gens de recopier les fichiers, pourquoi ne
pas juste leur donner la permission de lecture?

Avatar
Oleane Newsgroup
"Luc Habert" a écrit dans le message de news:
ekf1fk$1gb8$
"Oleane Newsgroup" :

Sur unix, j'utilise un batch (je crois qu'on appelle comme ça un fichier
de
commandes)


Le terme consacré est plutôt script, enfin tout le monde comprend batch...


Ok pour le script !


Est'il possible d'inclure la command su et la saisie du mot de passe dans
mon batch ? Ou existe t'il un meilleur moyen pour executer un batch en
tant
que user sur des fichiers protégés accessiblent uniquement en admin ?


Il y a sudo qui est fait pour ça. Tu édites /etc/sudoers pour autoriser
certains utilisateurs à lancer ton sans mot de passe.


sudo ! je vais voir si j'arrive à l'utliser !


En fait, si tu veux permettre aux gens de recopier les fichiers, pourquoi
ne
pas juste leur donner la permission de lecture?


En fait c'est une appli qui tourne sur AIX et qui est maintenu par une
société tierce avec qui les rapports sont tendus.
Je suis nul sur AIX/Unix et je voudrais mettre en place un outil Type BO sur
windows pour traiter les données sans toucher au originaux. Les users
doivent pouvoir 'lancer' le script de copie au coup par coup (je songe à
l'automatiser avec crontab mais je découvre..)

Merci pour ta réponse !


Avatar
lhabert
"Oleane Newsgroup" :

En fait c'est une appli qui tourne sur AIX et qui est maintenu par une
société tierce avec qui les rapports sont tendus.
Je suis nul sur AIX/Unix et je voudrais mettre en place un outil Type BO sur
windows pour traiter les données sans toucher au originaux. Les users
doivent pouvoir 'lancer' le script de copie au coup par coup (je songe à
l'automatiser avec crontab mais je découvre..)


Dans ce cas, je couperais le script en deux :
- un morceau, lancé en tant que root via sudo qui crée un tarball des
fichiers que tu veux exporter, et l'écrit sur sa sortie standard
- l'autre morceau, lancé au nom de l'utilisateur, qui appelle via sudo le
premier morceau, puis récupère le tarball produit et le détarre à son nom.

Comme ça, la partie qui tourne avec les droits de root ne fait que de la
lecture, ce qui évite les attaques à coup de symlink.

Avatar
Pascal Bourguignon
"Oleane Newsgroup" writes:

Bonjour !

Sur unix, j'utilise un batch (je crois qu'on appelle comme ça un fichier de
commandes)


Un 'script'.

'batch' = 'traitement par lot'.

On peut lancer un script soit interactivement (sur la ligne de
commande), soit pour un traitement par lot, avec la commande batch(1)
ou la commande at(1). Avec batch, le script sera alors exécuté
indépendament du terminal, quand la charge du système sera suffisament
basse. Avec at, le script sera exécuté indépendament du terminal, à
une date indiquée.

Bien entendu, pour un traitement par lot, on ne peut pas donner les
commandes interactivement, il faut les écrire dans un script. Mais on
peut aussi exécuter un script interactivemenent.


pour copier une série de fichiers d'un dossier à un autre pour
que les users puisse travailler dessus sans toucher aux originaux.

Les Originaux ne sont copiables qu'en su (administrateur), la copie hors su
est impossible, mon batch de fonctionne pas.

Est'il possible d'inclure la command su et la saisie du mot de passe dans
mon batch ? Ou existe t'il un meilleur moyen pour executer un batch en tant
que user sur des fichiers protégés accessiblent uniquement en admin ?


Si on ne veut qu'empêcher l'écriture (la modification) de ces
fichiers, on n'a besoin de rien de spécial. Il suffit de ne pas donner
les droits d'accès en écriture sur les fichiers et leur répertoire:


mkdir originaux
touch originaux/fichier
chmod 755 originaux
chmod 644 originaux/fichier
sudo chown -R admin originaux

À partir de là, tout utilisateur différent de admin pourra lire
originaux/fichier, mais ne pourra pas le modifier ni le remplacer.
Donc, pour travailler avec, il faudra qu'il se fasse une copie:

cp originaux/fichier ma-copie


Pas vraiment besoin d'un script pour remplacer une si simple commande.

--
__Pascal_Bourguignon__ _ Software patents are endangering
() ASCII ribbon against html email (o_ the computer industry all around
/ 1962:DO20I=1.100 // the world http://lpf.ai.mit.edu/
2001:my($f)=`fortune`; V_/ http://petition.eurolinux.org/