6 changed files with 186 additions and 157 deletions
@ -0,0 +1,161 @@ |
|||||
|
#!/bin/bash |
||||
|
# |
||||
|
# Сommand line parsing script. |
||||
|
# Author: crims0n. <http://minios.ru> |
||||
|
# |
||||
|
|
||||
|
for i in $(cat /cmdline); do |
||||
|
case $i in |
||||
|
user_name=*) |
||||
|
USER_NAME="${i#*=}" |
||||
|
shift # past argument=value |
||||
|
;; |
||||
|
user_password=*) |
||||
|
USER_PASSWORD="${i#*=}" |
||||
|
shift # past argument=value |
||||
|
;; |
||||
|
root_password=*) |
||||
|
ROOT_PASSWORD="${i#*=}" |
||||
|
shift # past argument=value |
||||
|
;; |
||||
|
ssh) |
||||
|
SSH=true |
||||
|
shift # past argument with no value |
||||
|
;; |
||||
|
cloud) |
||||
|
CLOUD=true |
||||
|
shift # past argument with no value |
||||
|
;; |
||||
|
*) |
||||
|
# unknown option |
||||
|
;; |
||||
|
esac |
||||
|
done |
||||
|
|
||||
|
echo "USER_NAME=$USER_NAME" |
||||
|
echo "USER_PASSWORD=$USER_PASSWORD" |
||||
|
echo "ROOT_PASSWORD=$ROOT_PASSWORD" |
||||
|
echo "SSH=$SSH" |
||||
|
echo "CLOUD=$CLOUD" |
||||
|
sleep 5 |
||||
|
|
||||
|
if [ -z "$ROOT_PASSWORD" ]; then |
||||
|
ROOT_PASSWORD="toor" |
||||
|
fi |
||||
|
#echo "Set up password for user 'root'" |
||||
|
echo root:$ROOT_PASSWORD | chpasswd |
||||
|
|
||||
|
if [ "$CLOUD" != "true" ]; then |
||||
|
|
||||
|
if [ -z "$USER_NAME" ]; then |
||||
|
USER_NAME="live" |
||||
|
fi |
||||
|
#echo "Set up user '$USER_NAME'" |
||||
|
adduser --uid 1000 --gecos '' $USER_NAME --disabled-password |
||||
|
|
||||
|
if [ -z "$USER_PASSWORD" ]; then |
||||
|
USER_PASSWORD="evil" |
||||
|
fi |
||||
|
#echo "Set up password for user '$USER_NAME'" |
||||
|
echo $USER_NAME:$USER_PASSWORD | chpasswd |
||||
|
usermod -a -G sudo $USER_NAME |
||||
|
|
||||
|
sed -i 's,#PermitRootLogin prohibit-password,PermitRootLogin yes,g' /etc/ssh/sshd_config |
||||
|
sed -i 's,#PasswordAuthentication yes,PasswordAuthentication yes,g' /etc/ssh/sshd_config |
||||
|
else |
||||
|
rm -rf /home/live |
||||
|
fi |
||||
|
|
||||
|
if [ "$SSH" = "true" ]; then |
||||
|
systemctl enable ssh-keygen |
||||
|
systemctl enable ssh |
||||
|
else |
||||
|
systemctl disable ssh-keygen |
||||
|
systemctl disable ssh |
||||
|
fi |
||||
|
|
||||
|
cat <<EOF >/etc/sudoers.d/90-minios |
||||
|
# live user is default user in minios. |
||||
|
# It needs passwordless sudo functionality. |
||||
|
$USER_NAME ALL=(ALL) NOPASSWD:ALL |
||||
|
EOF |
||||
|
|
||||
|
if [ "$CLOUD" != "true" ]; then |
||||
|
cat <<EOF >/etc/issue |
||||
|
|
||||
|
|
||||
|
\l |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
Thank you for using MiniOS. |
||||
|
Based on Debian GNU/Linux. |
||||
|
Powered by [1;32mSlax[0;29m. |
||||
|
|
||||
|
[1;1m:::: :::: ::::::::::: :::: ::: ::::::::::: :::::::: :::::::: [0;29m |
||||
|
[1;1m+:+:+: :+:+:+ :+: :+:+: :+: :+: :+: :+: :+: :+: [0;29m |
||||
|
[1;1m+:+ +:+:+ +:+ +:+ :+:+:+ +:+ +:+ +:+ +:+ +:+ [0;29m |
||||
|
[1;1m+#+ +:+ +#+ +#+ +#+ +:+ +#+ +#+ +#+ +:+ +#++:++#++ [0;29m |
||||
|
[1;1m+#+ +#+ +#+ +#+ +#+#+# +#+ +#+ +#+ +#+ [0;29m |
||||
|
[1;1m#+# #+# #+# #+# #+#+# #+# #+# #+# #+# #+# [0;29m |
||||
|
[1;1m### ### ########### ### #### ########### ######## ######## [0;29m |
||||
|
|
||||
|
Root login name: [1;33mroot[0;29m |
||||
|
Password: [1;33m$ROOT_PASSWORD[0;29m |
||||
|
User login name: [1;33m$USER_NAME[0;29m |
||||
|
Password: [1;33m$USER_PASSWORD[0;29m |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
EOF |
||||
|
else |
||||
|
cat <<EOF >/etc/issue |
||||
|
|
||||
|
|
||||
|
\l |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
Thank you for using MiniOS. |
||||
|
Based on Debian GNU/Linux. |
||||
|
Powered by [1;32mSlax[0;29m. |
||||
|
|
||||
|
[1;1m:::: :::: ::::::::::: :::: ::: ::::::::::: :::::::: :::::::: [0;29m |
||||
|
[1;1m+:+:+: :+:+:+ :+: :+:+: :+: :+: :+: :+: :+: :+: [0;29m |
||||
|
[1;1m+:+ +:+:+ +:+ +:+ :+:+:+ +:+ +:+ +:+ +:+ +:+ [0;29m |
||||
|
[1;1m+#+ +:+ +#+ +#+ +#+ +:+ +#+ +#+ +#+ +:+ +#++:++#++ [0;29m |
||||
|
[1;1m+#+ +#+ +#+ +#+ +#+#+# +#+ +#+ +#+ +#+ [0;29m |
||||
|
[1;1m#+# #+# #+# #+# #+#+# #+# #+# #+# #+# #+# [0;29m |
||||
|
[1;1m### ### ########### ### #### ########### ######## ######## [0;29m |
||||
|
|
||||
|
User login name set by |
||||
|
cloud-init. You must use |
||||
|
your ssh key to login. |
||||
|
Root login name: [1;33mroot[0;29m |
||||
|
Password: [1;33m$ROOT_PASSWORD[0;29m |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
EOF |
||||
|
fi |
||||
|
|
||||
|
if [ -f /usr/lib/systemd/system/xorg.service ]; then |
||||
|
cat <<EOF >/usr/lib/systemd/system/xorg.service |
||||
|
[Unit] |
||||
|
Description=X-Window |
||||
|
ConditionKernelCommandLine=!text |
||||
|
After=systemd-user-sessions.service |
||||
|
|
||||
|
[Service] |
||||
|
ExecStart=/bin/su --login -c "/usr/bin/startx -- :0 vt7 -ac -nolisten tcp" $USERNAME |
||||
|
EOF |
||||
|
fi |
Loading…
Reference in new issue