Rechercher : dans
Par :

Script bash ajout utilisateur samba

Dernière réponse le 19 déc 2008 à 16:47:54 tourdball, le 21 avr 2006 à 15:09:00 
 Signaler ce message aux modérateurs

Bonjour à tous,
découvrant les joies de l'administration, je me dois aussi de découvrir les joies des automatisation si je ne veux pas devenir fou que que mes doigt restent collés aux clavier 24/24 sur... Je dois don apprendre à écrire des script bash.

Le premier que je souhaiterai faire est la création de la création d'un nouveqau utilisateur pour un partage samba avec security=user. Voici ma question :

Comment inclure dans mon script :
- ouvrir le fichier /etc/samba/smb.conf avec vi
- positionner le curseur à la fin du fichier
- aller à la ligne et insérer une ligne
- insérer les lignes suivantes : #ou $USR a été défini précédement

[doc_$USR]
path = /home/$USR/documenti_$USR
valid users = $USR
public = no
writable = yes
create mask = 0700
browseable = no

- enfin sauvegarder et quitter


Voilà, je connais bien évidement les commandes : vi, i pour insérer, :wq, etc... mais comment faire les inclure dans un script bash?

Merci d'avance pour votre aide;-)
A+

Meilleures réponses pour « script bash ajout utilisateur samba » dans :
Installation serveur Samba VoirInstallation et configuration d'un serveur Samba version 3.0.2a Linux Mandrake version 10.0 Prérequis Introduction 1.Architecture de Samba 2.Installation des paquetages nécessaires au serveur samba Premier démarrage de Samba Les commandes...
[Bash] La variable d'environnement PATH VoirLa variable d'environnement PATH I. Préambule II. C'est quoi le shell ? III. Définition IV. Séance de dissection V. Ajouter un répertoire à la variable PATH VI. Et puis... I. Préambule Sous les systèmes GNU/Linux qu'on le veuille ou...

1

[Dal], le 21 avr 2006 à 18:37:08

Salut,

Tu peux faire comme çà :

cat << HERE >> /etc/samba/smb.conf 

[doc_$USR]
path = /home/$USR/documenti_$USR
valid users = $USR
public = no
writable = yes
create mask = 0700
browseable = no
HERE

On peut le faire avec vi aussi, mais bash tout seul et les redirections sont suffisantes.

Ce procédé "<< HERE" s'appelle un "Here Document". Il permet d'éviter d'avoir à créer un document séparé au script quand it s'agit d'en rediriger le contenu vers le stdin d'une commande. On peut utiliser un autre mot que HERE, bien sûr. Le document est en quelques sortes "simulé" à l'intérieur du script.

Ses différentes variantes sont décrites dans le ABS Guide :

http://www.aero.jussieu.fr/services/INFO/documentation/mendel/HTML/here-docs.html

Le ">>" sert à modifier le fichier texte en ajoutant le contenu redirigé à la fin du fichier texte (append).

Un simple ">" par contre écraserait le fichier texte avec le nouveau contenu.

Travaille sur une copie de ton smb.conf... un accident est vite arrivé :)


Dal

Répondre à [Dal]

2

tourdball, le 24 avr 2006 à 11:19:08

Salut Dal et merci pour ton aide, çà marche Nickel ;-)

Un peu plus compliqué maintenant...

Je suis en train de faire un petit script pour éliminer un user, et à un moment donné, je voudrai tester s'il existe une ligne [doc_$USR] dans /etc/samba/smb.conf et le cas échéant l'éliminer ainsi que les 6 lignes qui suivent... tu vois ce que je veux dire?

C'est possible?
A+ :-)

Répondre à tourdball

3

anonymous, le 19 déc 2008 à 13:50:23

Cat /etc/samba/smb.conf | grep '[doc_$USR]' | wc -l

Répondre à anonymous

4

 jipicy, le 19 déc 2008 à 16:47:54

Merci pour ce complément d'info deux ans et demi après, mais ça ne répond pas entièrement à la demande il me semble, non ? ;-)

grep -A6 aurait sans doute était préférable (sans le | wc -l)
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy