1 1.1 lukem #!/bin/sh 2 1.1 lukem # 3 1.9 kre # $NetBSD: securelevel,v 1.9 2023/12/25 07:39:59 kre Exp $ 4 1.1 lukem # 5 1.1 lukem 6 1.1 lukem # PROVIDE: securelevel 7 1.7 ad # REQUIRE: ipnat mountd 8 1.4 thorpej # BEFORE: DAEMON 9 1.1 lukem 10 1.5 mycroft $_rc_subr_loaded . /etc/rc.subr 11 1.1 lukem 12 1.1 lukem name="securelevel" 13 1.1 lukem start_cmd="securelevel_start" 14 1.1 lukem stop_cmd=":" 15 1.1 lukem 16 1.1 lukem securelevel_start() 17 1.1 lukem { 18 1.3 mrg # if $securelevel is set higher, change it here, else if 19 1.3 mrg # it is 0, change it to 1 here, before we start daemons 20 1.3 mrg # or login services. 21 1.1 lukem # 22 1.8 elad osecurelevel=$(sysctl -n kern.securelevel 2>&-) 23 1.8 elad if [ $? != 0 ]; then 24 1.8 elad echo "Can't set securelevel. (kern.securelevel sysctl not present.)" 25 1.8 elad exit 1 26 1.8 elad fi 27 1.8 elad 28 1.9 kre if [ -n "$securelevel" ] && [ "$securelevel" != "$osecurelevel" ]; then 29 1.3 mrg if [ "$securelevel" -lt "$osecurelevel" ]; then 30 1.3 mrg echo "Can't lower securelevel." 31 1.3 mrg exit 1 32 1.3 mrg else 33 1.3 mrg echo -n "Setting securelevel: " 34 1.3 mrg sysctl -w kern.securelevel=$securelevel 35 1.3 mrg fi 36 1.1 lukem else 37 1.3 mrg if [ "$osecurelevel" = 0 ]; then 38 1.1 lukem echo -n "Setting securelevel: " 39 1.1 lukem sysctl -w kern.securelevel=1 40 1.1 lukem fi 41 1.1 lukem fi 42 1.1 lukem } 43 1.1 lukem 44 1.1 lukem load_rc_config $name 45 1.1 lukem run_rc_command "$1" 46