2016-04-12 10 views
-3

Ich habe mehrere Male versucht, diese Datei zu bearbeiten, aber nach mehreren Elementen wird immer das alte Standarddateiskript angezeigt. Ich muss Zeilen ersetzen oder diese Datei bearbeiten, um eine Benutzerverwaltungsrichtlinie zu erstellen.Wie bearbeitet man /etc/pam.d/sytem-auth-ac Datei in Linux?

Befehle habe ich in meinem Skript:

# sed '14 i \password requisite  pam_cracklib.so try_first_pass retry=3 minlen=8 lcredit=-1 dcredit=1 difok=4 maxrepeat=2 ocredit=1 ucredit=1 /etc/pam.d/system-auth-ac 

#sed '15 i \password sufficient pam_unix.so shadow try_first_pass use_authtok remember=6 /etc/pam.d/system-auth-ac 


#sed '4 i \auth  required  pam_tally2.so onerr=fail file=/var/log/faillog deny=6 unlock_time=3600' /etc/pam.d/system-auth-ac 

#sed '10 i \account  required  pam_tally2.so file=/var/log/faillog' /etc/pam.d/system-auth-ac 

#sed '13 i \account  sufficient pam_localuser.so' /etc/pam.d/system-auth-ac 

Oben sind die Befehle, die ich schreibe dies in meinem Skript hinzufügen, wenn jemand einen guten Vorschlag hat plz in den Kommentaren stellen. Hilfe wird wirklich geschätzt.

+0

Keiner Ihrer Befehle bearbeitet die Datei an Ort und Stelle. Sie alle geben nur die neuen Inhalte auf Standardausgabe aus. Sie müssen sed anweisen, die Datei tatsächlich zu bearbeiten oder in eine neue Datei umzuleiten und dann das Original zu ersetzen. –

+0

irgendein Vorschlag. Etan –

+0

Ja, schauen Sie in die Dokumentation für 'sed', um es ** i ** n-Ort zu betreiben oder um in eine andere Datei umzuleiten und dann die neue Datei über die alte Datei zu migrieren. –

Antwort

0

der richtige Befehl für dieses Problem ist. sed -i 's/original/modify/g' Dateiname (dies wird die ursprüngliche Datei bearbeiten) oder sed -i 's/original/modify/g' Dateiname> Dateiname.bak (dies wird eine neue Datei erstellen)