Warum Änderungen an / etc / limits auf einem eingebetteten System nicht funktionieren

2625
AMIT

Ich versuche, Core Dump auf meinem ARM-basierten Ziel zu unterstützen. Ich habe über beide /etc/limitsund gelesen /etc/security/limits.conf. Mein Zieldateisystem hat das letztere nicht. Also habe ich unten Änderungen vorgenommen/etc/limits

root C100000 

Nach dem Hinzufügen dieser Zeile /etc/limitswurde erwartet, dass die Kerndatei generiert wurde, aber es ulimit -azeigt mir

core file size (blocks, -c) 0 

Warum diese Änderungen sich /etc/limitsüberhaupt nicht widerspiegeln.

Was muss ich jetzt tun?

Muss ich /etc/security/limits.confmein Dateisystem hinzufügen ?

Ich schaue nicht nach der Verwendungsmöglichkeit setrlimit().

1
Warum können Sie nicht ulimit -c unlimited oder eine ähnliche Variation des Befehls ulimit verwenden, um Core-Dumps zu aktivieren? sawdust vor 10 Jahren 0
`/ etc / security / limits.conf` wird von PAM gelesen und` / etc / limits` wird von der Shadow-Login-Suite gelesen. beide gelten für angemeldete Benutzer und sind auf den meisten nicht eingebetteten Systemen installiert. Es ist sinnlos, Konfigurationsdateien für Software zu erstellen, die nicht vorhanden ist. Ist Ihr Benutzerland BusyBox? Oder etwas anderes? Gilles vor 10 Jahren 0
@Gilles unsere / etc / limits kommen definitiv aus dem Shadow-Paket. Ich bin nicht sicher, ob mein Userland Busybox oder etwas anderes ist. Ich überprüfe es. AMIT vor 10 Jahren 0

2 Antworten auf die Frage

0
scai

Abhängig von Ihrem System müssen Sie möglicherweise auch bearbeiten /etc/pam.d/common-session*und hinzufügen

session required pam_limits.so 

Und natürlich müssen Sie eine neue Sitzung starten, damit Ihre Änderungen übernommen werden können.

Ich habe nicht pam.d in meinem Dateisystem AMIT vor 10 Jahren 0
Dann denke ich, dass Sie bei einem abgespeckten System möglicherweise auf `setrlimit ()` zurückgreifen müssen. scai vor 10 Jahren 0
0
Sepahrad Salour

Um einen Core-Dump zu erstellen, fügen Sie den folgenden Befehl hinzu /etc/profile

ulimit -c 10000

Dieser Befehl legt die Größenbeschränkung für Kerndateien auf 10000 Byte fest (Sie können sie in unbegrenzt ändern). Dann /etc/profile/nochmal mit source /etc/profileoder ausführen. /etc/profile

Wir können keine / etc / profile-Datei hinzufügen, da sich bei Änderung von / etc / profille dies nur auf das von einer Login-Shell gestartete Programm auswirkt, nicht auf von systemd gestartete Prozesse / Services. / etc / limits wäre der richtige Ort für die Einstellung dieser Standardeinstellungen AMIT vor 10 Jahren 1