mirror of
https://github.com/deadcxap/init_scripts.git
synced 2026-07-02 05:43:40 +03:00
Уточнить права my-aliases.sh для всех пользователей
This commit is contained in:
@@ -72,6 +72,12 @@ print_summary() {
|
|||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
local rc=$?
|
local rc=$?
|
||||||
|
|
||||||
|
if [[ -n "${CURL_HOME:-}" ]]; then
|
||||||
|
rm -rf "$CURL_HOME"
|
||||||
|
fi
|
||||||
|
unset CURL_HOME GITHUB_TOKEN GH_AUTH_HEADER GIT_TERMINAL_PROMPT
|
||||||
|
|
||||||
if [[ $rc -ne 0 ]]; then
|
if [[ $rc -ne 0 ]]; then
|
||||||
log "Скрипт завершился с ошибкой (код $rc)"
|
log "Скрипт завершился с ошибкой (код $rc)"
|
||||||
else
|
else
|
||||||
@@ -95,6 +101,7 @@ Usage: $0 --user NAME --sshkey KEY [options]
|
|||||||
-n, --netbird-key KEY (optional) Netbird setup key
|
-n, --netbird-key KEY (optional) Netbird setup key
|
||||||
-i, --netbird-ip IP (optional) Netbird central server IP
|
-i, --netbird-ip IP (optional) Netbird central server IP
|
||||||
-p, --netbird-port PORT (optional) Netbird central server port
|
-p, --netbird-port PORT (optional) Netbird central server port
|
||||||
|
-o, --hostname NAME (optional) Hostname to set on server
|
||||||
USAGE
|
USAGE
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -107,11 +114,12 @@ ROLE=""
|
|||||||
NETBIRD_KEY=""
|
NETBIRD_KEY=""
|
||||||
NETBIRD_IP=""
|
NETBIRD_IP=""
|
||||||
NETBIRD_PORT=""
|
NETBIRD_PORT=""
|
||||||
|
HOSTNAME_VALUE=""
|
||||||
parse_args() {
|
parse_args() {
|
||||||
local opts
|
local opts
|
||||||
if ! opts=$(getopt \
|
if ! opts=$(getopt \
|
||||||
-o u:k:s:m:v:r:n:i:p:h \
|
-o u:k:s:m:v:r:n:i:p:o:h \
|
||||||
--long user:,sshkey:,ssh-ip:,monitor-ip:,vector:,role:,netbird-key:,netbird-ip:,netbird-port:,help \
|
--long user:,sshkey:,ssh-ip:,monitor-ip:,vector:,role:,netbird-key:,netbird-ip:,netbird-port:,hostname:,help \
|
||||||
-n "$0" -- "$@"); then
|
-n "$0" -- "$@"); then
|
||||||
usage
|
usage
|
||||||
exit 1
|
exit 1
|
||||||
@@ -128,6 +136,7 @@ parse_args() {
|
|||||||
-n|--netbird-key) NETBIRD_KEY="$2"; shift 2 ;;
|
-n|--netbird-key) NETBIRD_KEY="$2"; shift 2 ;;
|
||||||
-i|--netbird-ip) NETBIRD_IP="$2"; shift 2 ;;
|
-i|--netbird-ip) NETBIRD_IP="$2"; shift 2 ;;
|
||||||
-p|--netbird-port) NETBIRD_PORT="$2"; shift 2 ;;
|
-p|--netbird-port) NETBIRD_PORT="$2"; shift 2 ;;
|
||||||
|
-o|--hostname) HOSTNAME_VALUE="$2"; shift 2 ;;
|
||||||
-h|--help) usage; exit 0 ;;
|
-h|--help) usage; exit 0 ;;
|
||||||
--) shift; break ;;
|
--) shift; break ;;
|
||||||
*) log "Unknown parameter: $1"; usage; exit 1 ;;
|
*) log "Unknown parameter: $1"; usage; exit 1 ;;
|
||||||
@@ -150,7 +159,20 @@ fi
|
|||||||
install_packages() {
|
install_packages() {
|
||||||
run "Waiting for apt lock" wait_for_apt
|
run "Waiting for apt lock" wait_for_apt
|
||||||
run "Updating package index" apt-get update -y
|
run "Updating package index" apt-get update -y
|
||||||
run "Installing base packages" apt-get install -y --no-install-recommends sudo curl wget git ufw logrotate unattended-upgrades ca-certificates gnupg lsb-release apt-transport-https jq
|
run "Installing base packages" apt-get install -y --no-install-recommends sudo curl wget git ufw logrotate unattended-upgrades ca-certificates gnupg lsb-release apt-transport-https jq hstr bat eza duf
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_hostname() {
|
||||||
|
[[ -z "$HOSTNAME_VALUE" ]] && return
|
||||||
|
|
||||||
|
run "Setting hostname to $HOSTNAME_VALUE" hostnamectl set-hostname "$HOSTNAME_VALUE"
|
||||||
|
run "Updating /etc/hosts with hostname $HOSTNAME_VALUE" bash -c "
|
||||||
|
if grep -qE '^127\.0\.1\.1[[:space:]]+' /etc/hosts; then
|
||||||
|
sed -i -E 's/^127\\.0\\.1\\.1[[:space:]].*/127.0.1.1 ${HOSTNAME_VALUE}/' /etc/hosts
|
||||||
|
else
|
||||||
|
printf '127.0.1.1 %s\\n' '$HOSTNAME_VALUE' >> /etc/hosts
|
||||||
|
fi
|
||||||
|
"
|
||||||
}
|
}
|
||||||
|
|
||||||
setup_timezone() {
|
setup_timezone() {
|
||||||
@@ -269,6 +291,46 @@ configure_logrotate() {
|
|||||||
EOF"
|
EOF"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
configure_hstr() {
|
||||||
|
run "Enabling HSTR bash configuration for $USERNAME" sudo -u "$USERNAME" -H bash -lc "hstr --show-bash-configuration >> ~/.bashrc && source ~/.bashrc"
|
||||||
|
}
|
||||||
|
|
||||||
|
install_custom_motd() {
|
||||||
|
run "Installing custom MOTD" bash -c "curl -sSL https://raw.githubusercontent.com/Skrepysh/remnawave-motd/refs/heads/main/install-motd.sh | sudo bash"
|
||||||
|
run "Ensuring SSH MOTD is enabled" bash -c "
|
||||||
|
cfg='/etc/ssh/sshd_config.d/99-motd.conf'
|
||||||
|
install -d -m 755 /etc/ssh/sshd_config.d
|
||||||
|
printf '%s\n' 'PrintMotd yes' 'UsePAM yes' > "\$cfg"
|
||||||
|
chmod 0644 "\$cfg"
|
||||||
|
chown root:root "\$cfg"
|
||||||
|
sshd -t
|
||||||
|
systemctl reload sshd 2>/dev/null || systemctl reload ssh 2>/dev/null || systemctl restart sshd 2>/dev/null || systemctl restart ssh
|
||||||
|
"
|
||||||
|
}
|
||||||
|
|
||||||
|
create_aliases_file() {
|
||||||
|
run "Creating /etc/profile.d/my-aliases.sh" bash -c "cat >/etc/profile.d/my-aliases.sh <<'EOF'
|
||||||
|
export PATH=\"/home/deadcxap/.local/bin:\$PATH\"
|
||||||
|
|
||||||
|
alias dc='docker compose'
|
||||||
|
alias dcu='docker compose up -d'
|
||||||
|
alias dcd='docker compose down'
|
||||||
|
alias dcl='docker compose logs -f -t'
|
||||||
|
alias dcp='docker compose pull'
|
||||||
|
dcr() {
|
||||||
|
docker compose down && docker compose up -d && docker compose logs -f -t
|
||||||
|
}
|
||||||
|
dcur() {
|
||||||
|
docker compose pull && docker compose down && docker compose up -d && docker compose logs -f -t
|
||||||
|
}
|
||||||
|
alias ..='cd ..'
|
||||||
|
alias ll='eza -lahgF --icons --group-directories-first'
|
||||||
|
alias bat='batcat'
|
||||||
|
EOF
|
||||||
|
# /etc/profile подхватывает readable *.sh из /etc/profile.d для всех пользователей
|
||||||
|
chmod 0644 /etc/profile.d/my-aliases.sh"
|
||||||
|
}
|
||||||
|
|
||||||
configure_sysctl() {
|
configure_sysctl() {
|
||||||
run "Configuring sysctl parameters" bash -c "tee /etc/sysctl.d/90-vrbee.conf >/dev/null <<'EOF'
|
run "Configuring sysctl parameters" bash -c "tee /etc/sysctl.d/90-vrbee.conf >/dev/null <<'EOF'
|
||||||
net.core.default_qdisc = fq
|
net.core.default_qdisc = fq
|
||||||
@@ -384,12 +446,16 @@ main() {
|
|||||||
install_packages
|
install_packages
|
||||||
configure_sysctl
|
configure_sysctl
|
||||||
setup_timezone
|
setup_timezone
|
||||||
|
setup_hostname
|
||||||
create_user
|
create_user
|
||||||
configure_ssh
|
configure_ssh
|
||||||
configure_ufw
|
configure_ufw
|
||||||
install_docker
|
install_docker
|
||||||
configure_fail2ban
|
configure_fail2ban
|
||||||
configure_logrotate
|
configure_logrotate
|
||||||
|
configure_hstr
|
||||||
|
create_aliases_file
|
||||||
|
install_custom_motd
|
||||||
install_netbird
|
install_netbird
|
||||||
setup_vector
|
setup_vector
|
||||||
setup_role
|
setup_role
|
||||||
|
|||||||
Reference in New Issue
Block a user