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