====== Setup ======
===== Server Setup =====
* Login to the server via SSH as root
* Install sudo, create the main user, and add him to the sudoers group# apt install sudo
# adduser
# vi /etc/group (add to line "sudo:x:27:")
* (VPS) change the machine name:sudo edit /etc/hostname
sudo edit /etc/hosts
* enable //force_color_prompt=yes// in file ''~/.bashrc''
* copy ''/home/user/.bashrc'' to ''/root'' and modify PS1 prompt color (//32m// --> //31m//)
===== Security =====
* Configure [[deb9:ssh|SSH Access]]
* Install [[deb9:ufw|UFW Firewall]]
* Disable root login by changing file ''/etc/passwd'' from line 1 to line 2root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/sbin/nologin
===== Install and configure packages =====
* Additional packages$ sudo apt update
$ sudo apt install vim
$ sudo apt install zip
$ sudo apt install rename
$ sudo apt install rsync
$ sudo apt install openjdk-17-jre openjdk-17-jdk
* Change visudo editor$ sudo update-alternatives --config editor
===== System Startup =====
Debian 11 uses Systemd, not SysV, that's why your commands in ''/etc/rc.local'' file would not run at system boot time. This guide explains how to enable ''/etc/rc.local'' script to run on system startup.
- Create a rc.local unit file, follow [[deb10:rclocal|Services - rc.local]]
- Create file rc.local in /etc with the following content:vim /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exit 0
- Add execute permissions and start daemon:chmod +x /etc/rc.local
systemctl daemon-reload
systemctl start rc-local
systemctl status rc-local
● rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/lib/systemd/system/rc-local.service; static; vendor preset:
Drop-In: /lib/systemd/system/rc-local.service.d
└─debian.conf
Active: active (exited) since Sun 2019-05-05 10:55:29 +07; 11min ago
Process: 1443 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 4915)
CGroup: /system.slice/rc-local.service
* [[https://www.linuxbabe.com/linux-server/how-to-enable-etcrc-local-with-systemd|How to Enable /etc/rc.local with Systemd]]
* [[https://stackoverflow.com/questions/44797694/where-is-rc-local-in-debian-9-debian-stretch|Where is rc.local in Debian 9 (Debian Stretch)]]
===== System Shutdown =====
- Put a symbolic link to the script to be run at shutdown into /lib/systemd/system-shutdown
* [[https://unix.stackexchange.com/questions/347306/how-to-execute-scripts-in-usr-lib-systemd-system-shutdown-at-reboot-or-shutdow|How to execute scripts in /usr/lib/systemd/system-shutdown/ at reboot or shutdown?]]
* [[https://opensource.com/life/16/11/running-commands-shutdown-linux|How to run commands at shutdown on Linux]]