noqqe » blog | sammelsurium | photos | projects | about

OpenBSD Login Classes

2016-05-25 @ class, login.conf, OpenBSD, ulimit

Hiermit lassen sich ziemlich flexibel und schön einige Limitierungen pro User erledigen.

Eine Login Class

$ sudo vim /etc/login.conf
staff:\
      :umask=022:\
      :datasize-max=1024M:\
      :datasize-cur=1024M:\
      :maxproc-max=1024:\
      :maxproc-cur=1024:\
      :openfiles-cur=2048:\
      :openfiles-max=2048:\
      :stacksize-cur=4M:\
      :localcipher=blowfish,8:\
      :tc=auth-defaults:\
      :tc=auth-ftp-defaults:

Aber welche Klasse hat mein User eigentlich?

$ userinfo noqqe
login   noqqe
passwd  *
uid     1001
groups  noqqe wheel staff
change  NEVER
class
gecos   ,,,
dir     /home/noqqe
shell   /usr/local/bin/bash
expire  NEVER

Aha garkeine also. Wie assigne ich die?

$ chsh noqqe
...
class: staff
...

Gut. Jetzt hab ich die. Nachdem mir die Werte immernoch nicht gefallen, muss ich die login.conf doch noch anpassen.

$ vim /etc/login.conf
## build new db
$ sudo cap_mkdb /etc/login.conf

Now.. Wie kann ich das jetzt querien?

$ getcap -f /etc/login.conf -s openfiles-max staff
2048

Oooolright.

$ ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) 1572864
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) 331942
max memory size         (kbytes, -m) 993656
open files                      (-n) 2048
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 4096
cpu time               (seconds, -t) unlimited
max user processes              (-u) 256
virtual memory          (kbytes, -v) 1576960