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