it-swarm.com.de

So fügen Sie Benutzer für die Samba-Freigabe über ein Shell-Skript hinzu

Normalerweise verwende ich diesen Befehl, wenn ich einen Benutzer für den freigegebenen Samba-Ordner hinzufügen möchte:

Sudo smbpasswd -a <username>

und dann springt dies heraus

New SMB password:
Retype new SMB password:

und jetzt möchte ich dies in einem Skript tun, aber damit es dort nicht aufhört und mich bittet, ein Passwort einzugeben

das ist mein Drehbuch:

##################################################################
#!/bin/bash

mkdir /var/www/html/test

tee -a /etc/samba/smb.conf << EOF
[test]

comment = Test folder
path = /var/www/html/test
browsable = yes
valid users = tester
read only = no
EOF

smbpasswd -a tester
password
password

... Wie kann ich das Passwort fest codieren?

1
lewis4u

Ich habe die Lösung alleine von diese Website gefunden

Wenn Sie also ein Skript zum Hinzufügen eines bestimmten Benutzers zur Samba-Freigabe erstellen möchten, gehen Sie folgendermaßen vor:

Dieser Teil des Skripts ist 'Standard' und muss bis auf den Pfad des Ordners, den Sie freigeben möchten, nicht geändert werden:

##################################################################
#!/bin/bash

# make a folder if it doesn't exist
[ ! -d /var/www/html/test ] && mkdir -p /var/www/html/test

# append these lines at the end of the /etc/samba/smb.conf file
tee -a /etc/samba/smb.conf << EOF
[test]

comment = Test folder
path = /var/www/html/test
browsable = yes
valid users = tester
read only = no
EOF

und jetzt wenn du willst:

füge einen bestehenden Benutzer hinzu: füge dies dem obigen 'Standard-Skript' hinzu:

username='<existing_user_name>'
(echo "<password_for_user>"; sleep 1; echo "<password_for_user>" ) | Sudo smbpasswd -s -a $username

füge einen neuen Benutzer hinzu, der nicht im Betriebssystem existiert: Hänge dies an das obige 'Standardskript' an:

username='<new_user_name>'
useradd -m $username
(echo "<password_for_user>"; sleep 1; echo "<password_for_user>";) | passwd $username
(echo "<password_for_user>"; sleep 1; echo "<password_for_user>" ) | Sudo smbpasswd -s -a $username
2
lewis4u