Home | History | Annotate | Line # | Download | only in rc.d
      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