Hallo,
ich möchte einen Nicht-root-Nutzer einen Port <1024 (hier 200) verwenden lassen. Dazu ist Folgendes eingestellt:
Ich habe wohl etwas vergessen. Aber was?
ich möchte einen Nicht-root-Nutzer einen Port <1024 (hier 200) verwenden lassen. Dazu ist Folgendes eingestellt:
Bash:
$ kldstat | grep mac
3 1 0xffffffff8271f000 4438 mac_portacl.ko
$ sysctl -a | grep security.mac
kern.features.security_mac: 1
security.mac.portacl.rules: uid:1002:tcp:200
security.mac.portacl.port_high: 1023
security.mac.portacl.autoport_exempt: 1
security.mac.portacl.suser_exempt: 1
security.mac.portacl.enabled: 1
security.mac.mmap_revocation_via_cow: 0
security.mac.mmap_revocation: 1
security.mac.labeled: 0
security.mac.max_slots: 4
security.mac.version: 4
$ echo $UID
1002
$ sockstat -46 -p 200
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
$ nc -l 200
nc: Operation not permitted
Ich habe wohl etwas vergessen. Aber was?

Ob der verlässlich ist oder nicht hat aber nix damit zu tun ob der Service nun von der UID 0 oder einer anderen gestartet wurde. Wenn der Server von einer Person betrieben wird und keine andere Person Zugriff darauf hat kann der mit seinen Usern machen was er will und es wird für dich als Servicenutzer nicht anders. Ist es ein Server zu dem 20 Admins das root-passwort haben oder über sudo root-Rechte bekommen können muss du halt den 20 vertrauen. Ist ein System kompromittiert siehst du nicht ob root oder ein anderer User übernommen wurde. Geh mal davon aus, dass der root-Account geknackt sein könnte. Einem kompromittierten System kannst du eigentlich nie trauen, da es oft sehr schwer ist herauszufinden wie weit das geht.