Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
Success
- Beiträge: 288
- Registriert: 01.06.2013 21:23:15
Beitrag
von Success » 28.02.2014 22:54:33
Hallo
Ich habe einen Raspberry Pi mit proftpd als FTP Server. Er läuft ganz gut nur ist das User erstellen bisschen aufwändig. Da ich im Scripten ziemlich schlecht bin, und keine Vorstellung habe, wie ich da überhaupt vorgehen soll wollte ich fragen wie man sowas am besten lösen kann.
Der Befehl für einen User erstellen sieht so aus
Code: Alles auswählen
# Erstelle Rootverzeichnis für den neuen User
mkdir /media/ext/ftp/user
# Erstelle den neuen User mit der Shell /bin/false (Denke mal eine Pseudo Shell mit der man nichts anfangen kann) und dem Homeverzeichnis das mit Schritt 1 angelegt wurde
adduser user -shell /bin/false -home /media/ext/ftp/user
# Füge den neuen Benutzer zur Gruppe ftp hinzu. Das muss ich tun weil sonst kann proftpd mit dem User nichts anfangen
adduser user ftp
# Ändere den Besitzer des in Befehl angelegten Ordners von Root auf den neu angelegten User
chown -R user:user /media/ext/ftp/user
# Ändere die Berechtigung des Ordners damit der User auch schreiben und ausführen (Verzeichnis wechseln) kann
chmod -R 770 /media/ext/ftp/user
Ich hab mich bereits in /etc/skal eingelesen aber das scheint nur eine Vorlage für zukünftige Home Verzeichnisse zu sein
Ich will nur den neuen User und das Passwort eingeben müssen. Würde das funktionieren?
-
Cae
- Beiträge: 6349
- Registriert: 17.07.2011 23:36:39
- Wohnort: 2130706433
Beitrag
von Cae » 28.02.2014 23:01:45
Naja, im Grunde ersetzt du
user durch eine Variable:
Code: Alles auswählen
#!/bin/sh
if [ 1 != $# ]; then
echo "Usage: ${0##*/} {new user}"
exit 1
fi
user="$1"
# Erstelle Rootverzeichnis für den neuen User
mkdir /media/ext/ftp/"$user"
# Erstelle den neuen User mit der Shell /bin/false (Denke mal eine Pseudo Shell mit der man nichts anfangen kann) und dem Homeverzeichnis das mit Schritt 1 angelegt wurde
adduser "$user" -shell /bin/false -home /media/ext/ftp/"$user"
# Füge den neuen Benutzer zur Gruppe ftp hinzu. Das muss ich tun weil sonst kann proftpd mit dem User nichts anfangen
adduser "$user" ftp
# Ändere den Besitzer des in Befehl angelegten Ordners von Root auf den neu angelegten User
chown -R "$user:$user" /media/ext/ftp/"$user"
# Ändere die Berechtigung des Ordners damit der User auch schreiben und ausführen (Verzeichnis wechseln) kann
chmod -R 770 /media/ext/ftp/"$user"
passwd "$user"
Ob das mit der Gruppe
$user so richtig ist, musst du selbst gucken. Im
adduser davor verwendest du
ftp als Gruppe.
Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
-
Success
- Beiträge: 288
- Registriert: 01.06.2013 21:23:15
Beitrag
von Success » 28.02.2014 23:26:01
danke hat funktioniert
Welche Programmiersprache ist das eigentlich?
-
tHoRax
- Beiträge: 560
- Registriert: 22.12.2014 17:23:26
Beitrag
von tHoRax » 28.02.2014 23:46:27
ich würd' sagen Shellscripting...
siehe
#!/bin/sh
/ASUS-F751S/ Intel Pentium N3710 @ 2.560Ghz
VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
Linux/5.19.13-arch1-1 x86_64 GNU/Linux
WindowManager: BSPWM
-
uname
- Beiträge: 12403
- Registriert: 03.06.2008 09:33:02
Beitrag
von uname » 01.03.2014 11:30:37
Genauer verweist /bin/sh z.B. auf /bin/dash oder auf /bin/bash, was ähnlich aber keinesfalls gleich wäre. Wie man sieht nutze ich /bin/dash, was wohl bei Debian mittlerweile Standard für /bin/sh ist.
-
Success
- Beiträge: 288
- Registriert: 01.06.2013 21:23:15
Beitrag
von Success » 07.10.2014 14:32:29
Hallo
sorry das ich nochmal nachfrage aber ich möchte gerne das Script so erweitern das der erstellte User ein quotavolumen von soft 2097152 (genau 2 GB?) und hard 2621440 (genau 2,5 GB?) hat. Das Problem ist dass die aquota.user nur ein
ausgibt. Im Notepad steht oft [NUL] dabei was man hier irgendwie nicht sieht. Und in der /etc fand ich auch nicht mit quota oder ähnlichem was man automatisieren kann.