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...
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...
Gérer les utilisateurs de XP et Vista grâce aux commandes DOS VoirVoici comment gérer les utilisateurs avec DOS dans XP et Vista. Vous allez me dire, pourquoi passer par DOS si on peut passer par gpedit.msc ? La réponse est simple: gpedit.msc n'est pas dans Vista familial et, dans XP familial, les commandes DOS...
Linux - Gestion des utilisateurs VoirPremier pas de l'administrateur Lorsque diverses personnes ont accès à un système, il est nécessaire que l'administrateur système gère les utilisateurs. Pour ceci, les commandes usuelles et les fichiers à configurer doivent être connus. Les...
Linux - Gestion des utilisateurs VoirPremier pas de l'administrateur Lorsque diverses personnes ont accès à un système, il est nécessaire que l'administrateur système gère les utilisateurs. Pour ceci, les commandes usuelles et les fichiers à configurer doivent être connus. Les...
Windows 7 - Gestion des utilisateurs VoirConfigurez votre PC Comme avec Windows Vista, vous pouvez avec Windows 7 bénéficier d’un environnement de travail bien à vous, tel que vous l’avez défini et personnalisé. Ce travail de configuration et de réglage passe par l’utilisation des comptes...

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