nowe sshd
Arkadiusz Miskiewicz
misiek w pld.ORG.PL
Wto, 25 Cze 2002, 18:21:20 CEST
Artur Frysiak <wiget w pld.org.pl> writes:
> > > Pomaga s/ulimit -c 0/ulimit -S -c 0/ w /etc/rc.d/init.d/functions,
> > > ale to "ulimit -c 0" było nie tylko ze względów estetycznych...
> >
[..]
> A co przeszkadza aby limit na wielkość pliku core był miękki ?
Co jak deamon sam sobie je podniesie z jakiegoś powodu?
Ciekawa rzecz wystepuje też z pamem (0.75.8-1). Mój konfig wygląda
następująco:
* hard nproc 40
* soft nproc 30
* hard priority 15
* soft priority 15
darion hard priority 5
darion soft priority 5
lookas hard priority 5
lookas soft priority 5
arekm hard nproc 256
arekm soft nproc 256
arekm hard core 50000000
arekm soft core 50000000
arekm hard priority 0
misiek hard nproc 256
misiek soft nproc 256
misiek hard core 50000000
misiek soft core 50000000
misiek hard priority 0
root hard nproc 1025
root soft nproc 257
A pam_limits wołany z sshd próbuje ustawić:
20211 open("/etc/security/limits.conf", O_RDONLY) = 9
20211 fstat(9, {st_mode=S_IFREG|0644, st_size=2524, ...}) = 0
20211 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x126000
20211 read(9, "# /etc/security/limits.conf\n#\n#E"..., 4096) = 2524
20211 read(9, "", 4096) = 0
20211 close(9) = 0
20211 munmap(0x126000, 4096) = 0
20211 setreuid(1000, 4294967295) = 0
20211 setrlimit(RLIMIT_CPU, {rlim_cur=2147483647, rlim_max=2147483647}) = 0
20211 setrlimit(RLIMIT_FSIZE, {rlim_cur=2147483647, rlim_max=2147483647}) = 0
20211 setrlimit(RLIMIT_DATA, {rlim_cur=2147483647, rlim_max=2147483647}) = 0
20211 setrlimit(RLIMIT_STACK, {rlim_cur=2147483647, rlim_max=2147483647}) = 0
20211 setrlimit(RLIMIT_CORE, {rlim_cur=2147483647, rlim_max=2147483647}) = 0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
20211 setrlimit(RLIMIT_RSS, {rlim_cur=2147483647, rlim_max=2147483647}) = 0
20211 setrlimit(RLIMIT_NPROC, {rlim_cur=256, rlim_max=256}) = 0
20211 setrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
20211 setrlimit(RLIMIT_MEMLOCK, {rlim_cur=2147483647, rlim_max=2147483647}) = 0
20211 setrlimit(RLIMIT_AS, {rlim_cur=2147483647, rlim_max=2147483647}) = 0
20211 setrlimit(0xa /* RLIMIT_??? */, {rlim_cur=2147483647, rlim_max=2147483647}) = 0
20211 setpriority(PRIO_PROCESS, 0, 0) = 0
20211 open("/etc/security/pam_mail.conf", O_RDONLY) = 9
20211 fstat(9, {st_mode=S_IFREG|0644, st_size=452, ...}) = 0
20211 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x126000
20211 read(9, "# Following options are accepted"..., 4096) = 452
20211 read(9, "", 4096) = 0
20211 close(9) = 0
Zamiast ustawiać dla usera, który się loguje (misiek) ustawia domyślne -
wzięte z getrlimit - wartości.
strace było zrobione na sshd odpalonym z miękkim limitem (-S), a przy twardym
wywala się w miejscu podkreślonym próbując ustalić większy limit niż 0 z functions.
Tak samo zachowuje się pam_limits ze starym openssh. Kto ma starego pama
niech łaskawie zrobi strace i zerknie czy limity są w ogóle ustawiane
zgodnie z konfigiem.
> Artur Frysiak
> http://www.pld-linux.org/
--
Arkadiusz Miśkiewicz IPv6 ready PLD Linux at http://www.pld.org.pl
misiek(at)pld.org.pl AM2-6BONE, 1024/3DB19BBD, arekm(at)ircnet, PWr
Więcej informacji o liście dyskusyjnej pld-devel-pl