/etc/skel
ist ein Ordner, der für neue Benutzer geklont wird. Gibt es eine Möglichkeit, Regeln zu definieren, was aus dem /etc/skel
Ordner kopiert werden soll ?
Zum Beispiel suche ich nach einer Möglichkeit, dass, wenn ein Benutzer erstellt wird und zur Gruppe mit dem Namen gehört A
, der /etc/skel
Ordner klonen außer /etc/skel/not_for_a.txt
. Möglich?
useradd
wird für Debian-basierte Systeme in der Manpage auf meinem 16.04-System nicht empfohlen. Wenn sich der Grund für diese Vorsicht geändert hat, können Sie ihn Ihrer Antwort hinzufügen. Auch am 16.04useradd
undadduser
sind verschiedene Programme mit unterschiedlichen Optionen, vielleicht könnten Sie Ihre Antwort aus Gründen der Klarheit bearbeiten.adduser
Befehl nicht möglich , daher verwenden wiruseradd
. Es ist nicht völlig entmutigt: „useradd
ist ein niedriges Niveau Dienstprogramm Benutzer für das Hinzufügen Auf Debian - Administratoren sollten. In der Regel verwenden ,adduser
statt.“ Es ist in Ordnung, diesen Befehl unter ungewöhnlichen Umständen wie diesen zu verwenden.Erstellen Sie zusätzliche
skel
Verzeichnisse.Kopieren Sie den Inhalt von
/etc/skel
nach/etc/skelA
.Passen Sie den Inhalt des alternativen Skel-Verzeichnisses an.
adduser
ohne homedir, aber mit sonst normalen einstellungen. Ersetzen Sie die Auslassungspunkte durch die entsprechenden Einstellungen.mkhomedir_helper
um Benutzer homedir basierend auf alternativen Skel Dir zu erstellen.quelle
adduser
unterstützt eine eingeschränkte Möglichkeit, Dateien aus dem Skeleton-Verzeichnis auszuschließen. Vonman adduser.conf
:Während Sie diesen regulären Ausdruck nicht über die Befehlszeile festlegen können, können Sie die verwendete Konfigurationsdatei mit der
--conf
Option festlegen . Sie können also zusätzliche Kopien davon erstellen/etc/adduser.conf
, die sich nur auf der unterscheidenSKEL_IGNORE_REGEX
, und diese verwenden:quelle
Der
adduser
Befehl kann ein ortsspezifisches Skript ausführen, um alle Einstellungen wie das Entfernen von Dateien vorzunehmen. Solange es akzeptabel ist, mit einer vollständigen Kopie zu beginnen und anschließend einige Dateien zu löschen, könnte dieser Ansatz für Sie funktionieren.Aus der Adduser (8) Manpage :
Sie müssen also nur ein Skript schreiben, das vier Parameter verwendet, und damit alle benötigten Dateien entfernen. Speichern Sie es als
/usr/local/sbin/adduser.local
und stellen Sie sicher, dass es als ausführbar (chmod a+x
) markiert ist .Hier ist etwas, um Ihnen den Einstieg zu erleichtern:
Der interessante Teil, den Sie bearbeiten möchten, sind die Zeilen, die wie folgt aussehen:
Sie können den tatsächlichen Gruppennamen und das Verhalten eingeben, das Sie anstelle von
a)
und sehen möchtenrm not_for_a.txt
.quelle