mirror of
https://github.com/troglobit/finit.git
synced 2026-10-01 05:22:48 +07:00
Merge pull request #200 from liuming50/dont-hard-code-nologins-file
Dont hard-code nologin file
This commit is contained in:
@@ -269,6 +269,8 @@ Optional features:
|
||||
Built-in keventd......: $with_keventd
|
||||
Built-in watchdogd....: $with_watchdog $watchdog
|
||||
Built-in logrotate....: $enable_logrotate
|
||||
Skip fsck check.......: $enable_fastboot
|
||||
Run fsck fix mode.....: $enable_fsckfix
|
||||
Redirect output.......: $enable_redirect
|
||||
Default hostname......: $hostname
|
||||
Default runlevel......: $runlevel
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
#include "config.h" /* Generated by configure script */
|
||||
|
||||
#include <paths.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "finit.h"
|
||||
@@ -38,6 +39,10 @@
|
||||
|
||||
sm_t sm;
|
||||
|
||||
#ifndef FINIT_NOLOGIN_PATH
|
||||
#define FINIT_NOLOGIN_PATH _PATH_NOLOGIN /* Stop user logging in. */
|
||||
#endif
|
||||
|
||||
void sm_init(sm_t *sm)
|
||||
{
|
||||
sm->state = SM_BOOTSTRAP_STATE;
|
||||
@@ -76,16 +81,16 @@ static char *sm_status(sm_state_t state)
|
||||
* Disable login in single user mode and shutdown/reboot
|
||||
*
|
||||
* Re-enable only when going from these runlevels, this way a user can
|
||||
* manage /etc/nologin manually within the other runlevels without us
|
||||
* pulling the rug from under their feet.
|
||||
* manage FINIT_NOLOGIN_PATH manually within the other runlevels without
|
||||
* us pulling the rug from under their feet.
|
||||
*/
|
||||
static void nologin(void)
|
||||
{
|
||||
if (runlevel == 1 || runlevel == 0 || runlevel == 6)
|
||||
touch("/etc/nologin");
|
||||
touch(FINIT_NOLOGIN_PATH);
|
||||
|
||||
if (prevlevel == 1 || prevlevel == 0 || prevlevel == 6)
|
||||
erase("/etc/nologin");
|
||||
erase(FINIT_NOLOGIN_PATH);
|
||||
}
|
||||
|
||||
void sm_set_runlevel(sm_t *sm, int newlevel)
|
||||
|
||||
Reference in New Issue
Block a user