23 |
# set_system_shutdown |
# set_system_shutdown |
24 |
set_system_shutdown() |
set_system_shutdown() |
25 |
{ |
{ |
26 |
halt |
poweroff |
27 |
} |
} |
28 |
|
|
29 |
help_system_console() |
help_system_console() |
31 |
mecho "set system.console [user]" |
mecho "set system.console [user]" |
32 |
mecho " Opens a console with user or root privileges." |
mecho " Opens a console with user or root privileges." |
33 |
mecho " Known users:" |
mecho " Known users:" |
34 |
mecho " mcore - mcore standard user only with user privileges" |
mecho " ${MCORE_UNPRIV_USER} - mcore standard user only with user privileges" |
35 |
mecho " root - mcore root user with full system privileges" |
mecho " root - mcore root user with full system privileges" |
36 |
} |
} |
37 |
|
|
39 |
{ |
{ |
40 |
mecho "set system.passwd [user] [password]" |
mecho "set system.passwd [user] [password]" |
41 |
mecho " Sets a system password for given user." |
mecho " Sets a system password for given user." |
42 |
mecho " Allowed users: mcore, root" |
mecho " Allowed users: ${MCORE_UNPRIV_USER}, root" |
43 |
mecho " If password is empty, the current password will be deleted." |
mecho " If password is empty, the current password will be deleted." |
44 |
} |
} |
45 |
|
|
61 |
[[ -z ${user} ]] && help_system_console && return 1 |
[[ -z ${user} ]] && help_system_console && return 1 |
62 |
|
|
63 |
case "${user}" in |
case "${user}" in |
64 |
mcore) x11runas "rxvt &" ;; |
${MCORE_UNPRIV_USER}) x11runas "rxvt &" ;; |
65 |
root) x11runas "rxvt -T 'Login as root' -e /bin/bash -c 'echo \"Login as root\";exec /bin/login root' &" ;; |
root) x11runas "rxvt -T 'Login as root' -e /bin/bash -c 'echo \"Login as root\";exec /bin/login root' &" ;; |
66 |
*) help_system_console && return 1 ;; |
*) help_system_console && return 1 ;; |
67 |
esac |
esac |
69 |
|
|
70 |
help_system_service() |
help_system_service() |
71 |
{ |
{ |
72 |
|
mecho "get system.service [command] [service]" |
73 |
|
mecho " Status information of system services." |
74 |
|
mecho " Commands:" |
75 |
|
mecho " status - prints status of given service" |
76 |
|
mecho " enabled - check whether a service was enabled" |
77 |
|
mecho " runlevel - print current system runlevel" |
78 |
|
mecho |
79 |
mecho "set system.service [command] [service] [opts]" |
mecho "set system.service [command] [service] [opts]" |
80 |
mecho " Controls system services." |
mecho " Controls system services." |
81 |
mecho " Commands:" |
mecho " Commands:" |
82 |
mecho " start - starts given service" |
mecho " start - starts given service" |
83 |
mecho " stop - stops given service" |
mecho " stop - stops given service" |
84 |
mecho " restart - restart given service" |
mecho " restart - restart given service" |
85 |
mecho " reload - reloads given service if possible" |
mecho " reload - reloads given service if possible" |
86 |
mecho " add - adds a service to default runlevels" |
mecho " add - adds a service to default runlevels" |
87 |
mecho " del - deletes a service from all runlevels" |
mecho " del - deletes a service from all runlevels" |
88 |
} |
} |
89 |
|
|
90 |
set_system_service() |
helper_set_system_service_sysvinit() |
91 |
{ |
{ |
92 |
local command="$1" |
local command="$1" |
93 |
local service="$2" |
local service="$2" |
96 |
[[ -z ${command} ]] && help_system_service && return 1 |
[[ -z ${command} ]] && help_system_service && return 1 |
97 |
[[ -z ${service} ]] && help_system_service && return 1 |
[[ -z ${service} ]] && help_system_service && return 1 |
98 |
|
|
99 |
if [[ ! -x /etc/rc.d/init.d/${service} ]] |
if [[ ! -x ${MROOT}/etc/rc.d/init.d/${service} ]] |
100 |
then |
then |
101 |
mecho "Service '${service}' unkown!" |
eecho "Service '${service}' unkown!" |
102 |
|
return 1 |
103 |
fi |
fi |
104 |
|
|
105 |
case "${command}" in |
case "${command}" in |
113 |
esac |
esac |
114 |
} |
} |
115 |
|
|
116 |
|
helper_set_system_service_systemd() |
117 |
|
{ |
118 |
|
local command="$1" |
119 |
|
local service="$2" |
120 |
|
local opts="$3" |
121 |
|
|
122 |
|
[[ -z ${command} ]] && help_system_service && return 1 |
123 |
|
[[ -z ${service} ]] && help_system_service && return 1 |
124 |
|
|
125 |
|
if [[ -n $(systemctl status ${service} | grep 'Reason: No such file or directory') ]] |
126 |
|
then |
127 |
|
eecho "Service '${service}' unkown!" |
128 |
|
return 1 |
129 |
|
fi |
130 |
|
|
131 |
|
case "${command}" in |
132 |
|
start) systemctl start "${service}" ;; |
133 |
|
stop) systemctl stop "${service}" ;; |
134 |
|
restart) systemctl try-restart "${service}" ;; |
135 |
|
reload) systemctl reload-or-try-restart "${service}" ;; |
136 |
|
add) systemctl enable "${service}" ;; |
137 |
|
del) systemctl disable "${service}" ;; |
138 |
|
*) help_system_service && return ;; |
139 |
|
esac |
140 |
|
} |
141 |
|
|
142 |
|
set_system_service() |
143 |
|
{ |
144 |
|
if [[ -x $(type -P systemctl) ]] |
145 |
|
then |
146 |
|
helper_set_system_service_systemd $* |
147 |
|
else |
148 |
|
helper_set_system_service_sysvinit $* |
149 |
|
fi |
150 |
|
} |
151 |
|
|
152 |
|
helper_get_system_service_sysvinit() |
153 |
|
{ |
154 |
|
local command="$1" |
155 |
|
local service="$2" |
156 |
|
|
157 |
|
[[ -z ${command} ]] && help_system_service && return 1 |
158 |
|
[[ -z ${service} ]] && help_system_service && return 1 |
159 |
|
|
160 |
|
if [[ ! -x ${MROOT}/etc/rc.d/init.d/${service} ]] |
161 |
|
then |
162 |
|
eecho "Service '${service}' unkown!" |
163 |
|
return 1 |
164 |
|
fi |
165 |
|
|
166 |
|
case "${command}" in |
167 |
|
status) /etc/rc.d/init.d/"${service}" status ;; |
168 |
|
enabled) rc-config show "${service}" ;; |
169 |
|
runlevel) eecho "function on todo" ;; |
170 |
|
*) help_system_service && return ;; |
171 |
|
esac |
172 |
|
} |
173 |
|
|
174 |
|
helper_get_system_service_systemd() |
175 |
|
{ |
176 |
|
local command="$1" |
177 |
|
local service="$2" |
178 |
|
|
179 |
|
[[ -z ${command} ]] && help_system_service && return 1 |
180 |
|
[[ -z ${service} ]] && help_system_service && return 1 |
181 |
|
|
182 |
|
if [[ -n $(systemctl status ${service} | grep 'Reason: No such file or directory') ]] |
183 |
|
then |
184 |
|
eecho "Service '${service}' unkown!" |
185 |
|
return 1 |
186 |
|
fi |
187 |
|
|
188 |
|
case "${command}" in |
189 |
|
status) systemctl status "${service}" ;; |
190 |
|
enabled) systemctl is-enabled "${service}"; rvecho "$?" ;; |
191 |
|
runlevel) rvecho "$(readline ${MROOT}/etc/systemd/system/default.target)" ;; |
192 |
|
*) help_system_service && return ;; |
193 |
|
esac |
194 |
|
} |
195 |
|
|
196 |
|
get_system_service() |
197 |
|
{ |
198 |
|
if [[ -x $(type -P systemctl) ]] |
199 |
|
then |
200 |
|
helper_get_system_service_systemd $* |
201 |
|
else |
202 |
|
helper_get_system_service_sysvinit $* |
203 |
|
fi |
204 |
|
} |
205 |
|
|
206 |
set_system_passwd() |
set_system_passwd() |
207 |
{ |
{ |
208 |
local user="$1" |
local user="$1" |
212 |
[[ -z ${pass} ]] && mecho "deleting password!" |
[[ -z ${pass} ]] && mecho "deleting password!" |
213 |
|
|
214 |
case "${user}" in |
case "${user}" in |
215 |
root|mcore) (echo "${pass}"; sleep 0.1; echo "${pass}") | passwd "${user}" ;; |
root|${MCORE_UNPRIV_USER}) (echo "${pass}"; sleep 0.1; echo "${pass}") | passwd "${user}" ;; |
216 |
*) help_system_passwd && return 1 ;; |
*) help_system_passwd && return 1 ;; |
217 |
esac |
esac |
218 |
} |
} |
244 |
{ |
{ |
245 |
local tty |
local tty |
246 |
tty="$(fgconsole)" |
tty="$(fgconsole)" |
247 |
mecho "${tty}" |
rvecho "${tty}" |
248 |
} |
} |
249 |
|
|
250 |
get_system_autologon() |
get_system_autologon() |
252 |
local var |
local var |
253 |
var=$(grep auto_login /etc/slim.conf | sed 's:auto_login.*\([yn].*\):\1:') |
var=$(grep auto_login /etc/slim.conf | sed 's:auto_login.*\([yn].*\):\1:') |
254 |
case "${var}" in |
case "${var}" in |
255 |
yes) mecho "autologon currently enabled" ;; |
yes) mecho "autologon currently enabled"; rvecho "1" ;; |
256 |
no) mecho "autologon currently disabled" ;; |
no) mecho "autologon currently disabled"; rvecho "0" ;; |
257 |
*) eecho "unkown state" ;; |
*) eecho "unkown state" ;; |
258 |
esac |
esac |
259 |
} |
} |
260 |
|
|
261 |
set_system_autologon() |
set_system_autologon() |
262 |
{ |
{ |
263 |
local action |
local action="$1" |
264 |
[[ -z ${action} ]] && help_system_autologon && return 1 |
[[ -z ${action} ]] && help_system_autologon && return 1 |
265 |
|
|
266 |
## splash X11 tty too? |
## splash X11 tty too? |
267 |
|
|
268 |
case "${action}" in |
case "${action}" in |
269 |
enable) |
enable) |
270 |
sed 's:^auto_login.*:\1\tyes' /etc/slim.conf |
sed -i 's:^\(auto_login\).*:\1\tyes:' /etc/slim.conf |
271 |
mecho "autologon enabled" |
mecho "autologon enabled" |
272 |
;; |
;; |
273 |
disable) |
disable) |
274 |
sed 's:^auto_login.*:\1\tno' /etc/slim.conf |
sed -i 's:^\(auto_login\).*:\1\tno:' /etc/slim.conf |
275 |
mecho "autologon disabled" |
mecho "autologon disabled" |
276 |
;; |
;; |
277 |
*) help_system_autologon && return 1 ;; |
*) help_system_autologon && return 1 ;; |