nis in einer jail

bsd4me

Well-Known Member
Hallo,

das ist schon komisch, aber auf einem Server habe ich NIS sowohl im host, als auch in einer Jail laufen - ohne Probleme... Aber auf einem PC (beide laufen unter 10.0-RELEASE-p4) scheint das nicht so recht zu funktioneiren. Ich habe schon auf dern NIS Server Zugriff, aber auf dem PC ist immer folgendes Bild:

# top -b
last pid: 21311; load averages: 1.02, 0.73, 0.38 up 0+19:29:58 10:01:43
7 processes: 2 running, 5 sleeping

Mem: 14M Active, 170M Inact, 1726M Wired, 6144K Cache, 183M Buf, 3946M Free
ARC: 380M Total, 13M MFU, 116M MRU, 16K Anon, 39M Header, 212M Other
Swap: 8192M Total, 8192M Free

PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
31121 root 1 52 0 12272K 2576K select 1 0:31 9.47% ypbind
47964 root 1 20 0 23492K 3260K pause 1 0:00 0.00% tcsh
21302 root 1 20 0 23864K 3792K CPU1 1 0:00 0.00% top
31098 root 1 20 0 14432K 2028K select 1 0:00 0.00% syslogd
31300 root 1 20 0 16520K 2088K nanslp 1 0:00 0.00% cron
31290 root 1 52 0 60816K 6052K select 1 0:00 0.00% sshd
21311 root 1 75 0 12272K 2616K CPU0 0 0:00 0.00% ypbind

d.h. der ypbind nimmt sich viel CPU Leistung und in /var/log/messages finde ich:

Jun 6 09:56:53 mypc /usr/sbin/ypbind[31121]: madvise(): Operation not permitted

was mache ich falsch?


Ach, hier ein paar Konfigurations Parameter auf dem PC:

# more jail.conf
...
work {
host.hostname = "work";
interface = "lo1";
ip4.addr = "192.168.1.3";
mount.fstab = "/etc/fstab.work";
allow.raw_sockets;
}

und

# more rc.conf
...
rpcbind_enable="YES"
nis_client_enable="YES"
nisdomainname="nisdomain"


Hat jemnd eine Idee? Thanks! Norbert
 
Leider keine Idee, die dir gefallen wird. NIS habe ich mir seit Jahren nicht mehr angesehen.

Es sieht so aus als wollte ypbind in der jail madvise() verwenden. Das ist in Jails nicht erlaubt, weil man damit das VM subsystem ziemlich quälen kann. Die richtige Lösung wäre es ypbind zu reparieren indem es erst prüft ob es in einer Jail läuft bevor es madvise() verwendet. Ein hässlicher Workaround wäre es den Rückgabewert ENOPERM von madvise() zu akzeptieren egal ob man sich in einer Jail befindet.

Alternativ könntest du dein ganzes Setup auf LDAP (und optional Kerberos) umstellen. Der nss-pam-ldapd(-sasl) Port funktioniert auch in Jails.
 
Danke :-) Ich habe den Eindruck, Du hast mir geraden einen kleinen Schubs in die Richtung LDAP gegebn... Wollte ich eigentlich schon immer mal probieren... NIS/YP ist sowieso nicht secure...

Grüße, Norbert
 
Ich hätte jetzt auch eher mal LDAP in den Raum gestellt, da NIS doch eigentlich seit Jahren "aus der Mode" ist, oder?

Gruß
Markus
 
Zurück
Oben