Initial commit.
This commit is contained in:
commit
3d665e5e11
72 changed files with 3200 additions and 0 deletions
40
01-install-base-files
Executable file
40
01-install-base-files
Executable file
|
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
umask 022
|
||||||
|
|
||||||
|
# Install the LetsEncrypt CA bundles, to stop wget moaning.
|
||||||
|
cp -R ca-certificates /usr/local/share
|
||||||
|
update-ca-certificates
|
||||||
|
|
||||||
|
# Install memtest86 into /boot.
|
||||||
|
# Only install if /boot exists, so we are container compatible.
|
||||||
|
[ -e /boot ] && cp memtest86+ /boot
|
||||||
|
|
||||||
|
# Install root's new crontab.
|
||||||
|
cat root.crontab >/var/spool/cron/crontabs/root
|
||||||
|
/etc/rc.d/rc.crond restart
|
||||||
|
|
||||||
|
# Install the /etc files.
|
||||||
|
cd base-files
|
||||||
|
IFS=$'\n'
|
||||||
|
for dir in $(find . -type d | sort | sed -re 's/^\.\///'); do
|
||||||
|
mkdir -p -m 755 /etc/$dir
|
||||||
|
done
|
||||||
|
for file in $(find . -type f | sort | sed -re 's/^\.\///'); do
|
||||||
|
cat "$file" >"/etc/$file"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Correct file/directory specific permissions.
|
||||||
|
chmod 755 /etc/cron.daily/update-slackpkg-template
|
||||||
|
chmod 755 /etc/cron.daily/warn-git-status
|
||||||
|
chmod 755 /etc/cron.hourly/log-acls
|
||||||
|
chmod 755 /etc/initscript
|
||||||
|
chmod 755 /etc/profile.d/biff.csh
|
||||||
|
chmod 755 /etc/profile.d/biff.sh
|
||||||
|
chmod 755 /etc/profile.d/lang.csh
|
||||||
|
chmod 755 /etc/profile.d/lang.sh
|
||||||
|
chmod 755 /etc/profile.d/less.csh
|
||||||
|
chmod 755 /etc/profile.d/less.sh
|
||||||
|
chmod 755 /etc/profile.d/optpaths.csh
|
||||||
|
chmod 755 /etc/profile.d/optpaths.sh
|
||||||
|
chmod 750 /etc/sudoers.d
|
||||||
110
02-system-setup
Executable file
110
02-system-setup
Executable file
|
|
@ -0,0 +1,110 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Re-generate root's password for longer hash.
|
||||||
|
passwd root
|
||||||
|
|
||||||
|
# Make Tadgy's account.
|
||||||
|
adduser tadgy
|
||||||
|
|
||||||
|
# Move the 'console' group. I dislike it above 100.
|
||||||
|
grep "^console:x:101:" /etc/group >/dev/null && groupmod -g 97 console
|
||||||
|
grpconv
|
||||||
|
|
||||||
|
# Add group 'admin', and make root and Tadgy a member.
|
||||||
|
grep "^admin:" /etc/group >/dev/null || groupadd -g 101 admin
|
||||||
|
usermod -aG admin root
|
||||||
|
usermod -aG admin tadgy
|
||||||
|
|
||||||
|
# Restrict access to 'logger', since it can be used to spam the logs.
|
||||||
|
chown root:admin /usr/bin/logger
|
||||||
|
chmod 750 /usr/bin/logger
|
||||||
|
|
||||||
|
# Copy ssh keys into place for root and tadgy.
|
||||||
|
mkdir -p -m 0700 /root/.ssh
|
||||||
|
cp authorized_keys /root/.ssh
|
||||||
|
mkdir -p -m 0700 /home/tadgy/.ssh
|
||||||
|
cp authorized_keys /home/tadgy/.ssh
|
||||||
|
chown -R tadgy:users /home/tadgy/.ssh
|
||||||
|
|
||||||
|
# Encrypt the databases so they can be checked into git.
|
||||||
|
echo "Encrypting /etc/shadow..."
|
||||||
|
gpg -c -o /etc/shadow.gpg /etc/shadow
|
||||||
|
echo "Encrypting /etc/gshadow..."
|
||||||
|
gpg -c -o /etc/gshadow.gpg /etc/gshadow
|
||||||
|
|
||||||
|
# Create /opt directories.
|
||||||
|
mkdir -p -m 755 {/opt,/opt/{bin,include,info,lib64,man,man/man{0..8},sbin,share}}
|
||||||
|
|
||||||
|
# Create log archive directories and move old log files.
|
||||||
|
[ ! -d /var/log/Archived/pre-sysconfig ] && {
|
||||||
|
mkdir -p -m 750 /var/log/Archived
|
||||||
|
mkdir -p -m 750 /var/log/Archived/pre-sysconfig
|
||||||
|
mv /var/log/{btmp.*,{cron,debug,maillog,messages,secure,spooler,syslog}{,.*}} /var/log/Archived/pre-sysconfig/ 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
# Stop syslog from producing a "MARK" every 20 minutes.
|
||||||
|
# -current 20200626 uses /etc/default now, this is not required.
|
||||||
|
# sed -i /etc/rc.d/rc.syslog -r -e '/^#SYSLOGD_OPTIONS/ s/#//' -e '/^SYSLOGD_OPTIONS/ s/"-c "$/"-c -m 0"/'
|
||||||
|
|
||||||
|
# Restart syslogd.
|
||||||
|
/etc/rc.d/rc.syslog restart
|
||||||
|
|
||||||
|
# Restart ntpd.
|
||||||
|
[ -x /etc/rc.d/rc.ntpd ] && /etc/rc.d/rc.ntpd restart
|
||||||
|
|
||||||
|
# Restart sshd.
|
||||||
|
/etc/rc.d/rc.sshd restart
|
||||||
|
|
||||||
|
# Keep an su'ers log.
|
||||||
|
touch /var/log/sulog
|
||||||
|
|
||||||
|
# Keep fail2ban logs.
|
||||||
|
touch /var/log/fail2ban
|
||||||
|
|
||||||
|
# Add an rc.local_shutdown script if it doesn't exist already.
|
||||||
|
[ ! -e /etc/rc.d/rc.local_shutdown ] && {
|
||||||
|
echo "#!/bin/sh" >/etc/rc.d/rc.local_shutdown
|
||||||
|
echo "# /etc/rc.d/rc.local_shutdown - Local system shutdown script." >>/etc/rc.d/rc.local_shutdown
|
||||||
|
echo "# This script will be run when the system is shutdown or rebooted." >>/etc/rc.d/rc.local_shutdown
|
||||||
|
chmod 755 /etc/rc.d/rc.local_shutdown
|
||||||
|
}
|
||||||
|
|
||||||
|
# To clear all ACLs:
|
||||||
|
# setfacl -Rk /path
|
||||||
|
# setfacl -Rd group:admin: /path
|
||||||
|
# setfacl -Rx mask:: /path
|
||||||
|
|
||||||
|
# Secure /var/log
|
||||||
|
# Set standard access perms for directories
|
||||||
|
setfacl -m user::rwx,group::rx,other::x /var/log/
|
||||||
|
setfacl -m user::rwx,group::rx,other::- /var/log/*/ /var/log/*/*/
|
||||||
|
# Set standard access perms for files
|
||||||
|
find /var/log -type f -exec setfacl -Rm user::rw,group::r,other::- {} \;
|
||||||
|
# Allow group 'admin' read access to all directories/files
|
||||||
|
setfacl -m group:admin:rX /var/log/ /var/log/*/ /var/log/*/*/
|
||||||
|
find /var/log -type f -exec setfacl -m group:admin:r {} \;
|
||||||
|
# Set default access for new files in directories.
|
||||||
|
setfacl -dm user::rwX,group::rX,other::- /var/log/ /var/log/*/ /var/log/*/*/
|
||||||
|
setfacl -dm group:admin:rX /var/log/ /var/log/*/ /var/log/*/*/
|
||||||
|
# /var/log/wtmp needs to be readable by everyone
|
||||||
|
setfacl -m user::rw,group::r,other::r /var/log/wtmp
|
||||||
|
|
||||||
|
# Secure /root
|
||||||
|
# Set standard access perms for directories
|
||||||
|
find /root -type d -exec setfacl -m user::rwx,group::rx,other::- {} \;
|
||||||
|
# Set standard access perms for files
|
||||||
|
find /root -type f -exec setfacl -m user::rwX,group::rX,other::- {} \;
|
||||||
|
# Allow group 'admin' read access to all files/dirs
|
||||||
|
find /root -type d -exec setfacl -m group:admin:rX {} \;
|
||||||
|
find /root -type f -exec setfacl -m group:admin:rX {} \;
|
||||||
|
# Set default access for new files/dirs
|
||||||
|
find /root -type d -exec setfacl -dm user::rwX,group::rX,other::- {} \;
|
||||||
|
find /root -type d -exec setfacl -dm group:admin:rX {} \;
|
||||||
|
|
||||||
|
# Clean up some cruft.
|
||||||
|
rm -rf /etc/nntpserver /etc/lilo.conf_example
|
||||||
|
rm -rf /usr/{local/games,local/man/cat*,man/cat*} /var/man
|
||||||
|
|
||||||
|
# Finally, check for FIXMEs.
|
||||||
|
echo "There may be some FIXMEs to attend to:"
|
||||||
|
grep -R FIXME /etc | egrep -v "^/etc/(\.git|file|magic|misc)"
|
||||||
2
authorized_keys
Normal file
2
authorized_keys
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICsx4EY4vbDt0TXGZsW9UjOxj+s/mVeytJ7lW5rAu0gS Darren 'Tadgy' Austin <darren@afterdark.org.uk>
|
||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCtsRUCRcju+l1TrfwGQ/PCcXBwN8bTCcmS0PYbdu13XJQ9DijTZsU7m2k8pi2fFU0VG5+C57i4FhkV3J7Ngpu0XDM4CPuoq2agRTEMXZlHu0aO8mEaPBli5oEkx/m1yinL0FapDfxMkeLDp3eHL0Gw2I0G6Kg8j4jl0pz4uYPLrrMbcWgEin+ijUE71lRXXJ2U6whCFBz991XDTkyX9a3CMAKIjYq0qTMyBGWUzHVNVPCXXa1bcK6Jj6jlkW1oowfccof3mDtm5Tef54pFAWS6yYSM+XkmCStknDInKI/fL54LnH6PZxEz2wdRXArMNk80gNyzLbOqEddnaoTaSowTIcXOUyzMrgyf/c2WZp9Ss05kgt6e+sTFqEREt1oslGP8s2rtvhRCyAaQM0X5TutqycLeNbm7duKmb4FuYvRqbi6ECqrUZ5roz5ushrtEvUY74xmo3Wt5/6piDV7VTCLUqNJNcB+rPFLG+LYUS+G1w4HZGXXgIERcHHDdvt4LQm0= Darren 'Tadgy' Austin <darren@afterdark.org.uk>
|
||||||
161
base-files/.gitignore
vendored
Normal file
161
base-files/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,161 @@
|
||||||
|
# Files which should never be tracked, for security.
|
||||||
|
gshadow
|
||||||
|
shadow
|
||||||
|
ssh/*_key
|
||||||
|
|
||||||
|
# Temporary, backup, sample and dist files.
|
||||||
|
*.swp
|
||||||
|
.pwd.lock
|
||||||
|
group-
|
||||||
|
gshadow-
|
||||||
|
passwd-
|
||||||
|
shadow-
|
||||||
|
*.example
|
||||||
|
*-example
|
||||||
|
*_example
|
||||||
|
*.sample
|
||||||
|
*-sample
|
||||||
|
*_sample
|
||||||
|
*.dist
|
||||||
|
|
||||||
|
# Dynamically created files.
|
||||||
|
adjtime
|
||||||
|
ca-certificates.conf
|
||||||
|
ld.so.cache
|
||||||
|
random-seed
|
||||||
|
|
||||||
|
# Files that don't need to be tracked.
|
||||||
|
DIR_COLORS
|
||||||
|
X11/
|
||||||
|
bind.keys
|
||||||
|
bindresvport.blacklist
|
||||||
|
cgconfig.conf
|
||||||
|
cgred.conf
|
||||||
|
cgrules.conf
|
||||||
|
cgsnapshot_blacklist.conf
|
||||||
|
cron.daily/certwatch
|
||||||
|
cron.daily/logrotate
|
||||||
|
cron.daily/man-db
|
||||||
|
cron.daily/mlocate
|
||||||
|
dbus-1/
|
||||||
|
default/cpufreq
|
||||||
|
default/crond
|
||||||
|
default/kadmind
|
||||||
|
default/kpropd
|
||||||
|
default/krb5kdc
|
||||||
|
default/lxc
|
||||||
|
default/sshd
|
||||||
|
default/useradd
|
||||||
|
dhcpcd.conf
|
||||||
|
dnsmasq.conf
|
||||||
|
e2scrub.conf
|
||||||
|
ethertypes
|
||||||
|
fail2ban/*.conf
|
||||||
|
fail2ban/action.d/*.conf
|
||||||
|
fail2ban/action.d/*.py
|
||||||
|
fail2ban/filter.d/ignorecommands
|
||||||
|
fail2ban/filter.d/*.conf
|
||||||
|
fb.modes
|
||||||
|
file/
|
||||||
|
host.conf
|
||||||
|
hosts.allow
|
||||||
|
hosts.deny
|
||||||
|
hosts.equiv
|
||||||
|
init.d
|
||||||
|
inputrc
|
||||||
|
iproute2/
|
||||||
|
issue
|
||||||
|
issue.net
|
||||||
|
ld.so.conf
|
||||||
|
libnl/
|
||||||
|
localtime
|
||||||
|
localtime-copied-from
|
||||||
|
login.access
|
||||||
|
lxc/default.conf
|
||||||
|
lynx.cfg
|
||||||
|
lynx.lss
|
||||||
|
man_db.conf
|
||||||
|
mcelog/mcelog.conf
|
||||||
|
mcelog/*-trigger
|
||||||
|
misc
|
||||||
|
mke2fs.conf
|
||||||
|
modprobe.d/README
|
||||||
|
mtab
|
||||||
|
named.conf
|
||||||
|
nanorc
|
||||||
|
netconfig
|
||||||
|
nntpserver
|
||||||
|
nsswitch.conf
|
||||||
|
ntp.keys
|
||||||
|
os-release
|
||||||
|
profile.d/coreutils-dircolors.*
|
||||||
|
profile.d/gawk.*
|
||||||
|
profile.d/glibc.*
|
||||||
|
profile.d/man-db.*
|
||||||
|
profile.d/z-dot-in-non-root-path.*
|
||||||
|
protocols
|
||||||
|
!rc.d/init.d/
|
||||||
|
rc.d/init.d/README.functions
|
||||||
|
rc.d/init.d/functions
|
||||||
|
rc.d/rc.0
|
||||||
|
rc.d/rc.4
|
||||||
|
rc.d/rc.6
|
||||||
|
rc.d/rc.K
|
||||||
|
rc.d/rc.M
|
||||||
|
rc.d/rc.S
|
||||||
|
rc.d/rc.bind
|
||||||
|
rc.d/rc.cgconfig
|
||||||
|
rc.d/rc.cgmanager
|
||||||
|
rc.d/rc.cgproxy
|
||||||
|
rc.d/rc.cgred
|
||||||
|
rc.d/rc.cpufreq
|
||||||
|
rc.d/rc.crond
|
||||||
|
rc.d/rc.dnsmasq
|
||||||
|
rc.d/rc.fail2ban
|
||||||
|
rc.d/rc.font
|
||||||
|
rc.d/rc.haveged
|
||||||
|
rc.d/rc.inet1
|
||||||
|
rc.d/rc.inet2
|
||||||
|
rc.d/rc.ip_forward
|
||||||
|
rc.d/rc.kadmind
|
||||||
|
rc.d/rc.kpropd
|
||||||
|
rc.d/rc.krb5kdc
|
||||||
|
rc.d/rc.libvirt
|
||||||
|
rc.d/rc.loop
|
||||||
|
rc.d/rc.lxc
|
||||||
|
rc.d/rc.mcelog
|
||||||
|
rc.d/rc.messagebus
|
||||||
|
rc.d/rc.modules
|
||||||
|
rc.d/rc.ntpd
|
||||||
|
rc.d/rc.qemu-ga
|
||||||
|
rc.d/rc.saslauthd
|
||||||
|
rc.d/rc.serial
|
||||||
|
rc.d/rc.setterm
|
||||||
|
rc.d/rc.smartd
|
||||||
|
rc.d/rc.sshd
|
||||||
|
rc.d/rc.sysstat
|
||||||
|
rc.d/rc.sysvinit
|
||||||
|
rc.d/rc.udev
|
||||||
|
rc.d/rc.vnstat
|
||||||
|
rc?.d
|
||||||
|
!rc.d/rc?.d/
|
||||||
|
request-key.conf
|
||||||
|
rmt
|
||||||
|
screenrc
|
||||||
|
sensors3.conf
|
||||||
|
serial.conf
|
||||||
|
services
|
||||||
|
shells
|
||||||
|
skel/.screenrc
|
||||||
|
slackware-version
|
||||||
|
smartd_warning.sh
|
||||||
|
ssh/moduli
|
||||||
|
ssl/
|
||||||
|
sudoers
|
||||||
|
sysstat/
|
||||||
|
termcap
|
||||||
|
udev/
|
||||||
|
updatedb.conf
|
||||||
|
vi.exrc
|
||||||
|
wgetrc
|
||||||
|
xattr.conf
|
||||||
3
base-files/cron.daily/update-slackpkg-template
Executable file
3
base-files/cron.daily/update-slackpkg-template
Executable file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
slackpkg -batch=on -default_answer=y generate-template "$HOSTNAME" >/dev/null
|
||||||
9
base-files/cron.daily/warn-git-status
Executable file
9
base-files/cron.daily/warn-git-status
Executable file
|
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
source /etc/mail.conf "etc-git" || exit 1
|
||||||
|
|
||||||
|
cd /etc
|
||||||
|
|
||||||
|
OUTPUT="$(git status | egrep -ve "^(On branch|Your branch|No commits|nothing|$)" -e "\(use")"
|
||||||
|
|
||||||
|
[[ ! -z "$OUTPUT" ]] && mailx "${MAILX_ARGS[@]}" -r "$EMAIL_FROM" -s "/etc git status" "${EMAIL_TO[@]}" <<< "$OUTPUT"
|
||||||
24
base-files/cron.hourly/log-acls
Executable file
24
base-files/cron.hourly/log-acls
Executable file
|
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Sleep for a couple of minutes to prevent a race condition with other cron jobs.
|
||||||
|
sleep 120
|
||||||
|
|
||||||
|
# Secure /var/log
|
||||||
|
# Set standard access perms for directories
|
||||||
|
setfacl -m user::rwx,group::rx,other::x /var/log/
|
||||||
|
find /var/log/*/ -type d -exec setfacl -m user::rwx,group::rx,other::- {} \;
|
||||||
|
# Set standard access perms for files
|
||||||
|
find /var/log -type f -exec setfacl -Rm user::rw,group::r,other::- {} \;
|
||||||
|
# Allow group 'admin' read access to all directories/files
|
||||||
|
find /var/log -type d -exec setfacl -m group:admin:rX {} \;
|
||||||
|
find /var/log -type f -exec setfacl -m group:admin:r {} \;
|
||||||
|
# Set default access for new files in directories.
|
||||||
|
find /var/log -type d -exec setfacl -dm user::rwX,group::rX,other::- {} \;
|
||||||
|
find /var/log -type d -exec setfacl -dm group:admin:rX {} \;
|
||||||
|
# /var/log/wtmp needs to be readable by everyone
|
||||||
|
setfacl -m user::rw,group::r,other::r /var/log/wtmp
|
||||||
|
|
||||||
|
# To clear above ACL settings:
|
||||||
|
# setfacl -Rk /path
|
||||||
|
# setfacl -Rx group:admin: /path
|
||||||
|
# setfacl -Rx mask:: /path
|
||||||
45
base-files/csh.login
Normal file
45
base-files/csh.login
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
# System wide set up for the csh and tcsh shells.
|
||||||
|
|
||||||
|
# The default search path.
|
||||||
|
set path = ( /usr/bin /bin /usr/local/bin )
|
||||||
|
|
||||||
|
# Add sbin paths for root users.
|
||||||
|
if ( { [ "`id -u`" = "0" -o "`id -g`" = "0" ] } ) \
|
||||||
|
set path = ( /usr/sbin /sbin /usr/local/sbin $path )
|
||||||
|
|
||||||
|
# Set path to include a user's private bin if it exists.
|
||||||
|
if ( -d ~/bin ) set path = ( ~/bin $path )
|
||||||
|
|
||||||
|
# Append /usr/games to path if it exists.
|
||||||
|
if ( -d /usr/games ) set path = ( $path /usr/games )
|
||||||
|
|
||||||
|
# Set a default terminal type if none was detected.
|
||||||
|
if ! $?TERM setenv TERM linux
|
||||||
|
if ( "$TERM" == "" ) setenv TERM linux
|
||||||
|
if ( "$TERM" == "unknown" ) setenv TERM linux
|
||||||
|
|
||||||
|
# Use the system inputrc if the user does not have their own.
|
||||||
|
if ( ! -r ~/.inputrc ) setenv INPUTRC /etc/inputrc
|
||||||
|
|
||||||
|
# Set an empty MANPATH if none exists (this prevents some profile.d scripts from exiting from trying to access an unset variable):
|
||||||
|
if ! $?MANPATH setenv MANPATH ""
|
||||||
|
|
||||||
|
# Set the HOSTNAME environment variable.
|
||||||
|
setenv HOSTNAME "`cat /etc/HOSTNAME`"
|
||||||
|
|
||||||
|
# Shell prompt.
|
||||||
|
set prompt = "%n@%m:%~%# "
|
||||||
|
|
||||||
|
# Use a reasonable create mask.
|
||||||
|
umask 022
|
||||||
|
|
||||||
|
# Set up any further environment from files in /etc/profile.d/.
|
||||||
|
if ( -d /etc/profile.d ) then
|
||||||
|
set nonomatch
|
||||||
|
foreach file ( /etc/profile.d/*.csh )
|
||||||
|
if ( -x $file ) then
|
||||||
|
source $file
|
||||||
|
endif
|
||||||
|
end
|
||||||
|
unset file nonomatch
|
||||||
|
endif
|
||||||
4
base-files/default/syslogd
Normal file
4
base-files/default/syslogd
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Options for the syslog daemon.
|
||||||
|
# Default is "-s" to run in secure mode - not accepting network connections.
|
||||||
|
# For other options, see syslog(8).
|
||||||
|
SYSLOGD_OPTS="-s -k -m 0"
|
||||||
1
base-files/dialogrc
Normal file
1
base-files/dialogrc
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
# This file is intentionally empty.
|
||||||
75
base-files/fail2ban/fail2ban.local
Normal file
75
base-files/fail2ban/fail2ban.local
Normal file
|
|
@ -0,0 +1,75 @@
|
||||||
|
[DEFAULT]
|
||||||
|
|
||||||
|
# Option: loglevel
|
||||||
|
# Notes.: Set the log level output.
|
||||||
|
# CRITICAL
|
||||||
|
# ERROR
|
||||||
|
# WARNING
|
||||||
|
# NOTICE
|
||||||
|
# INFO
|
||||||
|
# DEBUG
|
||||||
|
# Values: [ LEVEL ] Default: ERROR
|
||||||
|
#
|
||||||
|
loglevel = INFO
|
||||||
|
|
||||||
|
# Option: logtarget
|
||||||
|
# Notes.: Set the log target. This could be a file, SYSLOG, STDERR or STDOUT.
|
||||||
|
# Only one log target can be specified.
|
||||||
|
# If you change logtarget from the default value and you are
|
||||||
|
# using logrotate -- also adjust or disable rotation in the
|
||||||
|
# corresponding configuration file
|
||||||
|
# (e.g. /etc/logrotate.d/fail2ban on Debian systems)
|
||||||
|
# Values: [ STDOUT | STDERR | SYSLOG | SYSOUT | FILE ] Default: STDERR
|
||||||
|
#
|
||||||
|
logtarget = syslog[facility=LOCAL0]
|
||||||
|
|
||||||
|
# Option: syslogsocket
|
||||||
|
# Notes: Set the syslog socket file. Only used when logtarget is SYSLOG
|
||||||
|
# auto uses platform.system() to determine predefined paths
|
||||||
|
# Values: [ auto | FILE ] Default: auto
|
||||||
|
#syslogsocket = auto
|
||||||
|
|
||||||
|
# Option: socket
|
||||||
|
# Notes.: Set the socket file. This is used to communicate with the daemon. Do
|
||||||
|
# not remove this file when Fail2ban runs. It will not be possible to
|
||||||
|
# communicate with the server afterwards.
|
||||||
|
# Values: [ FILE ] Default: /var/run/fail2ban/fail2ban.sock
|
||||||
|
#
|
||||||
|
socket = /var/run/fail2ban.sock
|
||||||
|
|
||||||
|
# Option: pidfile
|
||||||
|
# Notes.: Set the PID file. This is used to store the process ID of the
|
||||||
|
# fail2ban server.
|
||||||
|
# Values: [ FILE ] Default: /var/run/fail2ban/fail2ban.pid
|
||||||
|
#
|
||||||
|
pidfile = /var/run/fail2ban.pid
|
||||||
|
|
||||||
|
# Options: dbfile
|
||||||
|
# Notes.: Set the file for the fail2ban persistent data to be stored.
|
||||||
|
# A value of ":memory:" means database is only stored in memory
|
||||||
|
# and data is lost when fail2ban is stopped.
|
||||||
|
# A value of "None" disables the database.
|
||||||
|
# Values: [ None :memory: FILE ] Default: /var/lib/fail2ban/fail2ban.sqlite3
|
||||||
|
# dbfile = /var/lib/fail2ban/fail2ban.sqlite3
|
||||||
|
|
||||||
|
# Options: dbpurgeage
|
||||||
|
# Notes.: Sets age at which bans should be purged from the database
|
||||||
|
# Values: [ SECONDS ] Default: 86400 (24hours)
|
||||||
|
#dbpurgeage = 1d
|
||||||
|
|
||||||
|
# Options: dbmaxmatches
|
||||||
|
# Notes.: Number of matches stored in database per ticket (resolvable via
|
||||||
|
# tags <ipmatches>/<ipjailmatches> in actions)
|
||||||
|
# Values: [ INT ] Default: 10
|
||||||
|
#dbmaxmatches = 10
|
||||||
|
|
||||||
|
[Definition]
|
||||||
|
|
||||||
|
|
||||||
|
[Thread]
|
||||||
|
|
||||||
|
# Options: stacksize
|
||||||
|
# Notes.: Specifies the stack size (in KiB) to be used for subsequently created threads,
|
||||||
|
# and must be 0 or a positive integer value of at least 32.
|
||||||
|
# Values: [ SIZE ] Default: 0 (use platform or configured default)
|
||||||
|
#stacksize = 0
|
||||||
61
base-files/fail2ban/jail.local
Normal file
61
base-files/fail2ban/jail.local
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
[DEFAULT]
|
||||||
|
|
||||||
|
#
|
||||||
|
# MISCELLANEOUS OPTIONS
|
||||||
|
#
|
||||||
|
|
||||||
|
# "ignoreip" can be a list of IP addresses, CIDR masks or DNS hosts. Fail2ban
|
||||||
|
# will not ban a host which matches an address in this list. Several addresses
|
||||||
|
# can be defined using space (and/or comma) separator.
|
||||||
|
ignoreip = 127.0.0.1/8 91.109.244.0/24 ::1 2a02:2498:1:227::/64 afterdark.org.uk
|
||||||
|
|
||||||
|
# "bantime" is the number of seconds that a host is banned.
|
||||||
|
bantime = 12h
|
||||||
|
|
||||||
|
# A host is banned if it has generated "maxretry" during the last "findtime"
|
||||||
|
# seconds.
|
||||||
|
findtime = 2h
|
||||||
|
|
||||||
|
# "maxretry" is the number of failures before a host get banned.
|
||||||
|
maxretry = 3
|
||||||
|
|
||||||
|
# "usedns" specifies if jails should trust hostnames in logs,
|
||||||
|
# warn when DNS lookups are performed, or ignore all hostnames in logs
|
||||||
|
#
|
||||||
|
# yes: if a hostname is encountered, a DNS lookup will be performed.
|
||||||
|
# warn: if a hostname is encountered, a DNS lookup will be performed,
|
||||||
|
# but it will be logged as a warning.
|
||||||
|
# no: if a hostname is encountered, will not be used for banning,
|
||||||
|
# but it will be logged as info.
|
||||||
|
# raw: use raw value (no hostname), allow use it for no-host filters/actions (example user)
|
||||||
|
usedns = warn
|
||||||
|
|
||||||
|
#
|
||||||
|
# ACTIONS
|
||||||
|
#
|
||||||
|
|
||||||
|
# Some options used for actions
|
||||||
|
|
||||||
|
# Destination email address used solely for the interpolations in
|
||||||
|
# jail.{conf,local,d/*} configuration files.
|
||||||
|
destemail = root@localhost
|
||||||
|
|
||||||
|
# Sender email address used solely for some actions
|
||||||
|
sender = root@<fq-hostname>
|
||||||
|
|
||||||
|
#
|
||||||
|
# JAILS
|
||||||
|
#
|
||||||
|
|
||||||
|
[sshd]
|
||||||
|
|
||||||
|
# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
|
||||||
|
# normal (default), ddos, extra or aggressive (combines all).
|
||||||
|
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
|
||||||
|
#mode = normal
|
||||||
|
enabled = yes
|
||||||
|
port = 9922
|
||||||
|
|
||||||
|
#[apache-auth]
|
||||||
|
#enabled = yes
|
||||||
|
#
|
||||||
25
base-files/fail2ban/paths-overrides.local
Normal file
25
base-files/fail2ban/paths-overrides.local
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
[DEFAULT]
|
||||||
|
|
||||||
|
syslog_mail = /var/log/smtpd
|
||||||
|
|
||||||
|
syslog_mail_warn = /var/log/smtpd
|
||||||
|
|
||||||
|
syslog_authpriv = /var/log/messages
|
||||||
|
|
||||||
|
syslog_auth = /var/log/messages
|
||||||
|
|
||||||
|
syslog_user = /var/log/messages
|
||||||
|
|
||||||
|
syslog_ftp = /var/log/ftpd
|
||||||
|
|
||||||
|
syslog_daemon = /var/log/messages
|
||||||
|
|
||||||
|
syslog_local0 = /var/log/messages
|
||||||
|
|
||||||
|
apache_error_log = /var/log/httpd/*error.log
|
||||||
|
|
||||||
|
apache_access_log = /var/log/httpd/*access.log
|
||||||
|
|
||||||
|
# Default for Slackware provided below,
|
||||||
|
# please change according to your proftpd config file.
|
||||||
|
proftpd_log = /var/log/ftpd
|
||||||
15
base-files/filesystems
Normal file
15
base-files/filesystems
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
ext4
|
||||||
|
ext3
|
||||||
|
ext2
|
||||||
|
iso9660
|
||||||
|
vfat
|
||||||
|
ntfs
|
||||||
|
msdos
|
||||||
|
reiserfs
|
||||||
|
btrfs
|
||||||
|
jfs
|
||||||
|
xfs
|
||||||
|
romfs
|
||||||
|
udf
|
||||||
|
minix
|
||||||
|
*
|
||||||
6
base-files/hardwareclock
Normal file
6
base-files/hardwareclock
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
# /etc/hardwareclock
|
||||||
|
#
|
||||||
|
# Tells how the hardware clock time is stored.
|
||||||
|
# You should run timeconfig to edit this file.
|
||||||
|
|
||||||
|
UTC
|
||||||
7
base-files/initscript
Executable file
7
base-files/initscript
Executable file
|
|
@ -0,0 +1,7 @@
|
||||||
|
PATH="/opt/sbin:/usr/local/sbin:/usr/sbin:/sbin:/opt/bin:/usr/local/bin:/usr/bin:/bin"
|
||||||
|
PERL5LIB="/opt/lib64/perl5:/opt/lib64/perl5/site_perl"
|
||||||
|
PYTHONPATH="/opt/lib64/python2.7/site-packages"
|
||||||
|
|
||||||
|
export PATH PERL5LIB PYTHONPATH
|
||||||
|
|
||||||
|
eval exec "$4"
|
||||||
63
base-files/inittab
Normal file
63
base-files/inittab
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
# These are the default runlevels in Slackware:
|
||||||
|
# 0 = halt
|
||||||
|
# 1 = single user mode
|
||||||
|
# 2 = unused (but configured the same as runlevel 3)
|
||||||
|
# 3 = multiuser mode (default Slackware runlevel)
|
||||||
|
# 4 = X11 with KDM/GDM/XDM (session managers)
|
||||||
|
# 5 = unused (but configured the same as runlevel 3)
|
||||||
|
# 6 = reboot
|
||||||
|
|
||||||
|
# Default runlevel. Do not set to 0 or 6.
|
||||||
|
id:3:initdefault:
|
||||||
|
|
||||||
|
# System initialization (runs when system boots).
|
||||||
|
si:S:sysinit:/etc/rc.d/rc.S
|
||||||
|
|
||||||
|
# Script to run when going single user (runlevel 1).
|
||||||
|
su:1S:wait:/etc/rc.d/rc.K
|
||||||
|
|
||||||
|
# Script to run when going multi user.
|
||||||
|
rc:2345:wait:/etc/rc.d/rc.M
|
||||||
|
|
||||||
|
# What to do at the "Three Finger Salute".
|
||||||
|
ca::ctrlaltdel:/sbin/shutdown -t5 -r now
|
||||||
|
|
||||||
|
# Runlevel 0 halts the system.
|
||||||
|
l0:0:wait:/etc/rc.d/rc.0
|
||||||
|
|
||||||
|
# Runlevel 6 reboots the system.
|
||||||
|
l6:6:wait:/etc/rc.d/rc.6
|
||||||
|
|
||||||
|
# What to do when power fails.
|
||||||
|
pf::powerfail:/sbin/genpowerfail start
|
||||||
|
# FIXME: If running in a LXC container, use this.
|
||||||
|
# pf::powerfail:/sbin/shutdown -h now
|
||||||
|
|
||||||
|
# If power is back, cancel the running shutdown.
|
||||||
|
pg::powerokwait:/sbin/genpowerfail stop
|
||||||
|
# FIXME: If running in a LXC container, use this.
|
||||||
|
# pg::powerokwait:/sbin/shutdown -c
|
||||||
|
|
||||||
|
# These are the standard console login getties in multiuser mode.
|
||||||
|
c1:12345:respawn:/sbin/agetty --noclear 38400 tty1 linux
|
||||||
|
c2:12345:respawn:/sbin/agetty 38400 tty2 linux
|
||||||
|
#c3:12345:respawn:/sbin/agetty 38400 tty3 linux
|
||||||
|
#c4:12345:respawn:/sbin/agetty 38400 tty4 linux
|
||||||
|
#c5:12345:respawn:/sbin/agetty 38400 tty5 linux
|
||||||
|
#c6:12345:respawn:/sbin/agetty 38400 tty6 linux
|
||||||
|
#c7:12345:respawn:/sbin/agetty 38400 tty7 linux
|
||||||
|
#c8:12345:respawn:/sbin/agetty 38400 tty8 linux
|
||||||
|
#c9:12345:respawn:/sbin/agetty 38400 tty9 linux
|
||||||
|
#c10:12345:respawn:/sbin/agetty 38400 tty10 linux
|
||||||
|
|
||||||
|
# Local serial lines.
|
||||||
|
#s1:12345:respawn:/sbin/agetty -L ttyS0 9600 vt100
|
||||||
|
#s2:12345:respawn:/sbin/agetty -L ttyS1 9600 vt100
|
||||||
|
|
||||||
|
# Dialup lines.
|
||||||
|
#d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS0 vt100
|
||||||
|
#d2:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS1 vt100
|
||||||
|
|
||||||
|
# Runlevel 4 also starts /etc/rc.d/rc.4 to run a display manager for X.
|
||||||
|
# Display managers are preferred in this order: gdm, kdm, xdm.
|
||||||
|
x1:4:respawn:/etc/rc.d/rc.4
|
||||||
1
base-files/ld.so.conf.d/opt.conf
Normal file
1
base-files/ld.so.conf.d/opt.conf
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
/opt/lib64
|
||||||
287
base-files/login.defs
Normal file
287
base-files/login.defs
Normal file
|
|
@ -0,0 +1,287 @@
|
||||||
|
#
|
||||||
|
# /etc/login.defs - Configuration control definitions for the shadow package.
|
||||||
|
#
|
||||||
|
# $Id: login.defs 3038 2009-07-23 20:41:35Z nekral-guest $
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Delay in seconds before being allowed another attempt after a login failure
|
||||||
|
#
|
||||||
|
FAIL_DELAY 1
|
||||||
|
|
||||||
|
#
|
||||||
|
# Enable display of unknown usernames when login failures are recorded.
|
||||||
|
#
|
||||||
|
LOG_UNKFAIL_ENAB yes
|
||||||
|
|
||||||
|
#
|
||||||
|
# Enable logging of successful logins
|
||||||
|
#
|
||||||
|
LOG_OK_LOGINS no
|
||||||
|
|
||||||
|
#
|
||||||
|
# Enable "syslog" logging of su activity - in addition to sulog file logging.
|
||||||
|
# SYSLOG_SG_ENAB does the same for newgrp and sg.
|
||||||
|
#
|
||||||
|
SYSLOG_SU_ENAB yes
|
||||||
|
SYSLOG_SG_ENAB yes
|
||||||
|
|
||||||
|
#
|
||||||
|
# If defined, either full pathname of a file containing device names or
|
||||||
|
# a ":" delimited list of device names. Root logins will be allowed only
|
||||||
|
# upon these devices.
|
||||||
|
#
|
||||||
|
CONSOLE /etc/securetty
|
||||||
|
#CONSOLE console:tty01:tty02:tty03:tty04
|
||||||
|
|
||||||
|
#
|
||||||
|
# If defined, all su activity is logged to this file.
|
||||||
|
#
|
||||||
|
SULOG_FILE /var/log/sulog
|
||||||
|
|
||||||
|
#
|
||||||
|
# If defined, file which maps tty line to TERM environment parameter.
|
||||||
|
# Each line of the file is in a format something like "vt100 tty01".
|
||||||
|
#
|
||||||
|
#TTYTYPE_FILE /etc/ttytype
|
||||||
|
|
||||||
|
#
|
||||||
|
# If defined, the command name to display when running "su -". For
|
||||||
|
# example, if this is defined as "su" then a "ps" will display the
|
||||||
|
# command is "-su". If not defined, then "ps" would display the
|
||||||
|
# name of the shell actually being run, e.g. something like "-sh".
|
||||||
|
#
|
||||||
|
SU_NAME su
|
||||||
|
|
||||||
|
#
|
||||||
|
# *REQUIRED*
|
||||||
|
# Directory where mailboxes reside, _or_ name of file, relative to the
|
||||||
|
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
|
||||||
|
#
|
||||||
|
MAIL_DIR /var/spool/mail
|
||||||
|
#MAIL_FILE .mail
|
||||||
|
|
||||||
|
#
|
||||||
|
# If defined, file which inhibits all the usual chatter during the login
|
||||||
|
# sequence. If a full pathname, then hushed mode will be enabled if the
|
||||||
|
# user's name or shell are found in the file. If not a full pathname, then
|
||||||
|
# hushed mode will be enabled if the file exists in the user's home directory.
|
||||||
|
#
|
||||||
|
HUSHLOGIN_FILE .hushlogin
|
||||||
|
#HUSHLOGIN_FILE /etc/hushlogins
|
||||||
|
|
||||||
|
#
|
||||||
|
# *REQUIRED* The default PATH settings, for superuser and normal users.
|
||||||
|
#
|
||||||
|
# (they are minimal, add the rest in the shell startup files)
|
||||||
|
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/bin:/usr/bin
|
||||||
|
ENV_PATH PATH=/usr/local/bin:/bin:/usr/bin
|
||||||
|
|
||||||
|
#
|
||||||
|
# Terminal permissions
|
||||||
|
#
|
||||||
|
# TTYGROUP Login tty will be assigned this group ownership.
|
||||||
|
# TTYPERM Login tty will be set to this permission.
|
||||||
|
#
|
||||||
|
# If you have a "write" program which is "setgid" to a special group
|
||||||
|
# which owns the terminals, define TTYGROUP to the group number and
|
||||||
|
# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign
|
||||||
|
# TTYPERM to either 622 or 600.
|
||||||
|
#
|
||||||
|
TTYGROUP tty
|
||||||
|
TTYPERM 0620
|
||||||
|
|
||||||
|
#
|
||||||
|
# Login configuration initializations:
|
||||||
|
#
|
||||||
|
# ERASECHAR Terminal ERASE character ('\010' = backspace).
|
||||||
|
# KILLCHAR Terminal KILL character ('\025' = CTRL/U).
|
||||||
|
#
|
||||||
|
# The ERASECHAR and KILLCHAR are used only on System V machines.
|
||||||
|
# (now it works with setrlimit too; ulimit is in 512-byte units)
|
||||||
|
#
|
||||||
|
# Prefix these values with "0" to get octal, "0x" to get hexadecimal.
|
||||||
|
#
|
||||||
|
ERASECHAR 0177
|
||||||
|
KILLCHAR 025
|
||||||
|
|
||||||
|
#
|
||||||
|
# Default initial "umask" value used by login(1) on non-PAM enabled systems.
|
||||||
|
# Default "umask" value for pam_umask(8) on PAM enabled systems.
|
||||||
|
# UMASK is also used by useradd(8) and newusers(8) to set the mode for new
|
||||||
|
# home directories if HOME_MODE is not set.
|
||||||
|
# 022 is the default value, but 027, or even 077, could be considered
|
||||||
|
# for increased privacy. There is no One True Answer here: each sysadmin
|
||||||
|
# must make up their mind.
|
||||||
|
UMASK 022
|
||||||
|
|
||||||
|
#
|
||||||
|
# HOME_MODE is used by useradd(8) and newusers(8) to set the mode for new
|
||||||
|
# home directories.
|
||||||
|
# If HOME_MODE is not set, the value of UMASK is used to create the mode.
|
||||||
|
#HOME_MODE 0700
|
||||||
|
|
||||||
|
#
|
||||||
|
# Password aging controls:
|
||||||
|
#
|
||||||
|
# PASS_MAX_DAYS Maximum number of days a password may be used.
|
||||||
|
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
|
||||||
|
# PASS_WARN_AGE Number of days warning given before a password expires.
|
||||||
|
#
|
||||||
|
PASS_MAX_DAYS 99999
|
||||||
|
PASS_MIN_DAYS 0
|
||||||
|
PASS_WARN_AGE 7
|
||||||
|
|
||||||
|
#
|
||||||
|
# Min/max values for automatic uid selection in useradd
|
||||||
|
#
|
||||||
|
UID_MIN 1000
|
||||||
|
UID_MAX 60000
|
||||||
|
# System accounts
|
||||||
|
SYS_UID_MIN 101
|
||||||
|
SYS_UID_MAX 999
|
||||||
|
|
||||||
|
#
|
||||||
|
# Min/max values for automatic gid selection in groupadd
|
||||||
|
#
|
||||||
|
GID_MIN 1000
|
||||||
|
GID_MAX 60000
|
||||||
|
# System accounts
|
||||||
|
SYS_GID_MIN 101
|
||||||
|
SYS_GID_MAX 999
|
||||||
|
|
||||||
|
#
|
||||||
|
# Max number of login retries if password is bad
|
||||||
|
#
|
||||||
|
LOGIN_RETRIES 5
|
||||||
|
|
||||||
|
#
|
||||||
|
# Max time in seconds for login
|
||||||
|
#
|
||||||
|
LOGIN_TIMEOUT 60
|
||||||
|
|
||||||
|
#
|
||||||
|
# Which fields may be changed by regular users using chfn - use
|
||||||
|
# any combination of letters "frwh" (full name, room number, work
|
||||||
|
# phone, home phone). If not defined, no changes are allowed.
|
||||||
|
# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
|
||||||
|
#
|
||||||
|
CHFN_RESTRICT rwh
|
||||||
|
|
||||||
|
#
|
||||||
|
# Only works if compiled with MD5_CRYPT defined:
|
||||||
|
# If set to "yes", new passwords will be encrypted using the MD5-based
|
||||||
|
# algorithm compatible with the one used by recent releases of FreeBSD.
|
||||||
|
# It supports passwords of unlimited length and longer salt strings.
|
||||||
|
# Set to "no" if you need to copy encrypted passwords to other systems
|
||||||
|
# which don't understand the new algorithm. Default is "no".
|
||||||
|
#
|
||||||
|
# This variable is deprecated. You should use ENCRYPT_METHOD.
|
||||||
|
#
|
||||||
|
#MD5_CRYPT_ENAB no
|
||||||
|
|
||||||
|
#
|
||||||
|
# Only works if compiled with ENCRYPTMETHOD_SELECT defined:
|
||||||
|
# If set to MD5 , MD5-based algorithm will be used for encrypting password
|
||||||
|
# If set to SHA256, SHA256-based algorithm will be used for encrypting password
|
||||||
|
# If set to SHA512, SHA512-based algorithm will be used for encrypting password
|
||||||
|
# If set to BCRYPT, BCRYPT-based algorithm will be used for encrypting password
|
||||||
|
# If set to DES, DES-based algorithm will be used for encrypting password (default)
|
||||||
|
# Overrides the MD5_CRYPT_ENAB option
|
||||||
|
#
|
||||||
|
ENCRYPT_METHOD SHA512
|
||||||
|
|
||||||
|
#
|
||||||
|
# Only works if ENCRYPT_METHOD is set to SHA256 or SHA512.
|
||||||
|
#
|
||||||
|
# Define the number of SHA rounds.
|
||||||
|
# With a lot of rounds, it is more difficult to brute forcing the password.
|
||||||
|
# But note also that it more CPU resources will be needed to authenticate
|
||||||
|
# users.
|
||||||
|
#
|
||||||
|
# If not specified, the libc will choose the default number of rounds (5000).
|
||||||
|
# The values must be inside the 1000-999999999 range.
|
||||||
|
# If only one of the MIN or MAX values is set, then this value will be used.
|
||||||
|
# If MIN > MAX, the highest value will be used.
|
||||||
|
#
|
||||||
|
#SHA_CRYPT_MIN_ROUNDS 5000
|
||||||
|
#SHA_CRYPT_MAX_ROUNDS 5000
|
||||||
|
|
||||||
|
#
|
||||||
|
# Only works if ENCRYPT_METHOD is set to BCRYPT.
|
||||||
|
#
|
||||||
|
# Define the number of BCRYPT rounds.
|
||||||
|
# With a lot of rounds, it is more difficult to brute-force the password.
|
||||||
|
# However, more CPU resources will be needed to authenticate users if
|
||||||
|
# this value is increased.
|
||||||
|
#
|
||||||
|
# If not specified, 13 rounds will be attempted.
|
||||||
|
# If only one of the MIN or MAX values is set, then this value will be used.
|
||||||
|
# If MIN > MAX, the highest value will be used.
|
||||||
|
#
|
||||||
|
#BCRYPT_MIN_ROUNDS 13
|
||||||
|
#BCRYPT_MAX_ROUNDS 13
|
||||||
|
|
||||||
|
#
|
||||||
|
# List of groups to add to the user's supplementary group set
|
||||||
|
# when logging in on the console (as determined by the CONSOLE
|
||||||
|
# setting). Default is none.
|
||||||
|
#
|
||||||
|
# Use with caution - it is possible for users to gain permanent
|
||||||
|
# access to these groups, even when not logged in on the console.
|
||||||
|
# How to do it is left as an exercise for the reader...
|
||||||
|
#
|
||||||
|
# Most of these groups are self-explanatory, but in the case of
|
||||||
|
# "lp", it is because group lp is needed to use a scanner that
|
||||||
|
# is part of a multifunction printer.
|
||||||
|
#
|
||||||
|
# Note that users are added to these default groups only when
|
||||||
|
# logging into a shell with /bin/login, not when using a login
|
||||||
|
# manager such as kdm. In that case, users who should have
|
||||||
|
# hardware access must be added to the appropriate groups
|
||||||
|
# when the user is added with adduser or useradd, or by editing
|
||||||
|
# /etc/group directly, preferably using "vigr"
|
||||||
|
#
|
||||||
|
CONSOLE_GROUPS floppy:audio:cdrom:video:lp:scanner
|
||||||
|
|
||||||
|
#
|
||||||
|
# Should login be allowed if we can't cd to the home directory?
|
||||||
|
# Default in no.
|
||||||
|
#
|
||||||
|
DEFAULT_HOME yes
|
||||||
|
|
||||||
|
#
|
||||||
|
# If defined, this command is run when removing a user.
|
||||||
|
# It should remove any at/cron/print jobs etc. owned by
|
||||||
|
# the user to be removed (passed as the first argument).
|
||||||
|
#
|
||||||
|
#USERDEL_CMD /usr/sbin/userdel_local
|
||||||
|
|
||||||
|
#
|
||||||
|
# Enable setting of the umask group bits to be the same as owner bits
|
||||||
|
# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is
|
||||||
|
# the same as gid, and username is the same as the primary group name.
|
||||||
|
#
|
||||||
|
# This also enables userdel to remove user groups if no members exist.
|
||||||
|
#
|
||||||
|
USERGROUPS_ENAB yes
|
||||||
|
|
||||||
|
#
|
||||||
|
# If set to a non-nul number, the shadow utilities will make sure that
|
||||||
|
# groups never have more than this number of users on one line.
|
||||||
|
# This permit to support split groups (groups split into multiple lines,
|
||||||
|
# with the same group ID, to avoid limitation of the line length in the
|
||||||
|
# group file).
|
||||||
|
#
|
||||||
|
# 0 is the default value and disables this feature.
|
||||||
|
#
|
||||||
|
#MAX_MEMBERS_PER_GROUP 0
|
||||||
|
|
||||||
|
#
|
||||||
|
# If useradd should create home directories for users by default (non
|
||||||
|
# system users only)
|
||||||
|
# This option is overridden with the -M or -m flags on the useradd command
|
||||||
|
# line.
|
||||||
|
#
|
||||||
|
#CREATE_HOME yes
|
||||||
|
|
||||||
25
base-files/logrotate.conf
Normal file
25
base-files/logrotate.conf
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Rotate log files on a monthly basis.
|
||||||
|
monthly
|
||||||
|
|
||||||
|
# Name files based upon the year/month they are rotated.
|
||||||
|
dateext
|
||||||
|
dateformat -%Y-%m
|
||||||
|
dateyesterday
|
||||||
|
|
||||||
|
# Compress rotated logs.
|
||||||
|
compress
|
||||||
|
|
||||||
|
# Keep 5 years of old logs (just to be sure).
|
||||||
|
rotate 60
|
||||||
|
|
||||||
|
# Move rotated logs to this directory.
|
||||||
|
olddir /var/log/Archived
|
||||||
|
|
||||||
|
# After rotating, create new (empty) files with the same owner/perms.
|
||||||
|
create
|
||||||
|
|
||||||
|
# E-mail logs which are about to be deleted to this address.
|
||||||
|
# mail root@example.com
|
||||||
|
|
||||||
|
# Read log specific configurations.
|
||||||
|
include /etc/logrotate.d
|
||||||
6
base-files/logrotate.d/btmp
Normal file
6
base-files/logrotate.d/btmp
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
# The btmp login failure records are not rotated by default.
|
||||||
|
# Uncomment the lines below to enable rotation of btmp.
|
||||||
|
|
||||||
|
# /var/log/btmp {
|
||||||
|
# # No specific options.
|
||||||
|
# }
|
||||||
2
base-files/logrotate.d/lastlog
Normal file
2
base-files/logrotate.d/lastlog
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
# This file is for information only.
|
||||||
|
# /var/log/lastlog should not be rotated as it is a database, not a log file.
|
||||||
7
base-files/logrotate.d/ntp
Normal file
7
base-files/logrotate.d/ntp
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
/var/log/ntp {
|
||||||
|
notifempty
|
||||||
|
missingok
|
||||||
|
postrotate
|
||||||
|
[ -x /etc/rc.d/rc.ntpd ] && /etc/rc.d/rc.ntpd restart || true
|
||||||
|
endscript
|
||||||
|
}
|
||||||
3
base-files/logrotate.d/sulog
Normal file
3
base-files/logrotate.d/sulog
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
/var/log/sulog {
|
||||||
|
# No specific options.
|
||||||
|
}
|
||||||
6
base-files/logrotate.d/syslog
Normal file
6
base-files/logrotate.d/syslog
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
/var/log/messages /var/log/fail2ban {
|
||||||
|
sharedscripts
|
||||||
|
postrotate
|
||||||
|
/bin/kill -HUP $(cat /var/run/syslogd.pid) >/dev/null 2>&1 || true
|
||||||
|
endscript
|
||||||
|
}
|
||||||
6
base-files/logrotate.d/wtmp
Normal file
6
base-files/logrotate.d/wtmp
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
# The wtmp login records are not rotated by default.
|
||||||
|
# Uncomment the lines below to enable rotation of wtmp.
|
||||||
|
|
||||||
|
# /var/log/wtmp {
|
||||||
|
# # No specific options.
|
||||||
|
# }
|
||||||
24
base-files/mail.conf
Normal file
24
base-files/mail.conf
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
# This file is sourced by various scripts that need to send emails.
|
||||||
|
|
||||||
|
case "${HOSTNAME#*.}" in
|
||||||
|
slackware.uk)
|
||||||
|
EMAIL_DOMAIN="slackware.uk"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
EMAIL_DOMAIN="opensourcerers.uk"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
EMAIL_FROM="${HOSTNAME%%.*} <noreply@$EMAIL_DOMAIN>"
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
sbosrcarch)
|
||||||
|
EMAIL_TO=("Systems Administrator <sysadmin@$EMAIL_DOMAIN>")
|
||||||
|
MAILX_ARGS=("-c" "Urchlay <yalhcru@gmail.com>")
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
EMAIL_TO=("Systems Administrator <sysadmin@$EMAIL_DOMAIN>")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
true
|
||||||
101
base-files/motd
Normal file
101
base-files/motd
Normal file
|
|
@ -0,0 +1,101 @@
|
||||||
|
# FIXME: choose correct motd banner.
|
||||||
|
____ _
|
||||||
|
| __ ) ___ _ __ __| | ___ _ __
|
||||||
|
| _ \ / _ \| '_ \ / _` | / _ \| '__|
|
||||||
|
| |_) || __/| | | || (_| || __/| |
|
||||||
|
|____/ \___||_| |_| \__,_| \___||_|
|
||||||
|
|
||||||
|
_____
|
||||||
|
| ___|_ __ _ _
|
||||||
|
| |_ | '__|| | | |
|
||||||
|
| _| | | | |_| |
|
||||||
|
|_| |_| \__, |
|
||||||
|
|___/
|
||||||
|
|
||||||
|
_ _
|
||||||
|
| | ___ ___ | | __ _
|
||||||
|
| | / _ \ / _ \| | / _` |
|
||||||
|
| |___| __/| __/| || (_| |
|
||||||
|
|_____|\___| \___||_| \__,_|
|
||||||
|
|
||||||
|
_
|
||||||
|
/ \ _ __ ___ _ _
|
||||||
|
/ _ \ | '_ ` _ \ | | | |
|
||||||
|
/ ___ \ | | | | | || |_| |
|
||||||
|
/_/ \_\|_| |_| |_| \__, |
|
||||||
|
|___/
|
||||||
|
|
||||||
|
____ __
|
||||||
|
| _ \ _ __ ___ / _| ___ ___ ___ ___ _ __
|
||||||
|
| |_) || '__|/ _ \ | |_ / _ \/ __|/ __| / _ \ | '__|
|
||||||
|
| __/ | | | (_) || _|| __/\__ \\__ \| (_) || |
|
||||||
|
|_| |_| \___/ |_| \___||___/|___/ \___/ |_|
|
||||||
|
|
||||||
|
_____ _ _ _
|
||||||
|
|__ / ___ (_) __| || |__ ___ _ __ __ _
|
||||||
|
/ / / _ \ | | / _` || '_ \ / _ \| '__|/ _` |
|
||||||
|
/ /_| (_) || || (_| || |_) || __/| | | (_| |
|
||||||
|
/____|\___/ |_| \__,_||_.__/ \___||_| \__, |
|
||||||
|
|___/
|
||||||
|
|
||||||
|
_ _
|
||||||
|
| | | | ___ _ __ _ __ ___ ___ ___
|
||||||
|
| |_| | / _ \| '__|| '_ ` _ \ / _ \/ __|
|
||||||
|
| _ || __/| | | | | | | || __/\__ \
|
||||||
|
|_| |_| \___||_| |_| |_| |_| \___||___/
|
||||||
|
|
||||||
|
_____
|
||||||
|
|__ / __ _ _ __ _ __
|
||||||
|
/ / / _` || '_ \ | '_ \
|
||||||
|
/ /_| (_| || |_) || |_) |
|
||||||
|
/____|\__,_|| .__/ | .__/
|
||||||
|
|_| |_|
|
||||||
|
|
||||||
|
_ __ _ __
|
||||||
|
| |/ /(_) / _|
|
||||||
|
| ' / | || |_
|
||||||
|
| . \ | || _|
|
||||||
|
|_|\_\|_||_|
|
||||||
|
|
||||||
|
_ _ _ _ _ _
|
||||||
|
| \ | |(_)| |__ | |__ | | ___ _ __
|
||||||
|
| \| || || '_ \ | '_ \ | | / _ \| '__|
|
||||||
|
| |\ || || |_) || |_) || || __/| |
|
||||||
|
|_| \_||_||_.__/ |_.__/ |_| \___||_|
|
||||||
|
|
||||||
|
____ __ __
|
||||||
|
/ ___| ___ _ __ _ _ / _| / _| _ _
|
||||||
|
\___ \ / __|| '__|| | | || |_ | |_ | | | |
|
||||||
|
___) || (__ | | | |_| || _|| _|| |_| |
|
||||||
|
|____/ \___||_| \__,_||_| |_| \__, |
|
||||||
|
|___/
|
||||||
|
|
||||||
|
_ _
|
||||||
|
__ |``: __ ___. | , __ __ __ _ ___
|
||||||
|
(__` |`` __) / ` |.( | | __) |'` /___)
|
||||||
|
| .__) _|_ (__|_ '.__. _| \_ \_/\_/ (__|_ _|_ '.__.
|
||||||
|
|
|
||||||
|
|__________________________________________________ | | |_/
|
||||||
|
\_/ | \
|
||||||
|
_ _
|
||||||
|
__ |``: __ ___. | , __ __ __ _ ___
|
||||||
|
(__` |`` __) / ` |.( | | __) |'` /___)
|
||||||
|
| .__) _|_ (__|_ '.__. _| \_ \_/\_/ (__|_ _|_ '.__.
|
||||||
|
| _ _ _ _ _ _ _ _
|
||||||
|
|___________________________________ |V| | |_) |_) / \ |_)
|
||||||
|
| | _|_ | \ | \ \_/ | \
|
||||||
|
_ _
|
||||||
|
__ |``: __ ___. | , __ __ __ _ ___
|
||||||
|
(__` |`` __) / ` |.( | | __) |'` /___)
|
||||||
|
| .__) _|_ (__|_ '.__. _| \_ \_/\_/ (__|_ _|_ '.__.
|
||||||
|
| __ __ __ _ _ _
|
||||||
|
|_______________________________ (_ |_ |_ | \ |_) / \ \_/
|
||||||
|
__} |__ |__ |_/ |_) \_/ / \
|
||||||
|
_ _
|
||||||
|
__ |``: __ ___. | , __ __ __ _ ___
|
||||||
|
(__` |`` __) / ` |.( | | __) |'` /___)
|
||||||
|
| .__) _|_ (__|_ '.__. _| \_ \_/\_/ (__|_ _|_ '.__.
|
||||||
|
| _ _ _ _
|
||||||
|
|____________________________________ |_) /_\ / |_/ | | |_)
|
||||||
|
|_) | | \_ | \ \_/ |
|
||||||
|
|
||||||
1
base-files/msmtp/aliases
Normal file
1
base-files/msmtp/aliases
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
default: sysadmin@opensourcerers.uk
|
||||||
16
base-files/msmtp/msmtprc
Normal file
16
base-files/msmtp/msmtprc
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
account default
|
||||||
|
host mail.opensourcerers.net
|
||||||
|
timeout 300
|
||||||
|
# FIXME: Set domain
|
||||||
|
domain host.opensourcerers.net
|
||||||
|
# FIXME: Enable TLS.
|
||||||
|
# tls on
|
||||||
|
# tls_starttls on
|
||||||
|
# tls_trust_file /path/to/ca-certificate.pem
|
||||||
|
# tls_cert_file /path/to/server-certificate.pem
|
||||||
|
# tls_key_file /path/to/server-key.pem
|
||||||
|
# tls_certcheck on
|
||||||
|
auto_from on
|
||||||
|
maildomain opensourcerers.uk
|
||||||
|
syslog LOG_MAIL
|
||||||
|
aliases /etc/msmtp/aliases
|
||||||
110
base-files/nail.rc
Normal file
110
base-files/nail.rc
Normal file
|
|
@ -0,0 +1,110 @@
|
||||||
|
# Configuration file for Mailx (formerly "nail").
|
||||||
|
# See mailx(1) for further options.
|
||||||
|
|
||||||
|
# Do not move messages from the system mailbox to a local mbox.
|
||||||
|
set hold
|
||||||
|
|
||||||
|
# Messages will be appended (rather than prepended) to mboxes.
|
||||||
|
# This should usually always be set.
|
||||||
|
# This has no effect unless 'hold' is unset again.
|
||||||
|
set append
|
||||||
|
|
||||||
|
# Always ask for a subject when composing a message interactively.
|
||||||
|
set ask
|
||||||
|
|
||||||
|
# Assume a CRT-like terminal and invoke a pager.
|
||||||
|
set crt
|
||||||
|
|
||||||
|
# Messages may be terminated by a dot.
|
||||||
|
set dot
|
||||||
|
|
||||||
|
# Do not remove empty mail folders in the spool directory.
|
||||||
|
# This may be relevant for privacy since other users could
|
||||||
|
# otherwise create them with different permissions.
|
||||||
|
set keep
|
||||||
|
|
||||||
|
# Do not remove empty mail folders.
|
||||||
|
set emptybox
|
||||||
|
|
||||||
|
# Quote the original message in replies by "> " as usual on the Internet.
|
||||||
|
set indentprefix="> "
|
||||||
|
|
||||||
|
# Automatically quote the text of the message that is responded to.
|
||||||
|
set quote
|
||||||
|
|
||||||
|
# Outgoing messages are sent in UTF-8 if possible, otherwise LATIN1.
|
||||||
|
set sendcharsets=utf-8,iso-8859-1
|
||||||
|
|
||||||
|
# Display sender's real names in header summaries.
|
||||||
|
set showname
|
||||||
|
|
||||||
|
# Display the recipients of messages sent by the user himself in
|
||||||
|
# header summaries.
|
||||||
|
set showto
|
||||||
|
|
||||||
|
# Automatically check for new messages at each prompt, but avoid polling
|
||||||
|
# of IMAP servers or maildir folders.
|
||||||
|
set newmail=nopoll
|
||||||
|
|
||||||
|
# If threaded mode is activated, automatically collapse thread.
|
||||||
|
set autocollapse
|
||||||
|
|
||||||
|
# Mark messages that have been answered.
|
||||||
|
set markanswered
|
||||||
|
|
||||||
|
# Hide some header fields which are uninteresting for most human readers.
|
||||||
|
ignore received in-reply-to message-id references
|
||||||
|
ignore mime-version content-transfer-encoding
|
||||||
|
|
||||||
|
# Only include selected header fields when forwarding messages.
|
||||||
|
headerpick forward retain subject date from to cc
|
||||||
|
|
||||||
|
# Use a directory named 'mail' in the users homedir to hold mailboxes.
|
||||||
|
set folder=mail/
|
||||||
|
|
||||||
|
# Keep the comment/name part of email addresses when replying.
|
||||||
|
set fullnames
|
||||||
|
|
||||||
|
# Use 'less' for paged output.
|
||||||
|
set PAGER=/usr/bin/less
|
||||||
|
|
||||||
|
# When spawning an editor in compose mode, allow editing of headers.
|
||||||
|
set editheaders
|
||||||
|
|
||||||
|
# Startup into interactive mode even if the (given) mailbox is empty.
|
||||||
|
set emptystart
|
||||||
|
|
||||||
|
# Add more entries to the history as is done by default.
|
||||||
|
# The latter will cause the built-in editor to save those entries, too.
|
||||||
|
set history-gabby all history-gabby-persist
|
||||||
|
|
||||||
|
# Try to circumvent false or missing MIME Content-Type descriptions.
|
||||||
|
# Do set a value for extended behaviour (see the manual).
|
||||||
|
#set mime-counter-evidence
|
||||||
|
set mime-counter-evidence=0b1111
|
||||||
|
|
||||||
|
# Do not move `save'd or `write'n message to $MBOX by default since this is
|
||||||
|
# likely to be irritating for most users today.
|
||||||
|
set keepsave
|
||||||
|
|
||||||
|
# When replying, do not merge From: and To: of the original message
|
||||||
|
# into To:. Instead old From: -> new To:, old To: -> merge Cc:.
|
||||||
|
set recipients-in-cc
|
||||||
|
|
||||||
|
# Whether a ‘Mail-Followup-To:’ header is honoured when group-replying.
|
||||||
|
set followup-to-honour=ask-yes
|
||||||
|
|
||||||
|
# Whether a ‘Reply-To:’ header is honoured when replying.
|
||||||
|
set reply-to-honour=ask-yes
|
||||||
|
|
||||||
|
# When sending a message, wait until the MTA (including the built-in SMTP one)
|
||||||
|
# exits before accepting further commands. Only with this variable set are
|
||||||
|
# errors reported by the MTA recognised!
|
||||||
|
set sendwait
|
||||||
|
|
||||||
|
# Only include these selected header fields when printing messages.
|
||||||
|
retain date sender from to cc subject message-id mail-followup-to reply-to
|
||||||
|
|
||||||
|
# Use an SMTP server rather than 'sendmail' to deliver mail.
|
||||||
|
# Set to the IP/Name of an SMTP server which will accept mail from this host.
|
||||||
|
# set smtp=mail.example.com
|
||||||
34
base-files/ntp.conf
Normal file
34
base-files/ntp.conf
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
# NTP servers to sync to.
|
||||||
|
server 0.pool.ntp.org iburst
|
||||||
|
server 1.pool.ntp.org iburst
|
||||||
|
server 2.pool.ntp.org iburst
|
||||||
|
server 3.pool.ntp.org iburst
|
||||||
|
|
||||||
|
# Sync to local clock if no servers are available.
|
||||||
|
server 127.127.1.0
|
||||||
|
fudge 127.127.1.0 stratum 10
|
||||||
|
|
||||||
|
# By default, restrict access to the service.
|
||||||
|
restrict -4 default limited nomodify noquery nopeer notrap kod
|
||||||
|
restrict -6 default limited nomodify noquery nopeer notrap kod
|
||||||
|
|
||||||
|
# Allow localhost to query the service, but nothing else.
|
||||||
|
restrict -4 127.0.0.1 limited nomodify nopeer notrap kod
|
||||||
|
restrict -6 ::1 limited nomodify nopeer notrap kod
|
||||||
|
|
||||||
|
# Allow local networks to sync with us.
|
||||||
|
# Edit the network address and mask below, and uncomment.
|
||||||
|
# restrict 192.168.1.0 mask 255.255.255.0 limited nomodify nopeer notrap kod
|
||||||
|
|
||||||
|
# Where to store the drift calculation.
|
||||||
|
driftfile /var/lib/ntp/drift
|
||||||
|
|
||||||
|
# Stats should be written here.
|
||||||
|
statsdir /var/lib/ntp/stats
|
||||||
|
|
||||||
|
# PID file location.
|
||||||
|
pidfile /var/run/ntpd.pid
|
||||||
|
|
||||||
|
# Disable the ntpdc -c monlist command, which is insecure and can be used
|
||||||
|
# to cause a denial of service attack (CVE-2013-5211).
|
||||||
|
disable monitor
|
||||||
52
base-files/profile
Normal file
52
base-files/profile
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
# System wide environment set up for the ash, bash, ksh and zsh shells.
|
||||||
|
|
||||||
|
# The default search path.
|
||||||
|
PATH=/usr/bin:/bin:/usr/local/bin
|
||||||
|
|
||||||
|
# Add sbin paths for root users.
|
||||||
|
[ "$(id -u)" = "0" -o "$(id -g)" = "0" ] && \
|
||||||
|
PATH=/usr/sbin:/sbin:/usr/local/sbin:$PATH
|
||||||
|
|
||||||
|
# Set PATH to include a user's private bin if it exists.
|
||||||
|
[ -d "~/bin" ] && PATH="~/bin:$PATH"
|
||||||
|
|
||||||
|
# Append /usr/games to PATH if it exists.
|
||||||
|
[ -d /usr/games ] && PATH=$PATH:/usr/games
|
||||||
|
|
||||||
|
# Set a default terminal type if none was detected.
|
||||||
|
[ "$TERM" = "" -o "$TERM" = "unknown" ] && TERM=linux
|
||||||
|
|
||||||
|
# Use the system inputrc if the user does not have their own.
|
||||||
|
[ ! -r ~/.inputrc ] && INPUTRC=/etc/inputrc
|
||||||
|
|
||||||
|
# Set the HOSTNAME environment variable.
|
||||||
|
HOSTNAME="$(cat /etc/HOSTNAME)"
|
||||||
|
|
||||||
|
# Shell prompts.
|
||||||
|
PS2='> '
|
||||||
|
PS3='#? '
|
||||||
|
PS4='+ '
|
||||||
|
|
||||||
|
# Custom setup for specific shells.
|
||||||
|
if [ -n "$ZSH_VERSION" ]; then # Zsh
|
||||||
|
PS1='%n@%m:%~%# '
|
||||||
|
elif ([ -n "${.sh.version}" ]) 2>/dev/null; then # Ksh
|
||||||
|
PS1='! ${PWD/#$HOME/~}$ '
|
||||||
|
alias hash='whence'
|
||||||
|
elif [ -n "$BASH_VERSION" ]; then # Bash
|
||||||
|
PS1='\u@\h:\w\$ '
|
||||||
|
else # Anything else
|
||||||
|
PS1='$ '
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Use a reasonable create mask.
|
||||||
|
umask 022
|
||||||
|
|
||||||
|
# Set up any further environment from files in /etc/profile.d/.
|
||||||
|
for FILE in /etc/profile.d/*.sh; do
|
||||||
|
[ -x $FILE ] && . $FILE
|
||||||
|
done
|
||||||
|
unset FILE
|
||||||
|
|
||||||
|
# Export the environment just set up.
|
||||||
|
export PATH TERM INPUTRC MANPATH HOSTNAME PS1 PS2 PS3 PS4
|
||||||
1
base-files/profile.d/biff.csh
Executable file
1
base-files/profile.d/biff.csh
Executable file
|
|
@ -0,0 +1 @@
|
||||||
|
if ( -X biff ) biff y
|
||||||
3
base-files/profile.d/biff.sh
Executable file
3
base-files/profile.d/biff.sh
Executable file
|
|
@ -0,0 +1,3 @@
|
||||||
|
hash biff >/dev/null 2>&1 && {
|
||||||
|
biff y 2>/dev/null
|
||||||
|
}
|
||||||
28
base-files/profile.d/lang.csh
Executable file
28
base-files/profile.d/lang.csh
Executable file
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/bin/csh
|
||||||
|
# Set the system locale. (no, we don't have a menu for this ;-)
|
||||||
|
# For a list of locales which are supported by this machine, type:
|
||||||
|
# locale -a
|
||||||
|
|
||||||
|
# en_US.UTF-8 is the Slackware default locale. If you're looking for
|
||||||
|
# a different UTF-8 locale, be aware that some of them do not include
|
||||||
|
# UTF-8 or utf8 in the name. To test if a locale is UTF-8, use this
|
||||||
|
# command:
|
||||||
|
# LANG=<locale> locale -k charmap
|
||||||
|
# UTF-8 locales will include "UTF-8" in the output.
|
||||||
|
# If there are problems with certain programs and a UTF-8 locale, you
|
||||||
|
# can set LANG=C before starting them.
|
||||||
|
if ( "$LANG" == "" ) setenv LANG "en_GB-UTF8"
|
||||||
|
|
||||||
|
# 'C' is the old Slackware (and UNIX) default, which is 127-bit
|
||||||
|
# ASCII with a charmap setting of ANSI_X3.4-1968. These days,
|
||||||
|
# it's better to use en_US or another modern $LANG setting to
|
||||||
|
# support extended character sets.
|
||||||
|
# if ( "$LANG" == "" ) setenv LANG "C"
|
||||||
|
|
||||||
|
# One side effect of the newer locales is that the sort order
|
||||||
|
# is no longer according to ASCII values, so the sort order will
|
||||||
|
# change in many places. Since this isn't usually expected and
|
||||||
|
# can break scripts, we'll stick with traditional ASCII sorting.
|
||||||
|
# If you'd prefer the sort algorithm that goes with your $LANG
|
||||||
|
# setting, comment this out.
|
||||||
|
if ( "$LC_COLLATE" == "" ) setenv LC_COLLATE "C"
|
||||||
28
base-files/profile.d/lang.sh
Executable file
28
base-files/profile.d/lang.sh
Executable file
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Set the system locale. (no, we don't have a menu for this ;-)
|
||||||
|
# For a list of locales which are supported by this machine, type:
|
||||||
|
# locale -a
|
||||||
|
|
||||||
|
# en_US.UTF-8 is the Slackware default locale. If you're looking for
|
||||||
|
# a different UTF-8 locale, be aware that some of them do not include
|
||||||
|
# UTF-8 or utf8 in the name. To test if a locale is UTF-8, use this
|
||||||
|
# command:
|
||||||
|
# LANG=<locale> locale -k charmap
|
||||||
|
# UTF-8 locales will include "UTF-8" in the output.
|
||||||
|
# If there are problems with certain programs and a UTF-8 locale, you
|
||||||
|
# can set LANG=C before starting them.
|
||||||
|
export LANG="${LANG:-en_GB.UTF-8}"
|
||||||
|
|
||||||
|
# 'C' is the old Slackware (and UNIX) default, which is 127-bit
|
||||||
|
# ASCII with a charmap setting of ANSI_X3.4-1968. These days,
|
||||||
|
# it's better to use en_US or another modern $LANG setting to
|
||||||
|
# support extended character sets.
|
||||||
|
# export LANG=${LANG:-C}
|
||||||
|
|
||||||
|
# One side effect of the newer locales is that the sort order
|
||||||
|
# is no longer according to ASCII values, so the sort order will
|
||||||
|
# change in many places. Since this isn't usually expected and
|
||||||
|
# can break scripts, we'll stick with traditional ASCII sorting.
|
||||||
|
# If you'd prefer the sort algorithm that goes with your $LANG
|
||||||
|
# setting, comment this out.
|
||||||
|
export LC_COLLATE="${LC_COLLATE:-C}"
|
||||||
10
base-files/profile.d/less.csh
Executable file
10
base-files/profile.d/less.csh
Executable file
|
|
@ -0,0 +1,10 @@
|
||||||
|
if ( -X less ) then
|
||||||
|
# Default options for less.
|
||||||
|
setenv LESS "-M"
|
||||||
|
|
||||||
|
# Pre-process some files for less to display them correctly.
|
||||||
|
setenv LESSOPEN "|lesspipe.sh %s"
|
||||||
|
|
||||||
|
# Use less as the man page viewer.
|
||||||
|
setenv MANPAGER "less -M"
|
||||||
|
endif
|
||||||
10
base-files/profile.d/less.sh
Executable file
10
base-files/profile.d/less.sh
Executable file
|
|
@ -0,0 +1,10 @@
|
||||||
|
hash less >/dev/null 2>&1 && {
|
||||||
|
# Default options for less.
|
||||||
|
export LESS="-M"
|
||||||
|
|
||||||
|
# Pre-process some files for less to display them correctly.
|
||||||
|
export LESSOPEN="|lesspipe.sh %s"
|
||||||
|
|
||||||
|
# Use less as the man page viewer.
|
||||||
|
export MANPAGER="less -M"
|
||||||
|
}
|
||||||
35
base-files/profile.d/optpaths.csh
Executable file
35
base-files/profile.d/optpaths.csh
Executable file
|
|
@ -0,0 +1,35 @@
|
||||||
|
if ( { [ "`id -u`" = "0" -o "`id -g`" = "0" ] } ) then
|
||||||
|
set path = ( $path /opt/sbin /opt/bin )
|
||||||
|
else
|
||||||
|
set path = ( $path /opt/bin )
|
||||||
|
endif
|
||||||
|
|
||||||
|
if ( ! $?CPATH ) then
|
||||||
|
setenv CPATH "/opt/include"
|
||||||
|
else
|
||||||
|
setenv CPATH "/opt/include:$CPATH"
|
||||||
|
endif
|
||||||
|
|
||||||
|
if ( ! $?INFOPATH ) then
|
||||||
|
setenv INFOPATH "/opt/info"
|
||||||
|
else
|
||||||
|
setenv INFOPATH "/opt/info:$INFOPATH"
|
||||||
|
endif
|
||||||
|
|
||||||
|
if ( ! $?PERL5LIB ) then
|
||||||
|
setenv PERL5LIB "/opt/lib64/perl5:/opt/lib64/perl5/site_perl"
|
||||||
|
else
|
||||||
|
setenv PERL5LIB "/opt/lib64/perl5:/opt/lib64/perl5/site_perl:$PERL5LIB"
|
||||||
|
endif
|
||||||
|
|
||||||
|
if ( ! $?PKG_CONFIG_PATH ) then
|
||||||
|
setenv PKG_CONFIG_PATH "/opt/lib64/pkgconfig:/opt/share/pkgconfig"
|
||||||
|
else
|
||||||
|
setenv PKG_CONFIG_PATH "/opt/lib64/pkgconfig:/opt/share/pkgconfig:$PKG_CONFIG_PATH"
|
||||||
|
endif
|
||||||
|
|
||||||
|
if ( ! $?PYTHONPATH ) then
|
||||||
|
setenv PYTHONPATH "/opt/lib64/python2.7/site-packages"
|
||||||
|
else
|
||||||
|
setenv PYTHONPATH "/opt/lib64/python2.7/site-packages:$PYTHONPATH"
|
||||||
|
endif
|
||||||
37
base-files/profile.d/optpaths.sh
Executable file
37
base-files/profile.d/optpaths.sh
Executable file
|
|
@ -0,0 +1,37 @@
|
||||||
|
if [ "$(id -u)" = "0" -o "$(id -g)" = "0" ]; then
|
||||||
|
PATH="$PATH:/opt/sbin:/opt/bin"
|
||||||
|
else
|
||||||
|
PATH="$PATH:/opt/bin"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -n "$CPATH" ]; then
|
||||||
|
CPATH="/opt/include"
|
||||||
|
else
|
||||||
|
CPATH="/opt/include:$CPATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -n "$INFOPATH" ]; then
|
||||||
|
INFOPATH="/opt/info"
|
||||||
|
else
|
||||||
|
INFOPATH="/opt/info:$INFOPATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -n "$PERL5LIB" ]; then
|
||||||
|
PERL5LIB="/opt/lib64/perl5:/opt/lib64/perl5/site_perl"
|
||||||
|
else
|
||||||
|
PERL5LIB="/opt/lib64/perl5:/opt/lib64/perl5/site_perl:$PERL5LIB"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -n "$PKG_CONFIG_PATH" ]; then
|
||||||
|
PKG_CONFIG_PATH="/opt/lib64/pkgconfig:/opt/share/pkgconfig"
|
||||||
|
else
|
||||||
|
PKG_CONFIG_PATH="/opt/lib64/pkgconfig:/opt/share/pkgconfig:$PKG_CONFIG_PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -n "$PYTHONPATH" ]; then
|
||||||
|
PYTHONPATH="/opt/lib64/python2.7/site-packages"
|
||||||
|
else
|
||||||
|
PYTHONPATH="/opt/lib64/python2.7/site-packages:$PYTHONPATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export PATH CPATH INFOPATH PERL5LIB PKG_CONFIG_PATH PYTHONPATH
|
||||||
8
base-files/resolv.conf
Normal file
8
base-files/resolv.conf
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
options timeout:1 edns0
|
||||||
|
search opensourcerers.net
|
||||||
|
nameserver 91.109.244.8
|
||||||
|
nameserver 2a02:2498:1:227::8
|
||||||
|
nameserver 91.109.244.239
|
||||||
|
nameserver 2a02:2498:1:227::239
|
||||||
|
nameserver 185.176.90.169
|
||||||
|
nameserver 2a07:4580:b0d:57f::169
|
||||||
25
base-files/securetty
Normal file
25
base-files/securetty
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Console tty's:
|
||||||
|
console
|
||||||
|
tty1
|
||||||
|
tty2
|
||||||
|
tty3
|
||||||
|
tty4
|
||||||
|
tty5
|
||||||
|
tty6
|
||||||
|
tty7
|
||||||
|
tty8
|
||||||
|
tty9
|
||||||
|
tty10
|
||||||
|
|
||||||
|
# Pseudo TTYs (not recommended):
|
||||||
|
# pts/0
|
||||||
|
# pts/1
|
||||||
|
# pts/2
|
||||||
|
# pts/3
|
||||||
|
# pts/4
|
||||||
|
# pts/5
|
||||||
|
# pts/6
|
||||||
|
# pts/7
|
||||||
|
# pts/8
|
||||||
|
# pts/9
|
||||||
|
# pts/10
|
||||||
11
base-files/skel/.bash_logout
Normal file
11
base-files/skel/.bash_logout
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
if (( $SHLVL == 1 )); then
|
||||||
|
if [ -x /usr/bin/clear_console ]; then
|
||||||
|
/usr/bin/clear_console -q
|
||||||
|
elif [ -x /usr/bin/clear ]; then
|
||||||
|
/usr/bin/clear
|
||||||
|
elif [ -x /usr/bin/tput ]; then
|
||||||
|
/usr/bin/tput clear
|
||||||
|
else
|
||||||
|
echo -ne "\E[2J"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
4
base-files/skel/.bash_profile
Normal file
4
base-files/skel/.bash_profile
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Source the personal bash set up.
|
||||||
|
[ -e ~/.bashrc ] && . ~/.bashrc
|
||||||
|
|
||||||
|
# Add general environment set up here.
|
||||||
1
base-files/skel/.bashrc
Normal file
1
base-files/skel/.bashrc
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
# Add bash personalisation set up here.
|
||||||
45
base-files/slackpkg/blacklist
Normal file
45
base-files/slackpkg/blacklist
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
# /etc/slackpkg/blacklist
|
||||||
|
#
|
||||||
|
# This is a blacklist file. Any packages listed here won't be
|
||||||
|
# upgraded, removed, or installed by slackpkg.
|
||||||
|
|
||||||
|
# aaa_elflibs should NOT be blacklisted!
|
||||||
|
#
|
||||||
|
# You can blacklist using regular expressions.
|
||||||
|
#
|
||||||
|
# Don't use *full* regex here, because all of the following will be checked
|
||||||
|
# for the regex: series, name, version, arch, build, and fullname.
|
||||||
|
# When blacklisting packages, you can use extended regex on package names
|
||||||
|
# (such as xorg-.* instead of xorg-server, xorg-docs, etc), and a trailing
|
||||||
|
# slash for package series ("n/", "ap/", "xap/", etc).
|
||||||
|
#
|
||||||
|
# To blacklist *only* the "xorg-server" package, use this:
|
||||||
|
# xorg-server
|
||||||
|
#
|
||||||
|
# To blacklist *all* of the "xorg-server-*" packages, use this:
|
||||||
|
# xorg-server.*
|
||||||
|
#
|
||||||
|
# To blacklist the entire KDE package set, use this:
|
||||||
|
# kde/
|
||||||
|
#
|
||||||
|
# You will need to escape any special characters that are present in the
|
||||||
|
# package name. For example, to blacklist the gcc-g++ package, use this:
|
||||||
|
# gcc-g\+\+
|
||||||
|
#
|
||||||
|
# DON'T put any space(s) before or after the package name or regex.
|
||||||
|
|
||||||
|
# Automated upgrade of kernel packages may not be wanted in some situations;
|
||||||
|
# uncomment the lines below if that fits your circumstances:
|
||||||
|
kernel-generic
|
||||||
|
kernel-huge
|
||||||
|
kernel-modules
|
||||||
|
kernel-source
|
||||||
|
|
||||||
|
# This one will blacklist all SBo packages:
|
||||||
|
[0-9]+_SBo
|
||||||
|
|
||||||
|
# This will blacklist Robby's testing packages:
|
||||||
|
[0-9]+_rlw
|
||||||
|
|
||||||
|
# This will blacklist Tadgy's custom packages:
|
||||||
|
[0-9]+_tadgy
|
||||||
360
base-files/slackpkg/mirrors
Normal file
360
base-files/slackpkg/mirrors
Normal file
|
|
@ -0,0 +1,360 @@
|
||||||
|
# mirrors - List of Slackware Linux mirrors.
|
||||||
|
#
|
||||||
|
# SlackPkg - An Automated packaging tool for Slackware Linux
|
||||||
|
# Copyright (C) 2003-2011 Roberto F. Batista, Evaldo Gardenali
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
# Project Page: http://slackpkg.org/
|
||||||
|
# Roberto F. Batista (aka PiterPunk) piterpunk@slackware.com
|
||||||
|
# Evaldo Gardenali (aka UdontKnow) evaldogardenali@fasternet.com.br
|
||||||
|
#
|
||||||
|
# END OF LEGAL NOTICE
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# You only need to select one mirror and uncomment it.
|
||||||
|
# ONLY ONE mirror can be uncommented.
|
||||||
|
#
|
||||||
|
# You can use a mirror not included in this file. Many people have mirrors
|
||||||
|
# in their local networks. A list of all official Slackware mirrors
|
||||||
|
# (not version-specific, so some mirrors may not have all files) is here:
|
||||||
|
# https://mirrors.slackware.com/mirrorlist/
|
||||||
|
#
|
||||||
|
# Slackpkg only needs to point to the directory that contains
|
||||||
|
# "ChangeLog.txt", and don't forget the trailing slash.
|
||||||
|
#
|
||||||
|
#----------------------------------------------------------------
|
||||||
|
# Local CD/DVD drive
|
||||||
|
#----------------------------------------------------------------
|
||||||
|
# cdrom://media/cdrom/
|
||||||
|
#
|
||||||
|
#----------------------------------------------------------------
|
||||||
|
# Local Directory
|
||||||
|
#----------------------------------------------------------------
|
||||||
|
# file://path/to/some/directory/
|
||||||
|
#
|
||||||
|
#----------------------------------------------------------------
|
||||||
|
# Slackware64-14.2
|
||||||
|
#----------------------------------------------------------------
|
||||||
|
# USE MIRRORS.SLACKWARE.COM (DO NOT USE FTP - ONLY HTTP FINDS A NEARBY MIRROR)
|
||||||
|
# https://mirrors.slackware.com/slackware/slackware64-14.2/
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Here are some individual mirrors that can be used instead of the
|
||||||
|
# redirector at mirrors.slackware.com if necessary ; note that this
|
||||||
|
# list is not guaranteed to be up-to-date
|
||||||
|
#
|
||||||
|
# AUSTRALIA (AU)
|
||||||
|
# ftp://ftp.cc.swin.edu.au/slackware/slackware64-14.2/
|
||||||
|
# http://ftp.cc.swin.edu.au/slackware/slackware64-14.2/
|
||||||
|
# ftp://ftp.iinet.net.au/pub/slackware/slackware64-14.2/
|
||||||
|
# http://ftp.iinet.net.au/pub/slackware/slackware64-14.2/
|
||||||
|
# ftp://mirror.as24220.net/pub/slackware/slackware64-14.2/
|
||||||
|
# http://mirror.as24220.net/pub/slackware/slackware64-14.2/
|
||||||
|
# ftp://mirror.internode.on.net/.pub2/slackware/slackware64-14.2/
|
||||||
|
# http://mirror.internode.on.net/pub/slackware/slackware64-14.2/
|
||||||
|
# AUSTRIA (AT)
|
||||||
|
# http://gd.tuwien.ac.at/opsys/linux/freesoftware.com/slackware64-14.2/
|
||||||
|
# BELARUS (BY)
|
||||||
|
# ftp://mirror.datacenter.by/pub/slackware/slackware64-14.2/
|
||||||
|
# http://mirror.datacenter.by/pub/slackware/slackware64-14.2/
|
||||||
|
# BRAZIL (BR)
|
||||||
|
# ftp://ftp.slackware-brasil.com.br/slackware64-14.2/
|
||||||
|
# http://ftp.slackware-brasil.com.br/slackware64-14.2/
|
||||||
|
# BULGARIA (BG)
|
||||||
|
# ftp://mirrors.unixsol.org/slackware/slackware64-14.2/
|
||||||
|
# http://mirrors.unixsol.org/slackware/slackware64-14.2/
|
||||||
|
# CANADA (CA)
|
||||||
|
# ftp://mirror.csclub.uwaterloo.ca/slackware/slackware64-14.2/
|
||||||
|
# http://mirror.csclub.uwaterloo.ca/slackware/slackware64-14.2/
|
||||||
|
# ftp://mirror.its.dal.ca/slackware/slackware64-14.2/
|
||||||
|
# http://mirror.its.dal.ca/slackware/slackware64-14.2/
|
||||||
|
# CHINA (CN)
|
||||||
|
# http://mirrors.163.com/slackware/slackware64-14.2/
|
||||||
|
# http://mirrors.ustc.edu.cn/slackware/slackware64-14.2/
|
||||||
|
# COSTA RICA (CR)
|
||||||
|
# ftp://mirrors.ucr.ac.cr/slackware/pub/slackware/slackware64-14.2/
|
||||||
|
# http://mirrors.ucr.ac.cr/slackware/pub/slackware/slackware64-14.2/
|
||||||
|
# CZECH REPUBLIC (CZ)
|
||||||
|
# ftp://odysseus.linux.cz/pub/linux/slackware/slackware64-14.2/
|
||||||
|
# http://odysseus.linux.cz/pub/linux/slackware/slackware64-14.2/
|
||||||
|
# DENMARK (DK)
|
||||||
|
# ftp://mirrors.dotsrc.org/slackware/slackware64-14.2/
|
||||||
|
# https://mirrors.dotsrc.org/slackware/slackware64-14.2/
|
||||||
|
# FINLAND (FI)
|
||||||
|
# ftp://elektroni.phys.tut.fi/slackware64-14.2/
|
||||||
|
# FRANCE (FR)
|
||||||
|
# ftp://nephtys.lip6.fr/pub/linux/distributions/slackware/slackware64-14.2/
|
||||||
|
# http://nephtys.lip6.fr/pub/linux/distributions/slackware/slackware64-14.2/
|
||||||
|
# GERMANY (DE)
|
||||||
|
# ftp://ftp.gwdg.de/pub/linux/slackware/slackware64-14.2/
|
||||||
|
# http://ftp.gwdg.de/pub/linux/slackware/slackware64-14.2/
|
||||||
|
# ftp://ftp.tu-chemnitz.de/pub/linux/slackware/slackware64-14.2/
|
||||||
|
# http://ftp.tu-chemnitz.de/pub/linux/slackware/slackware64-14.2/
|
||||||
|
# ftp://sunsite.informatik.rwth-aachen.de/pub/comp/Linux/slackware/slackware64-14.2/
|
||||||
|
# http://sunsite.informatik.rwth-aachen.de/ftp/pub/comp/Linux/slackware/slackware64-14.2/
|
||||||
|
# GREECE (GR)
|
||||||
|
# ftp://ftp.cc.uoc.gr/mirrors/linux/slackware/slackware64-14.2/
|
||||||
|
# http://ftp.cc.uoc.gr/mirrors/linux/slackware/slackware64-14.2/
|
||||||
|
# ftp://ftp.otenet.gr/pub/linux/slackware/slackware64-14.2/
|
||||||
|
# http://ftp.otenet.gr/linux/slackware/slackware64-14.2/
|
||||||
|
# ftp://patroklos.noc.ntua.gr/pub/linux/slackware/slackware64-14.2/
|
||||||
|
# http://patroklos.noc.ntua.gr/pub/linux/slackware/slackware64-14.2/
|
||||||
|
# INDONESIA (ID)
|
||||||
|
# http://kambing.ui.ac.id/slackware/slackware64-14.2/
|
||||||
|
# https://repo.ukdw.ac.id/slackware/slackware64-14.2/
|
||||||
|
# IRELAND (IE)
|
||||||
|
# ftp://ftp.heanet.ie/mirrors/ftp.slackware.com/pub/slackware/slackware64-14.2/
|
||||||
|
# http://ftp.heanet.ie/mirrors/ftp.slackware.com/pub/slackware/slackware64-14.2/
|
||||||
|
# ITALY (IT)
|
||||||
|
# ftp://ba.mirror.garr.it/mirrors/Slackware/slackware64-14.2/
|
||||||
|
# http://ba.mirror.garr.it/mirrors/Slackware/slackware64-14.2/
|
||||||
|
# JAPAN (JP)
|
||||||
|
# ftp://ftp.nara.wide.ad.jp/pub/Linux/slackware/slackware64-14.2/
|
||||||
|
# http://ftp.nara.wide.ad.jp/pub/Linux/slackware/slackware64-14.2/
|
||||||
|
# ftp://ftp.kddilabs.jp/Linux/distributions/Slackware/slackware64-14.2/
|
||||||
|
# http://ftp.kddilabs.jp/Linux/distributions/Slackware/slackware64-14.2/
|
||||||
|
# ftp://riksun.riken.go.jp/Linux/slackware/slackware64-14.2/
|
||||||
|
# http://riksun.riken.go.jp/Linux/slackware/slackware64-14.2/
|
||||||
|
# NETHERLANDS (NL)
|
||||||
|
# ftp://ftp.nluug.nl/pub/os/Linux/distr/slackware/slackware64-14.2/
|
||||||
|
# http://ftp.nluug.nl/os/Linux/distr/slackware/slackware64-14.2/
|
||||||
|
# ftp://mirror.nl.leaseweb.net/slackware/slackware64-14.2/
|
||||||
|
# http://mirror.nl.leaseweb.net/slackware/slackware64-14.2/
|
||||||
|
# NORWAY (NO)
|
||||||
|
# ftp://ftp.slackware.no/slackware/slackware64-14.2/
|
||||||
|
# http://ftp.slackware.no/slackware/slackware64-14.2/
|
||||||
|
# POLAND (PL)
|
||||||
|
# ftp://ftp.pwr.wroc.pl/pub/linux/slackware/slackware64-14.2/
|
||||||
|
# http://ftp.pwr.wroc.pl/pub/linux/slackware/slackware64-14.2/
|
||||||
|
# ftp://ftp.slackware.pl/pub/slackware/slackware64-14.2/
|
||||||
|
# http://ftp.slackware.pl/pub/slackware/slackware64-14.2/
|
||||||
|
# ftp://sunsite.icm.edu.pl/vol/rzm1/linux-slackware/slackware64-14.2/
|
||||||
|
# http://sunsite.icm.edu.pl/packages/linux-slackware/slackware64-14.2/
|
||||||
|
# ftp://z-ftp.wcss.wroc.pl/pub/linux/slackware/slackware64-14.2/
|
||||||
|
# http://z-ftp.wcss.wroc.pl/pub/linux/slackware/slackware64-14.2/
|
||||||
|
# RUSSIA (RU)
|
||||||
|
# http://mirror.rol.ru/slackware/slackware64-14.2/
|
||||||
|
# ftp://mirror.yandex.ru/slackware/slackware64-14.2/
|
||||||
|
# http://mirror.yandex.ru/slackware/slackware64-14.2/
|
||||||
|
# SOUTH AFRICA (ZA)
|
||||||
|
# ftp://ftp.is.co.za/mirror/ftp.slackware.com/pub/slackware64-14.2/
|
||||||
|
# http://ftp.is.co.za/mirror/ftp.slackware.com/pub/slackware64-14.2/
|
||||||
|
# ftp://ftp.wa.co.za/pub/slackware/slackware64-14.2/
|
||||||
|
# http://ftp.wa.co.za/pub/slackware/slackware64-14.2/
|
||||||
|
# ftp://slackware.mirror.ac.za/slackware64-14.2/
|
||||||
|
# http://slackware.mirror.ac.za/slackware64-14.2/
|
||||||
|
# SWEDEN (SE)
|
||||||
|
# ftp://ftp.sunet.se/mirror/slackware.com/slackware64-14.2/
|
||||||
|
# http://ftp.sunet.se/mirror/slackware.com/slackware64-14.2/
|
||||||
|
# TAIWAN (TW)
|
||||||
|
# ftp://ftp.isu.edu.tw/pub/Linux/Slackware/slackware64-14.2/
|
||||||
|
# http://ftp.isu.edu.tw/pub/Linux/Slackware/slackware64-14.2/
|
||||||
|
# ftp://ftp.twaren.net/pub/Linux/Slackware/slackware64-14.2/
|
||||||
|
# http://ftp.twaren.net/Linux/Slackware/slackware64-14.2/
|
||||||
|
# TURKEY (TR)
|
||||||
|
# ftp://ftp.linux.org.tr/slackware/slackware64-14.2/
|
||||||
|
# http://ftp.linux.org.tr/slackware/slackware64-14.2/
|
||||||
|
# UKRAINE (UA)
|
||||||
|
# ftp://mirrors.mithril.org.ua/linux/slackware/slackware64-14.2/
|
||||||
|
# http://mirrors.mithril.org.ua/linux/slackware/slackware64-14.2/
|
||||||
|
# UNITED KINGDOM (UK)
|
||||||
|
# http://slackware.uk/slackware/slackware64-14.2/
|
||||||
|
# ftp://slackware.uk/slackware/slackware64-14.2/
|
||||||
|
# ftp://ftp.mirrorservice.org/sites/ftp.slackware.com/pub/slackware/slackware64-14.2/
|
||||||
|
# http://ftp.mirrorservice.org/sites/ftp.slackware.com/pub/slackware/slackware64-14.2/
|
||||||
|
# ftp://mirror.bytemark.co.uk/slackware/slackware64-14.2/
|
||||||
|
# http://mirror.bytemark.co.uk/slackware/slackware64-14.2/
|
||||||
|
# UNITED STATES (US)
|
||||||
|
# ftp://ftp.gtlib.gatech.edu/nv/ao2/lxmirror/ftp.slackware.com/slackware64-14.2/
|
||||||
|
# ftp://mirror.cs.princeton.edu/pub/mirrors/slackware/slackware64-14.2/
|
||||||
|
# ftp://mirrors.easynews.com/linux/slackware/slackware64-14.2/
|
||||||
|
# http://mirrors.easynews.com/linux/slackware/slackware64-14.2/
|
||||||
|
# ftp://mirrors.us.kernel.org/slackware/slackware64-14.2/
|
||||||
|
# http://mirrors.us.kernel.org/slackware/slackware64-14.2/
|
||||||
|
# ftp://mirrors.xmission.com/slackware/slackware64-14.2/
|
||||||
|
# http://mirrors.xmission.com/slackware/slackware64-14.2/
|
||||||
|
# https://mirror.slackbuilds.org/slackware/slackware64-14.2/
|
||||||
|
# http://slackware.cs.utah.edu/pub/slackware/slackware64-14.2/
|
||||||
|
# http://slackware.mirrors.pair.com/slackware64-14.2/
|
||||||
|
# ftp://slackware.mirrors.tds.net/pub/slackware/slackware64-14.2/
|
||||||
|
# http://slackware.mirrors.tds.net/pub/slackware/slackware64-14.2/
|
||||||
|
# ftp://spout.ussg.indiana.edu/linux/slackware/slackware64-14.2/
|
||||||
|
# http://spout.ussg.indiana.edu/linux/slackware/slackware64-14.2/
|
||||||
|
# ftp://teewurst.cc.columbia.edu/pub/linux/slackware/slackware64-14.2/
|
||||||
|
# http://teewurst.cc.columbia.edu/pub/linux/slackware/slackware64-14.2/
|
||||||
|
#
|
||||||
|
#----------------------------------------------------------------
|
||||||
|
# Slackware64-current
|
||||||
|
#----------------------------------------------------------------
|
||||||
|
# USE MIRRORS.SLACKWARE.COM (DO NOT USE FTP - ONLY HTTP FINDS A NEARBY MIRROR)
|
||||||
|
# https://mirrors.slackware.com/slackware/slackware64-current/
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Here are some individual mirrors that can be used instead of the
|
||||||
|
# redirector at mirrors.slackware.com if necessary ; note that this
|
||||||
|
# list is not guaranteed to be up-to-date
|
||||||
|
#
|
||||||
|
# AUSTRALIA (AU)
|
||||||
|
# ftp://ftp.cc.swin.edu.au/slackware/slackware64-current/
|
||||||
|
# http://ftp.cc.swin.edu.au/slackware/slackware64-current/
|
||||||
|
# ftp://ftp.iinet.net.au/pub/slackware/slackware64-current/
|
||||||
|
# http://ftp.iinet.net.au/pub/slackware/slackware64-current/
|
||||||
|
# ftp://mirror.aarnet.edu.au/pub/slackware/slackware64-current/
|
||||||
|
# http://mirror.aarnet.edu.au/pub/slackware/slackware64-current/
|
||||||
|
# ftp://mirror.as24220.net/pub/slackware/slackware64-current/
|
||||||
|
# http://mirror.as24220.net/pub/slackware/slackware64-current/
|
||||||
|
# ftp://mirror.internode.on.net/.pub2/slackware/slackware64-current/
|
||||||
|
# http://mirror.internode.on.net/pub/slackware/slackware64-current/
|
||||||
|
# http://mirror.primusdatacentre.com.au/slackware/slackware64-current/
|
||||||
|
# AUSTRIA (AT)
|
||||||
|
# ftp://ftp.slackware.at/slackware64-current/
|
||||||
|
# http://ftp.slackware.at/data/slackware64-current/
|
||||||
|
# ftp://gd.tuwien.ac.at/opsys/linux/freesoftware.com/slackware64-current/
|
||||||
|
# http://gd.tuwien.ac.at/opsys/linux/freesoftware.com/slackware64-current/
|
||||||
|
# BELARUS (BY)
|
||||||
|
# ftp://mirror.datacenter.by/pub/slackware/slackware64-current/
|
||||||
|
# http://mirror.datacenter.by/pub/slackware/slackware64-current/
|
||||||
|
# BRAZIL (BR)
|
||||||
|
# ftp://ftp.slackware-brasil.com.br/slackware64-current/
|
||||||
|
# http://ftp.slackware-brasil.com.br/slackware64-current/
|
||||||
|
# BULGARIA (BG)
|
||||||
|
# ftp://mirrors.unixsol.org/slackware/slackware64-current/
|
||||||
|
# http://mirrors.unixsol.org/slackware/slackware64-current/
|
||||||
|
# CANADA (CA)
|
||||||
|
# ftp://mirror.csclub.uwaterloo.ca/slackware/slackware64-current/
|
||||||
|
# http://mirror.csclub.uwaterloo.ca/slackware/slackware64-current/
|
||||||
|
# ftp://mirror.its.dal.ca/slackware/slackware64-current/
|
||||||
|
# http://mirror.its.dal.ca/slackware/slackware64-current/
|
||||||
|
# CHINA (CN)
|
||||||
|
# http://mirrors.163.com/slackware/slackware64-current/
|
||||||
|
# http://mirrors.ustc.edu.cn/slackware/slackware64-current/
|
||||||
|
# COSTA RICA (CR)
|
||||||
|
# ftp://mirrors.ucr.ac.cr/slackware/pub/slackware/slackware64-current/
|
||||||
|
# http://mirrors.ucr.ac.cr/slackware/pub/slackware/slackware64-current/
|
||||||
|
# CZECH REPUBLIC (CZ)
|
||||||
|
# ftp://odysseus.linux.cz/pub/linux/slackware/slackware64-current/
|
||||||
|
# http://odysseus.linux.cz/pub/linux/slackware/slackware64-current/
|
||||||
|
# DENMARK (DK)
|
||||||
|
# ftp://mirrors.dotsrc.org/slackware/slackware64-current/
|
||||||
|
# https://mirrors.dotsrc.org/slackware/slackware64-current/
|
||||||
|
# FINLAND (FI)
|
||||||
|
# ftp://elektroni.phys.tut.fi/slackware64-current/
|
||||||
|
# FRANCE (FR)
|
||||||
|
# ftp://mirror.ovh.net/mirrors/ftp.slackware.com/slackware64-current/
|
||||||
|
# http://mirror.ovh.net/mirrors/ftp.slackware.com/slackware64-current/
|
||||||
|
# ftp://nephtys.lip6.fr/pub/linux/distributions/slackware/slackware64-current/
|
||||||
|
# http://nephtys.lip6.fr/pub/linux/distributions/slackware/slackware64-current/
|
||||||
|
# GERMANY (DE)
|
||||||
|
# ftp://ftp.fu-berlin.de/unix/linux/slackware/slackware64-current/
|
||||||
|
# ftp://ftp.gwdg.de/pub/linux/slackware/slackware64-current/
|
||||||
|
# http://ftp.gwdg.de/pub/linux/slackware/slackware64-current/
|
||||||
|
# ftp://ftp.tu-chemnitz.de/pub/linux/slackware/slackware64-current/
|
||||||
|
# http://ftp.tu-chemnitz.de/pub/linux/slackware/slackware64-current/
|
||||||
|
# ftp://sunsite.informatik.rwth-aachen.de/pub/comp/Linux/slackware/slackware64-current/
|
||||||
|
# http://sunsite.informatik.rwth-aachen.de/ftp/pub/comp/Linux/slackware/slackware64-current/
|
||||||
|
# ftp://wrz1013.rz.uni-wuerzburg.de/pub/MIRROR/slackware/slackware64-current/
|
||||||
|
# http://wrz1013.rz.uni-wuerzburg.de/pub/MIRROR/slackware/slackware64-current/
|
||||||
|
# GREECE (GR)
|
||||||
|
# ftp://ftp.cc.uoc.gr/mirrors/linux/slackware/slackware64-current/
|
||||||
|
# http://ftp.cc.uoc.gr/mirrors/linux/slackware/slackware64-current/
|
||||||
|
# ftp://ftp.otenet.gr/pub/linux/slackware/slackware64-current/
|
||||||
|
# http://ftp.otenet.gr/linux/slackware/slackware64-current/
|
||||||
|
# ftp://patroklos.noc.ntua.gr/pub/linux/slackware/slackware64-current/
|
||||||
|
# http://patroklos.noc.ntua.gr/pub/linux/slackware/slackware64-current/
|
||||||
|
# INDONESIA (ID)
|
||||||
|
# http://kambing.ui.ac.id/slackware/slackware64-current/
|
||||||
|
# https://repo.ukdw.ac.id/slackware/slackware64-current/
|
||||||
|
# IRELAND (IE)
|
||||||
|
# ftp://ftp.heanet.ie/mirrors/ftp.slackware.com/pub/slackware/slackware64-current/
|
||||||
|
# http://ftp.heanet.ie/mirrors/ftp.slackware.com/pub/slackware/slackware64-current/
|
||||||
|
# ITALY (IT)
|
||||||
|
# ftp://ba.mirror.garr.it/mirrors/Slackware/slackware64-current/
|
||||||
|
# http://ba.mirror.garr.it/mirrors/Slackware/slackware64-current/
|
||||||
|
# JAPAN (JP)
|
||||||
|
# ftp://ftp.nara.wide.ad.jp/pub/Linux/slackware/slackware64-current/
|
||||||
|
# http://ftp.nara.wide.ad.jp/pub/Linux/slackware/slackware64-current/
|
||||||
|
# ftp://ftp.kddilabs.jp/Linux/distributions/Slackware/slackware64-current/
|
||||||
|
# http://ftp.kddilabs.jp/Linux/distributions/Slackware/slackware64-current/
|
||||||
|
# ftp://riksun.riken.go.jp/Linux/slackware/slackware64-current/
|
||||||
|
# http://riksun.riken.go.jp/Linux/slackware/slackware64-current/
|
||||||
|
# NETHERLANDS (NL)
|
||||||
|
# ftp://ftp.nluug.nl/pub/os/Linux/distr/slackware/slackware64-current/
|
||||||
|
# http://ftp.nluug.nl/os/Linux/distr/slackware/slackware64-current/
|
||||||
|
# ftp://mirror.nl.leaseweb.net/slackware/slackware64-current/
|
||||||
|
# http://mirror.nl.leaseweb.net/slackware/slackware64-current/
|
||||||
|
# NORWAY (NO)
|
||||||
|
# ftp://ftp.slackware.no/slackware/slackware64-current/
|
||||||
|
# http://ftp.slackware.no/slackware/slackware64-current/
|
||||||
|
# POLAND (PL)
|
||||||
|
# ftp://ftp.pwr.wroc.pl/pub/linux/slackware/slackware64-current/
|
||||||
|
# http://ftp.pwr.wroc.pl/pub/linux/slackware/slackware64-current/
|
||||||
|
# ftp://ftp.slackware.pl/pub/slackware/slackware64-current/
|
||||||
|
# http://ftp.slackware.pl/pub/slackware/slackware64-current/
|
||||||
|
# ftp://sunsite.icm.edu.pl/vol/rzm1/linux-slackware/slackware64-current/
|
||||||
|
# http://sunsite.icm.edu.pl/packages/linux-slackware/slackware64-current/
|
||||||
|
# ftp://z-ftp.wcss.wroc.pl/pub/linux/slackware/slackware64-current/
|
||||||
|
# http://z-ftp.wcss.wroc.pl/pub/linux/slackware/slackware64-current/
|
||||||
|
# RUSSIA (RU)
|
||||||
|
# http://mirror.rol.ru/slackware/slackware64-current/
|
||||||
|
# ftp://mirror.yandex.ru/slackware/slackware64-current/
|
||||||
|
# http://mirror.yandex.ru/slackware/slackware64-current/
|
||||||
|
# SOUTH AFRICA (ZA)
|
||||||
|
# ftp://ftp.is.co.za/mirror/ftp.slackware.com/pub/slackware64-current/
|
||||||
|
# http://ftp.is.co.za/mirror/ftp.slackware.com/pub/slackware64-current/
|
||||||
|
# ftp://ftp.wa.co.za/pub/slackware/slackware64-current/
|
||||||
|
# http://ftp.wa.co.za/pub/slackware/slackware64-current/
|
||||||
|
# ftp://slackware.mirror.ac.za/slackware64-current/
|
||||||
|
# http://slackware.mirror.ac.za/slackware64-current/
|
||||||
|
# SWEDEN (SE)
|
||||||
|
# ftp://ftp.sunet.se/mirror/slackware.com/slackware64-current/
|
||||||
|
# http://ftp.sunet.se/mirror/slackware.com/slackware64-current/
|
||||||
|
# TAIWAN (TW)
|
||||||
|
# ftp://ftp.isu.edu.tw/pub/Linux/Slackware/slackware64-current/
|
||||||
|
# http://ftp.isu.edu.tw/pub/Linux/Slackware/slackware64-current/
|
||||||
|
# ftp://ftp.twaren.net/pub/Linux/Slackware/slackware64-current/
|
||||||
|
# http://ftp.twaren.net/Linux/Slackware/slackware64-current/
|
||||||
|
# TURKEY (TR)
|
||||||
|
# ftp://ftp.linux.org.tr/slackware/slackware64-current/
|
||||||
|
# http://ftp.linux.org.tr/slackware/slackware64-current/
|
||||||
|
# UKRAINE (UA)
|
||||||
|
# ftp://mirrors.mithril.org.ua/linux/slackware/slackware64-current/
|
||||||
|
# http://mirrors.mithril.org.ua/linux/slackware/slackware64-current/
|
||||||
|
# UNITED KINGDOM (UK)
|
||||||
|
# http://slackware.uk/slackware/slackware64-current/
|
||||||
|
# ftp://slackware.uk/slackware/slackware64-current/
|
||||||
|
# ftp://ftp.mirrorservice.org/sites/ftp.slackware.com/pub/slackware/slackware64-current/
|
||||||
|
# http://ftp.mirrorservice.org/sites/ftp.slackware.com/pub/slackware/slackware64-current/
|
||||||
|
# ftp://mirror.bytemark.co.uk/slackware/slackware64-current/
|
||||||
|
# http://mirror.bytemark.co.uk/slackware/slackware64-current/
|
||||||
|
# UNITED STATES (US)
|
||||||
|
# ftp://ftp.gtlib.gatech.edu/nv/ao2/lxmirror/ftp.slackware.com/slackware64-current/
|
||||||
|
# ftp://mirror.cs.princeton.edu/pub/mirrors/slackware/slackware64-current/
|
||||||
|
# ftp://mirrors.easynews.com/linux/slackware/slackware64-current/
|
||||||
|
# http://mirrors.easynews.com/linux/slackware/slackware64-current/
|
||||||
|
# ftp://mirrors.us.kernel.org/slackware/slackware64-current/
|
||||||
|
# http://mirrors.us.kernel.org/slackware/slackware64-current/
|
||||||
|
# ftp://mirrors.xmission.com/slackware/slackware64-current/
|
||||||
|
# http://mirrors.xmission.com/slackware/slackware64-current/
|
||||||
|
# https://mirror.slackbuilds.org/slackware/slackware64-current/
|
||||||
|
# http://slackware.cs.utah.edu/pub/slackware/slackware64-current/
|
||||||
|
# http://slackware.mirrors.pair.com/slackware64-current/
|
||||||
|
# ftp://slackware.mirrors.tds.net/pub/slackware/slackware64-current/
|
||||||
|
# http://slackware.mirrors.tds.net/pub/slackware/slackware64-current/
|
||||||
|
# ftp://spout.ussg.indiana.edu/linux/slackware/slackware64-current/
|
||||||
|
# http://spout.ussg.indiana.edu/linux/slackware/slackware64-current/
|
||||||
|
# ftp://teewurst.cc.columbia.edu/pub/linux/slackware/slackware64-current/
|
||||||
|
# http://teewurst.cc.columbia.edu/pub/linux/slackware/slackware64-current/
|
||||||
|
https://slackware.uk/slackware/slackware64-current/
|
||||||
156
base-files/slackpkg/slackpkg.conf
Normal file
156
base-files/slackpkg/slackpkg.conf
Normal file
|
|
@ -0,0 +1,156 @@
|
||||||
|
#
|
||||||
|
# /etc/slackpkg/slackpkg.conf
|
||||||
|
# Configuration for SlackPkg
|
||||||
|
# v2.8
|
||||||
|
#
|
||||||
|
|
||||||
|
# SlackPkg - An Automated packaging tool for Slackware Linux
|
||||||
|
# Copyright (C) 2003-2011 Roberto F. Batista, Evaldo Gardenali
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
# Project Page: http://slackpkg.org/
|
||||||
|
# Roberto F. Batista (aka PiterPunk) piterpunk@slackware.com
|
||||||
|
# Evaldo Gardenali (aka UdontKnow) evaldogardenali@fasternet.com.br
|
||||||
|
|
||||||
|
# For configuration options that have only two states, possible values are
|
||||||
|
# either "on" or "off"
|
||||||
|
|
||||||
|
# Remember, the only official Slackware ports are x86, s390, and arm, and
|
||||||
|
# slackpkg developers don't have s390 boxes for testing. If you are
|
||||||
|
# testing/using other architectures and have suggestions or patches,
|
||||||
|
# please let us know (email rworkman@slackware.com)
|
||||||
|
#
|
||||||
|
# Select the architecture of your system. Valid values are:
|
||||||
|
# i#86 (where # is 3, 4, 5 or 6)
|
||||||
|
# x86_64
|
||||||
|
# s390
|
||||||
|
# arm* (* can be v4, v5tejl, and other ARM versions)
|
||||||
|
# powerpc
|
||||||
|
#
|
||||||
|
# The line is commented because slackpkg will try to find your
|
||||||
|
# architecture automagically. If you want to override what slackpkg
|
||||||
|
# finds, put the value after the = and uncomment this line
|
||||||
|
#ARCH=
|
||||||
|
|
||||||
|
# The default PKGMAIN is "slackware", but some derived distros use other
|
||||||
|
# names as the main directory. PKGMAIN is the place with the slackware
|
||||||
|
# package series (a, ap, n, ... ).
|
||||||
|
#
|
||||||
|
# Usually slackpkg can automagically discover this variable. If you want
|
||||||
|
# to override the discovered variable, then uncomment this line and change
|
||||||
|
# it to reflect the correct value of PKGMAIN
|
||||||
|
#PKGMAIN=slackware
|
||||||
|
|
||||||
|
# Slackware packages are signed by project key. Slackpkg uses this key
|
||||||
|
# to check if the packages downloaded are valid, so remember to set
|
||||||
|
# CHECKGPG to "on".
|
||||||
|
#
|
||||||
|
# Usually slackpkg can automagically discover this variable. If you want
|
||||||
|
# to override the discovered variable, then uncomment this line and edit
|
||||||
|
# as needed
|
||||||
|
#SLACKKEY="Slackware Linux Project <security@slackware.com>"
|
||||||
|
|
||||||
|
# Downloaded files will be in the TEMP directory:
|
||||||
|
TEMP=/var/cache/packages
|
||||||
|
|
||||||
|
# Package lists, file lists, and others will be stored in WORKDIR:
|
||||||
|
WORKDIR=/var/lib/slackpkg
|
||||||
|
|
||||||
|
# Special options for wget (default is WGETFLAGS="--passive-ftp")
|
||||||
|
WGETFLAGS="--passive-ftp"
|
||||||
|
|
||||||
|
# If DELALL is "on", all downloaded files will be removed after install.
|
||||||
|
DELALL=on
|
||||||
|
|
||||||
|
# If CHECKMD5 is "on", the system will check the md5sums of all packages before
|
||||||
|
# install/upgrade/reinstall is performed.
|
||||||
|
CHECKMD5=on
|
||||||
|
|
||||||
|
# If CHECKGPG is "on", the system will verify the GPG signature of each package
|
||||||
|
# before install/upgrade/reinstall is performed.
|
||||||
|
CHECKGPG=on
|
||||||
|
|
||||||
|
# If CHECKSIZE is "on", the system will check if we have sufficient disk
|
||||||
|
# space to install selected package. This make upgrade/install safer, but
|
||||||
|
# will also slow down the upgrade/install process.
|
||||||
|
CHECKSIZE=off
|
||||||
|
|
||||||
|
# PRIORITY sets the download priority. slackpkg will try to found the
|
||||||
|
# package first in the first value, then the second one, through all
|
||||||
|
# values in list.
|
||||||
|
#
|
||||||
|
# Default value: patches %PKGMAIN extra pasture testing
|
||||||
|
PRIORITY=( patches %PKGMAIN extra pasture testing )
|
||||||
|
|
||||||
|
# Enables (on) or disables (off) slackpkg's post-installation features, such
|
||||||
|
# as checking for new (*.new) configuration files and new kernel images, and
|
||||||
|
# prompts you for what it should do. Default=on
|
||||||
|
POSTINST=on
|
||||||
|
|
||||||
|
# Post-installation features, by default, search all of /etc and a few other
|
||||||
|
# predefined locations for .new files. This is the safe option: with it,
|
||||||
|
# you won't have any unmerged .new files to cause problems. Even so, some
|
||||||
|
# people prefer that only the .new files installed by the current slackpkg
|
||||||
|
# session be checked. If this is your case, change ONLY_NEW_DOTNEW to "on".
|
||||||
|
# Default=off
|
||||||
|
ONLY_NEW_DOTNEW=off
|
||||||
|
|
||||||
|
# Whether to backup files overwritten by their .new counterparts with a
|
||||||
|
# .orig extension.
|
||||||
|
ORIG_BACKUPS=off
|
||||||
|
|
||||||
|
# The ONOFF variable sets the initial behavior of the dialog interface.
|
||||||
|
# If you set this to "on" then all packages will be selected by default.
|
||||||
|
# If you prefer the opposite option (all unchecked), then set this to "off".
|
||||||
|
ONOFF=on
|
||||||
|
|
||||||
|
# If this variable is set to "on", all files will be downloaded before the
|
||||||
|
# requested operation (install or upgrade) is performed. If set to "off",
|
||||||
|
# then the files will be downloaded and the operation (install/upgrade)
|
||||||
|
# performed one by one. Default=on
|
||||||
|
DOWNLOAD_ALL=on
|
||||||
|
|
||||||
|
# Enables (on) or disables (off) the dialog interface in slackpkg. Default=on
|
||||||
|
DIALOG=on
|
||||||
|
|
||||||
|
# Enables (on) or disables (off) the non-interactive mode. If set to "on",
|
||||||
|
# slackpkg will run without asking the user anything, and answer all questions
|
||||||
|
# with DEFAULT_ANSWER. If you do any upgrades using this mode, you'll need to
|
||||||
|
# run "slackpkg new-config" later to find and merge any .new files.
|
||||||
|
BATCH=off
|
||||||
|
|
||||||
|
# Default answer to slackpkg questions. Can be "y" or "n".
|
||||||
|
DEFAULT_ANSWER=n
|
||||||
|
|
||||||
|
# Slackpkg allows a template to "include" the packages specified in another
|
||||||
|
# template. This option enables (on) or disables (off) the parsing of
|
||||||
|
# any "#include" directives in template files. Default=on
|
||||||
|
USE_INCLUDES=on
|
||||||
|
|
||||||
|
# Enables a spinning bar as visual feedback when slackpkg is making its
|
||||||
|
# internal lists and some other operations. Default=on
|
||||||
|
SPINNING=on
|
||||||
|
|
||||||
|
# Max number of characters that "dialog" command can handle.
|
||||||
|
# If unset, this variable will be 19500 (the number that works on
|
||||||
|
# Slackware 10.2)
|
||||||
|
DIALOG_MAXARGS=139000
|
||||||
|
|
||||||
|
#
|
||||||
|
# The MIRROR is set from /etc/slackpkg/mirrors
|
||||||
|
# You only need to uncomment the selected mirror.
|
||||||
|
# Uncomment one mirror only.
|
||||||
|
#
|
||||||
5
base-files/ssh/ssh_config
Normal file
5
base-files/ssh/ssh_config
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
Host *
|
||||||
|
ControlPath ~/.ssh/%u@%l->%r@%h:%p
|
||||||
|
SendEnv LANG LC_*
|
||||||
|
VerifyHostKeyDNS yes
|
||||||
|
VisualHostKey yes
|
||||||
17
base-files/ssh/sshd_config
Normal file
17
base-files/ssh/sshd_config
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
# FIXME: Set sshd IP addresses.
|
||||||
|
# ListenAddress 91.109.244.X
|
||||||
|
# ListenAddress [2a02:2498:1:227::X]
|
||||||
|
Port 9922
|
||||||
|
|
||||||
|
AcceptEnv LANG LC_*
|
||||||
|
LoginGraceTime 30
|
||||||
|
MaxStartups 5
|
||||||
|
# FIXME: Change PermitRootLogin to 'prohibit-password' once a key is in place.
|
||||||
|
PermitRootLogin yes
|
||||||
|
Subsystem sftp /usr/libexec/sftp-server
|
||||||
|
UsePAM yes
|
||||||
|
X11Forwarding no
|
||||||
|
|
||||||
|
Match Address 10.0.0.0/8,169.254.0.0/16,172.16.0.0/12,192.168.0.0/16
|
||||||
|
PermitRootLogin yes
|
||||||
|
X11Forwarding yes
|
||||||
2
base-files/sudoers.d/defaults
Normal file
2
base-files/sudoers.d/defaults
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
## Set the password prompting timeout to 30 mins.
|
||||||
|
Defaults timestamp_timeout = 30
|
||||||
2
base-files/sysctl.d/fs.conf
Normal file
2
base-files/sysctl.d/fs.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
# Increase the maximum number of file handles (2^18).
|
||||||
|
fs.file-max = 262144
|
||||||
15
base-files/sysctl.d/kernel.conf
Normal file
15
base-files/sysctl.d/kernel.conf
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
# Append the PID to a 'core' dump's filename.
|
||||||
|
kernel.core_uses_pid = 1
|
||||||
|
|
||||||
|
# The contents of /proc/<pid>/{maps,smaps} should only visible to processes
|
||||||
|
# that are allowed to ptrace() the process.
|
||||||
|
kernel.maps_protect = 1
|
||||||
|
|
||||||
|
# Reboot after 10 seconds when the kernel panics.
|
||||||
|
kernel.panic = 10
|
||||||
|
|
||||||
|
# Allow more PIDs (2^17).
|
||||||
|
kernel.pid_max = 131072
|
||||||
|
|
||||||
|
# Disable 'magic' SysRq functionallity.
|
||||||
|
kernel.sysrq = 0
|
||||||
3
base-files/sysctl.d/vm.conf
Normal file
3
base-files/sysctl.d/vm.conf
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
# Do a minimal amount of swapping.
|
||||||
|
# See: https://en.wikipedia.org/wiki/Swappiness
|
||||||
|
vm.swappiness = 10
|
||||||
42
base-files/syslog.conf
Normal file
42
base-files/syslog.conf
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
# Notes:
|
||||||
|
# When changing log file options, remember to:
|
||||||
|
# * 'touch' the logfile into existance
|
||||||
|
# * Set the correct ownership+permissions on the file
|
||||||
|
# * Update /etc/logrotate.d/syslog with the changes
|
||||||
|
|
||||||
|
auth.* /var/log/messages
|
||||||
|
authpriv.* /var/log/messages
|
||||||
|
cron.* /var/log/messages
|
||||||
|
daemon.* /var/log/messages
|
||||||
|
ftp.* /var/log/messages
|
||||||
|
kern.* /var/log/messages
|
||||||
|
lpr.* /var/log/messages
|
||||||
|
mail.* /var/log/messages
|
||||||
|
news.* /var/log/messages
|
||||||
|
syslog.* /var/log/messages
|
||||||
|
# lumberjack uses user by default.
|
||||||
|
user.* /var/log/messages
|
||||||
|
uucp.* /var/log/messages
|
||||||
|
|
||||||
|
# fail2ban (custom configuration) uses local0.
|
||||||
|
local0.* /var/log/fail2ban
|
||||||
|
# named (custom configuration) uses local1.
|
||||||
|
local1.* /var/log/messages
|
||||||
|
# spamd is started with '-s local2'.
|
||||||
|
local2.* /var/log/messages
|
||||||
|
# dovecot (custom configuration) uses local3.
|
||||||
|
local3.* /var/log/messages
|
||||||
|
# Unused. Note: slapd (from OpenLDAP) uses local4 by default.
|
||||||
|
local4.* /var/log/messages
|
||||||
|
# rsyncd (custom configuration) uses local5.
|
||||||
|
local5.* /var/log/messages
|
||||||
|
# php-fpm (custom configuration) uses local6.
|
||||||
|
local6.* /var/log/messages
|
||||||
|
# httpd (custom configuration) uses local7.
|
||||||
|
local7.* /var/log/messages
|
||||||
|
|
||||||
|
# *.* /dev/tty12
|
||||||
|
# *.* /var/log/all
|
||||||
|
|
||||||
|
# Include all config files in /etc/syslog.d/:
|
||||||
|
include /etc/syslog.d/*.conf
|
||||||
186
base-files/vnstat.conf
Normal file
186
base-files/vnstat.conf
Normal file
|
|
@ -0,0 +1,186 @@
|
||||||
|
# vnStat 2.6 config file
|
||||||
|
##
|
||||||
|
|
||||||
|
# default interface (leave empty for automatic selection)
|
||||||
|
Interface "eth0"
|
||||||
|
|
||||||
|
# location of the database directory
|
||||||
|
DatabaseDir "/var/lib/vnstat"
|
||||||
|
|
||||||
|
# locale (LC_ALL) ("-" = use system locale)
|
||||||
|
Locale "-"
|
||||||
|
|
||||||
|
# date output formats for -d, -m, -t and -w
|
||||||
|
DayFormat "%Y-%m-%d"
|
||||||
|
MonthFormat "%Y-%m"
|
||||||
|
TopFormat "%Y-%m-%d"
|
||||||
|
|
||||||
|
# characters used for visuals
|
||||||
|
RXCharacter "%"
|
||||||
|
TXCharacter ":"
|
||||||
|
RXHourCharacter "r"
|
||||||
|
TXHourCharacter "t"
|
||||||
|
|
||||||
|
# how units are prefixed when traffic is shown
|
||||||
|
# 0 = IEC standard prefixes (KiB/MiB/GiB...)
|
||||||
|
# 1 = old style binary prefixes (KB/MB/GB...)
|
||||||
|
# 2 = SI decimal prefixes (kB/MB/GB...)
|
||||||
|
UnitMode 0
|
||||||
|
|
||||||
|
# used rate unit (0 = bytes, 1 = bits)
|
||||||
|
RateUnit 1
|
||||||
|
|
||||||
|
# how units are prefixed when traffic rate is shown in bits
|
||||||
|
# 0 = IEC binary prefixes (Kibit/s...)
|
||||||
|
# 1 = SI decimal prefixes (kbit/s...)
|
||||||
|
RateUnitMode 1
|
||||||
|
|
||||||
|
# output style
|
||||||
|
# 0 = minimal & narrow, 1 = bar column visible
|
||||||
|
# 2 = same as 1 except rate in summary
|
||||||
|
# 3 = rate column visible
|
||||||
|
OutputStyle 3
|
||||||
|
|
||||||
|
# number of decimals to use in outputs
|
||||||
|
DefaultDecimals 2
|
||||||
|
HourlyDecimals 1
|
||||||
|
|
||||||
|
# spacer for separating hourly sections (0 = none, 1 = '|', 2 = '][', 3 = '[ ]')
|
||||||
|
HourlySectionStyle 2
|
||||||
|
|
||||||
|
# how many seconds should sampling for -tr take by default
|
||||||
|
Sampletime 5
|
||||||
|
|
||||||
|
# default query mode
|
||||||
|
# 0 = normal, 1 = days, 2 = months, 3 = top, 5 = short
|
||||||
|
# 7 = hours, 8 = xml, 9 = one line, 10 = json
|
||||||
|
QueryMode 0
|
||||||
|
|
||||||
|
# default list output entry limits (0 = all)
|
||||||
|
List5Mins 24
|
||||||
|
ListHours 24
|
||||||
|
ListDays 30
|
||||||
|
ListMonths 12
|
||||||
|
ListYears 0
|
||||||
|
ListTop 10
|
||||||
|
|
||||||
|
|
||||||
|
# vnstatd
|
||||||
|
##
|
||||||
|
|
||||||
|
# switch to given user when started as root (leave empty to disable)
|
||||||
|
DaemonUser ""
|
||||||
|
|
||||||
|
# switch to given group when started as root (leave empty to disable)
|
||||||
|
DaemonGroup ""
|
||||||
|
|
||||||
|
# try to detect interface maximum bandwidth, 0 = disable feature
|
||||||
|
# MaxBandwidth will be used as fallback value when enabled
|
||||||
|
BandwidthDetection 1
|
||||||
|
|
||||||
|
# maximum bandwidth (Mbit) for all interfaces, 0 = disable feature
|
||||||
|
# (unless interface specific limit is given)
|
||||||
|
MaxBandwidth 1000
|
||||||
|
|
||||||
|
# interface specific limits
|
||||||
|
# example 8Mbit limit for eth0 (remove # to activate):
|
||||||
|
#MaxBWeth0 8
|
||||||
|
|
||||||
|
# data retention durations (-1 = unlimited, 0 = feature disabled)
|
||||||
|
5MinuteHours 48
|
||||||
|
HourlyDays 4
|
||||||
|
DailyDays 62
|
||||||
|
MonthlyMonths 25
|
||||||
|
YearlyYears -1
|
||||||
|
TopDayEntries 20
|
||||||
|
|
||||||
|
# how often (in seconds) interface data is updated
|
||||||
|
UpdateInterval 20
|
||||||
|
|
||||||
|
# how often (in seconds) interface status changes are checked
|
||||||
|
PollInterval 5
|
||||||
|
|
||||||
|
# how often (in minutes) data is saved to database
|
||||||
|
SaveInterval 5
|
||||||
|
|
||||||
|
# how often (in minutes) data is saved when all interface are offline
|
||||||
|
OfflineSaveInterval 30
|
||||||
|
|
||||||
|
# on which day should months change
|
||||||
|
MonthRotate 1
|
||||||
|
MonthRotateAffectsYears 0
|
||||||
|
|
||||||
|
# filesystem disk space check (1 = enabled, 0 = disabled)
|
||||||
|
CheckDiskSpace 1
|
||||||
|
|
||||||
|
# how much the boot time can variate between updates (seconds)
|
||||||
|
BootVariation 15
|
||||||
|
|
||||||
|
# create database entries even when there is no traffic (1 = enabled, 0 = disabled)
|
||||||
|
TrafficlessEntries 1
|
||||||
|
|
||||||
|
# how many minutes to wait during daemon startup for system clock to
|
||||||
|
# sync time if most recent database update appears to be in the future
|
||||||
|
TimeSyncWait 5
|
||||||
|
|
||||||
|
# how often (in minutes) bandwidth detection is done when
|
||||||
|
# BandwidthDetection is enabled (0 = disabled)
|
||||||
|
BandwidthDetectionInterval 5
|
||||||
|
|
||||||
|
# force data save when interface status changes (1 = enabled, 0 = disabled)
|
||||||
|
SaveOnStatusChange 1
|
||||||
|
|
||||||
|
# enable / disable logging (0 = disabled, 1 = logfile, 2 = syslog)
|
||||||
|
UseLogging 2
|
||||||
|
|
||||||
|
# create dirs if needed (1 = enabled, 0 = disabled)
|
||||||
|
CreateDirs 1
|
||||||
|
|
||||||
|
# update ownership of files if needed (1 = enabled, 0 = disabled)
|
||||||
|
UpdateFileOwner 1
|
||||||
|
|
||||||
|
# file used for logging if UseLogging is set to 1
|
||||||
|
LogFile "/var/log/vnstat.log"
|
||||||
|
|
||||||
|
# file used as daemon pid / lock file
|
||||||
|
PidFile "/var/run/vnstat.pid"
|
||||||
|
|
||||||
|
# 1 = 64-bit, 0 = 32-bit, -1 = old style logic, -2 = automatic detection
|
||||||
|
64bitInterfaceCounters -2
|
||||||
|
|
||||||
|
# use SQLite Write-Ahead Logging mode (1 = enabled, 0 = disabled)
|
||||||
|
DatabaseWriteAheadLogging 0
|
||||||
|
|
||||||
|
# change the setting of the SQLite "synchronous" flag
|
||||||
|
# (-1 = auto, 0 = off, 1, = normal, 2 = full, 3 = extra)
|
||||||
|
DatabaseSynchronous -1
|
||||||
|
|
||||||
|
|
||||||
|
# vnstati
|
||||||
|
##
|
||||||
|
|
||||||
|
# title timestamp format
|
||||||
|
HeaderFormat "%Y-%m-%d %H:%M"
|
||||||
|
|
||||||
|
# show hours with rate (1 = enabled, 0 = disabled)
|
||||||
|
HourlyRate 1
|
||||||
|
|
||||||
|
# show rate in summary (1 = enabled, 0 = disabled)
|
||||||
|
SummaryRate 1
|
||||||
|
|
||||||
|
# transparent background (1 = enabled, 0 = disabled)
|
||||||
|
TransparentBg 0
|
||||||
|
|
||||||
|
# image colors
|
||||||
|
CBackground "FFFFFF"
|
||||||
|
CEdge "AEAEAE"
|
||||||
|
CHeader "606060"
|
||||||
|
CHeaderTitle "FFFFFF"
|
||||||
|
CHeaderDate "FFFFFF"
|
||||||
|
CText "000000"
|
||||||
|
CLine "B0B0B0"
|
||||||
|
CLineL "-"
|
||||||
|
CRx "92CF00"
|
||||||
|
CTx "606060"
|
||||||
|
CRxD "-"
|
||||||
|
CTxD "-"
|
||||||
31
ca-certificates/isrgrootx1.crt
Normal file
31
ca-certificates/isrgrootx1.crt
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
|
||||||
|
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
|
||||||
|
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
|
||||||
|
WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
|
||||||
|
ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
|
||||||
|
MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
|
||||||
|
h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
|
||||||
|
0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
|
||||||
|
A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
|
||||||
|
T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
|
||||||
|
B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
|
||||||
|
B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
|
||||||
|
KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
|
||||||
|
OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
|
||||||
|
jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
|
||||||
|
qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
|
||||||
|
rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
|
||||||
|
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
|
||||||
|
hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
|
||||||
|
ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
|
||||||
|
3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
|
||||||
|
NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
|
||||||
|
ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
|
||||||
|
TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
|
||||||
|
jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
|
||||||
|
oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
|
||||||
|
4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
|
||||||
|
mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
|
||||||
|
emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
27
ca-certificates/lets-encrypt-x3-cross-signed.crt
Normal file
27
ca-certificates/lets-encrypt-x3-cross-signed.crt
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
|
||||||
|
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
|
||||||
|
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
|
||||||
|
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
|
||||||
|
GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
||||||
|
AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
|
||||||
|
q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
|
||||||
|
SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
|
||||||
|
Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
|
||||||
|
a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
|
||||||
|
/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
|
||||||
|
AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
|
||||||
|
CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
|
||||||
|
bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
|
||||||
|
c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
|
||||||
|
VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
|
||||||
|
ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
|
||||||
|
MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
|
||||||
|
Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
|
||||||
|
AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
|
||||||
|
uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
|
||||||
|
wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
|
||||||
|
X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
|
||||||
|
PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
|
||||||
|
KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
32
ca-certificates/letsencryptauthorityx3.crt
Normal file
32
ca-certificates/letsencryptauthorityx3.crt
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIFjTCCA3WgAwIBAgIRANOxciY0IzLc9AUoUSrsnGowDQYJKoZIhvcNAQELBQAw
|
||||||
|
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
|
||||||
|
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTYxMDA2MTU0MzU1
|
||||||
|
WhcNMjExMDA2MTU0MzU1WjBKMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
|
||||||
|
RW5jcnlwdDEjMCEGA1UEAxMaTGV0J3MgRW5jcnlwdCBBdXRob3JpdHkgWDMwggEi
|
||||||
|
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCc0wzwWuUuR7dyXTeDs2hjMOrX
|
||||||
|
NSYZJeG9vjXxcJIvt7hLQQWrqZ41CFjssSrEaIcLo+N15Obzp2JxunmBYB/XkZqf
|
||||||
|
89B4Z3HIaQ6Vkc/+5pnpYDxIzH7KTXcSJJ1HG1rrueweNwAcnKx7pwXqzkrrvUHl
|
||||||
|
Npi5y/1tPJZo3yMqQpAMhnRnyH+lmrhSYRQTP2XpgofL2/oOVvaGifOFP5eGr7Dc
|
||||||
|
Gu9rDZUWfcQroGWymQQ2dYBrrErzG5BJeC+ilk8qICUpBMZ0wNAxzY8xOJUWuqgz
|
||||||
|
uEPxsR/DMH+ieTETPS02+OP88jNquTkxxa/EjQ0dZBYzqvqEKbbUC8DYfcOTAgMB
|
||||||
|
AAGjggFnMIIBYzAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADBU
|
||||||
|
BgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEBATAwMC4GCCsGAQUFBwIB
|
||||||
|
FiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQub3JnMB0GA1UdDgQWBBSo
|
||||||
|
SmpjBH3duubRObemRWXv86jsoTAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3Js
|
||||||
|
LnJvb3QteDEubGV0c2VuY3J5cHQub3JnMHIGCCsGAQUFBwEBBGYwZDAwBggrBgEF
|
||||||
|
BQcwAYYkaHR0cDovL29jc3Aucm9vdC14MS5sZXRzZW5jcnlwdC5vcmcvMDAGCCsG
|
||||||
|
AQUFBzAChiRodHRwOi8vY2VydC5yb290LXgxLmxldHNlbmNyeXB0Lm9yZy8wHwYD
|
||||||
|
VR0jBBgwFoAUebRZ5nu25eQBc4AIiMgaWPbpm24wDQYJKoZIhvcNAQELBQADggIB
|
||||||
|
ABnPdSA0LTqmRf/Q1eaM2jLonG4bQdEnqOJQ8nCqxOeTRrToEKtwT++36gTSlBGx
|
||||||
|
A/5dut82jJQ2jxN8RI8L9QFXrWi4xXnA2EqA10yjHiR6H9cj6MFiOnb5In1eWsRM
|
||||||
|
UM2v3e9tNsCAgBukPHAg1lQh07rvFKm/Bz9BCjaxorALINUfZ9DD64j2igLIxle2
|
||||||
|
DPxW8dI/F2loHMjXZjqG8RkqZUdoxtID5+90FgsGIfkMpqgRS05f4zPbCEHqCXl1
|
||||||
|
eO5HyELTgcVlLXXQDgAWnRzut1hFJeczY1tjQQno6f6s+nMydLN26WuU4s3UYvOu
|
||||||
|
OsUxRlJu7TSRHqDC3lSE5XggVkzdaPkuKGQbGpny+01/47hfXXNB7HntWNZ6N2Vw
|
||||||
|
p7G6OfY+YQrZwIaQmhrIqJZuigsrbe3W+gdn5ykE9+Ky0VgVUsfxo52mwFYs1JKY
|
||||||
|
2PGDuWx8M6DlS6qQkvHaRUo0FMd8TsSlbF0/v965qGFKhSDeQoMpYnwcmQilRh/0
|
||||||
|
ayLThlHLN81gSkJjVrPI0Y8xCVPB4twb1PFUd2fPM3sA1tJ83sZ5v8vgFv2yofKR
|
||||||
|
PB0t6JzUA81mSqM3kxl5e+IZwhYAyO0OTg3/fs8HqGTNKd9BqoUwSRBzp06JMg5b
|
||||||
|
rUCGwbCUDI0mxadJ3Bz4WxR6fyNpBK2yAinWEsikxqEt
|
||||||
|
-----END CERTIFICATE-----
|
||||||
BIN
memtest86+
Normal file
BIN
memtest86+
Normal file
Binary file not shown.
5
root.crontab
Normal file
5
root.crontab
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Run the hourly, daily, weekly, and monthly cron jobs.
|
||||||
|
0 * * * * /usr/bin/run-parts /etc/cron.hourly >/dev/null
|
||||||
|
0 0 * * * /usr/bin/run-parts /etc/cron.daily >/dev/null
|
||||||
|
0 0 * * 0 /usr/bin/run-parts /etc/cron.weekly >/dev/null
|
||||||
|
0 0 1 * * /usr/bin/run-parts /etc/cron.monthly >/dev/null
|
||||||
137
sample-rc.d/rc.firewall-guests
Executable file
137
sample-rc.d/rc.firewall-guests
Executable file
|
|
@ -0,0 +1,137 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# The name of the main external interface.
|
||||||
|
EX_IF="eth0"
|
||||||
|
# The name of the VM-Private network interface.
|
||||||
|
VM_IF="eth1"
|
||||||
|
|
||||||
|
# Disable ICMP redirects.
|
||||||
|
# Note: Redirects are used when a router believes a packet is being routed sub optimally and it would like to inform
|
||||||
|
# the sending host that it should forward subsequent packets to that same destination through a different gateway.
|
||||||
|
echo 0 >"/proc/sys/net/ipv4/conf/$EX_IF/accept_redirects"
|
||||||
|
echo 0 >"/proc/sys/net/ipv6/conf/$EX_IF/accept_redirects"
|
||||||
|
echo 0 >"/proc/sys/net/ipv4/conf/$EX_IF/send_redirects"
|
||||||
|
|
||||||
|
# Flush old rules.
|
||||||
|
iptables -F
|
||||||
|
ip6tables -F
|
||||||
|
iptables -t nat -F
|
||||||
|
ip6tables -t nat -F
|
||||||
|
iptables -t mangle -F
|
||||||
|
ip6tables -t mangle -F
|
||||||
|
|
||||||
|
# Delete any custom chains.
|
||||||
|
iptables -X
|
||||||
|
ip6tables -X
|
||||||
|
iptables -t nat -X
|
||||||
|
ip6tables -t nat -X
|
||||||
|
iptables -t mangle -X
|
||||||
|
ip6tables -t mangle -X
|
||||||
|
|
||||||
|
# Drop invalid packets on all interfaces.
|
||||||
|
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
|
||||||
|
ip6tables -A INPUT -m conntrack --ctstate INVALID -j DROP
|
||||||
|
|
||||||
|
# Drop unroutable IPs on the external interface.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -s 127.0.0.0/8 -j DROP
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -s ::1/128 -j DROP
|
||||||
|
iptables -A INPUT -i "$EX_IF" -s 10.0.0.0/8 -j DROP
|
||||||
|
iptables -A INPUT -i "$EX_IF" -s 172.16.0.0/12 -j DROP
|
||||||
|
iptables -A INPUT -i "$EX_IF" -s 192.168.0.0/16 -j DROP
|
||||||
|
|
||||||
|
# Allow all loopback traffic.
|
||||||
|
iptables -A INPUT -i lo -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i lo -j ACCEPT
|
||||||
|
|
||||||
|
# Allow all VM-Private network traffic.
|
||||||
|
iptables -A INPUT -i "$VM_IF" -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$VM_IF" -j ACCEPT
|
||||||
|
|
||||||
|
# Allow unrestricted access from our IPs.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -m iprange --src-range 91.109.244.7-91.109.244.11 -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -m iprange --src-range 91.109.244.78-91.109.244.79 -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -m iprange --src-range 91.109.244.239-91.109.244.243 -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -s 2a02:2498:1:227::/64 -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -s 185.176.90.169 -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -s 2a07:4580:b0d:57f::/64 -j ACCEPT
|
||||||
|
|
||||||
|
# Allow packets of established connections and those related to them.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
|
||||||
|
|
||||||
|
# Allow pings, but ratelimited.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p icmp --icmp-type echo-request -m limit --limit 1/sec --limit-burst 5 -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p icmpv6 --icmpv6-type echo-request -m limit --limit 1/sec --limit-burst 5 -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p icmp --icmp-type echo-reply -m limit --limit 1/sec --limit-burst 5 -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p icmpv6 --icmpv6-type echo-reply -m limit --limit 1/sec --limit-burst 5 -j ACCEPT
|
||||||
|
|
||||||
|
# Allow certain types of ICMP informational packets.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p icmp --icmp-type destination-unreachable -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p icmpv6 --icmpv6-type destination-unreachable -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p icmp --icmp-type time-exceeded -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p icmpv6 --icmpv6-type time-exceeded -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p icmp --icmp-type parameter-problem -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p icmpv6 --icmpv6-type parameter-problem -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p icmpv6 --icmpv6-type packet-too-big -j ACCEPT
|
||||||
|
|
||||||
|
# Always allow SSH.
|
||||||
|
# Note: We never want to be locked out of the system, so also accept on the standard ssh port, just in case things accidently get
|
||||||
|
# set back to defaults. Any connections to the standard port will just get a 'connection refused' message, unless this happens.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 22,9922 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 22,9922 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
|
||||||
|
# Service: DNS.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p tcp --syn --dport 53 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p tcp --syn --dport 53 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
|
||||||
|
# Service: HTTP{,S}.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 80,443 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 80,443 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
|
||||||
|
# Service: FTP{,S}.
|
||||||
|
# Note: This is a very permissive configuration - it leaves the high ports completely open. To close it down,
|
||||||
|
# change the last two rules to "ESTABLISHED,RELATED" state; but this will prevent ftps passive from working.
|
||||||
|
modprobe nf_conntrack_ftp
|
||||||
|
echo 1 >/proc/sys/net/netfilter/nf_conntrack_helper # Required to allow nf_conntrack_ftp to actually work.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 21,990 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 21,990 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 20,989 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 20,989 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p tcp -m multiport --dports 49152:65534 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p tcp -m multiport --dports 49152:65534 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
|
||||||
|
# Service: rsync.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p tcp --syn --dport 873 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p tcp --syn --dport 873 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
|
||||||
|
# Service: SMTP and submission.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 25,587 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 25,587 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
|
||||||
|
# Service: IMAP{,S}.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 143,993 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 143,993 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
|
||||||
|
# Service: POP3{,S}.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 110,995 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 110,995 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
|
||||||
|
# Service: Bittorrent.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 6881:6899 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 6881:6899 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p udp -m multiport --dports 6881:6899 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p udp -m multiport --dports 6881:6899 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 49152:65534 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 49152:65534 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p udp -m multiport --dports 49152:65534 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p udp -m multiport --dports 49152:65534 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
|
||||||
|
# Set default policies.
|
||||||
|
iptables -P INPUT DROP
|
||||||
|
ip6tables -P INPUT DROP
|
||||||
|
iptables -P OUTPUT ACCEPT # We don't firewall outgoing connections.
|
||||||
|
ip6tables -P OUTPUT ACCEPT # We don't firewall outgoing connections.
|
||||||
|
iptables -P FORWARD DROP
|
||||||
|
ip6tables -P FORWARD DROP
|
||||||
83
sample-rc.d/rc.firewall-hosts
Executable file
83
sample-rc.d/rc.firewall-hosts
Executable file
|
|
@ -0,0 +1,83 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# The name of the main external interface.
|
||||||
|
EX_IF="br0"
|
||||||
|
|
||||||
|
# Disable ICMP redirects.
|
||||||
|
# Note: Redirects are used when a router believes a packet is being routed sub optimally and it would like to inform
|
||||||
|
# the sending host that it should forward subsequent packets to that same destination through a different gateway.
|
||||||
|
echo 0 >"/proc/sys/net/ipv4/conf/$EX_IF/accept_redirects"
|
||||||
|
echo 0 >"/proc/sys/net/ipv6/conf/$EX_IF/accept_redirects"
|
||||||
|
echo 0 >"/proc/sys/net/ipv4/conf/$EX_IF/send_redirects"
|
||||||
|
|
||||||
|
# Flush old rules.
|
||||||
|
iptables -F
|
||||||
|
ip6tables -F
|
||||||
|
iptables -t nat -F
|
||||||
|
ip6tables -t nat -F
|
||||||
|
iptables -t mangle -F
|
||||||
|
ip6tables -t mangle -F
|
||||||
|
|
||||||
|
# Delete any custom chains.
|
||||||
|
iptables -X
|
||||||
|
ip6tables -X
|
||||||
|
iptables -t nat -X
|
||||||
|
ip6tables -t nat -X
|
||||||
|
iptables -t mangle -X
|
||||||
|
ip6tables -t mangle -X
|
||||||
|
|
||||||
|
# Drop invalid packets on all interfaces.
|
||||||
|
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
|
||||||
|
ip6tables -A INPUT -m conntrack --ctstate INVALID -j DROP
|
||||||
|
|
||||||
|
# Drop unroutable IPs on the external interface.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -s 127.0.0.0/8 -j DROP
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -s ::1/128 -j DROP
|
||||||
|
iptables -A INPUT -i "$EX_IF" -s 10.0.0.0/8 -j DROP
|
||||||
|
iptables -A INPUT -i "$EX_IF" -s 172.16.0.0/12 -j DROP
|
||||||
|
iptables -A INPUT -i "$EX_IF" -s 192.168.0.0/16 -j DROP
|
||||||
|
|
||||||
|
# Allow all loopback traffic.
|
||||||
|
iptables -A INPUT -i lo -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i lo -j ACCEPT
|
||||||
|
|
||||||
|
# Allow unrestricted access from our IPs.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -m iprange --src-range 91.109.244.7-91.109.244.11 -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -m iprange --src-range 91.109.244.78-91.109.244.79 -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -m iprange --src-range 91.109.244.239-91.109.244.243 -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -s 2a02:2498:1:227::/64 -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -s 185.176.90.169 -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -s 2a07:4580:b0d:57f::/64 -j ACCEPT
|
||||||
|
|
||||||
|
# Allow packets of established connections and those related to them.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
|
||||||
|
|
||||||
|
# Allow pings, but ratelimited.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p icmp --icmp-type echo-request -m limit --limit 1/sec --limit-burst 5 -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p icmpv6 --icmpv6-type echo-request -m limit --limit 1/sec --limit-burst 5 -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p icmp --icmp-type echo-reply -m limit --limit 1/sec --limit-burst 5 -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p icmpv6 --icmpv6-type echo-reply -m limit --limit 1/sec --limit-burst 5 -j ACCEPT
|
||||||
|
|
||||||
|
# Allow certain types of ICMP informational packets.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p icmp --icmp-type destination-unreachable -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p icmpv6 --icmpv6-type destination-unreachable -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p icmp --icmp-type time-exceeded -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p icmpv6 --icmpv6-type time-exceeded -j ACCEPT
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p icmp --icmp-type parameter-problem -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p icmpv6 --icmpv6-type parameter-problem -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p icmpv6 --icmpv6-type packet-too-big -j ACCEPT
|
||||||
|
|
||||||
|
# Always allow SSH.
|
||||||
|
# Note: We never want to be locked out of the system, so also accept on the standard ssh port, just in case things accidently get
|
||||||
|
# set back to defaults. Any connections to the standard port will just get a 'connection refused' message, unless this happens.
|
||||||
|
iptables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 22,9922 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
ip6tables -A INPUT -i "$EX_IF" -p tcp --syn -m multiport --dports 22,9922 -m conntrack --ctstate NEW -j ACCEPT
|
||||||
|
|
||||||
|
# Set default policies.
|
||||||
|
iptables -P INPUT DROP
|
||||||
|
ip6tables -P INPUT DROP
|
||||||
|
iptables -P OUTPUT ACCEPT # We don't firewall outgoing connections.
|
||||||
|
ip6tables -P OUTPUT ACCEPT # We don't firewall outgoing connections.
|
||||||
|
iptables -P FORWARD DROP
|
||||||
|
ip6tables -P FORWARD DROP
|
||||||
14
sample-rc.d/rc.firewall-old
Executable file
14
sample-rc.d/rc.firewall-old
Executable file
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
IPTABLES=/usr/sbin/iptables
|
||||||
|
|
||||||
|
# Flush the tables.
|
||||||
|
$IPTABLES -F
|
||||||
|
|
||||||
|
# Drop bootp ports.
|
||||||
|
$IPTABLES -m multiport -A INPUT -p tcp --dports 67,68 -j DROP
|
||||||
|
$IPTABLES -m multiport -A INPUT -p udp --dports 67,68 -j DROP
|
||||||
|
|
||||||
|
# Drop netbios ports.
|
||||||
|
$IPTABLES -m multiport -A INPUT -p tcp --dports 137,138,139 -j DROP
|
||||||
|
$IPTABLES -m multiport -A INPUT -p udp --dports 137,138,139 -j DROP
|
||||||
66
sample-rc.d/rc.local
Executable file
66
sample-rc.d/rc.local
Executable file
|
|
@ -0,0 +1,66 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# /etc/rc.d/rc.local - Local system startup script.
|
||||||
|
# This script will be run when the system is first booted.
|
||||||
|
|
||||||
|
# Start the MCE daemon.
|
||||||
|
[ -x /etc/rc.d/rc.mcelog ] && /etc/rc.d/rc.mcelog start
|
||||||
|
|
||||||
|
# Start the qemu guest additions agent.
|
||||||
|
[ -x /etc/rc.d/rc.qemu-ga ] && /etc/rc.d/rc.qemu-ga start
|
||||||
|
|
||||||
|
# Start GlusterFS daemon.
|
||||||
|
[ -x /etc/rc.d/rc.glusterd ] && /etc/rc.d/rc.glusterd start
|
||||||
|
|
||||||
|
# Mount glusterfs volumes.
|
||||||
|
for MOUNT in $(grep -v "^#" /etc/fstab | awk '/[[:blank:]]glusterfs[[:blank:]]/ {print $2}'); do mount $MOUNT; done
|
||||||
|
|
||||||
|
# Start the vnstat daemon.
|
||||||
|
[ -x /etc/rc.d/rc.vnstat ] && /etc/rc.d/rc.vnstat start
|
||||||
|
|
||||||
|
# Start fail2ban.
|
||||||
|
[ -x /etc/rc.d/rc.fail2ban ] && /etc/rc.d/rc.fail2ban start
|
||||||
|
|
||||||
|
# Start the php-fpm FastCGI daemon.
|
||||||
|
[ -x /etc/rc.d/rc.php-fpm ] && /etc/rc.d/rc.php-fpm start
|
||||||
|
|
||||||
|
# Start SpamAssassin.
|
||||||
|
[ -x /etc/rc.d/rc.spamd ] && /etc/rc.d/rc.spamd start
|
||||||
|
|
||||||
|
# Start proftpd.
|
||||||
|
[ -x /etc/rc.d/rc.proftpd ] && {
|
||||||
|
/opt/bin/lumberjack -u logger -z -r -i /run/slackware.uk-ftpd.log -o logger:ftp -mp 006 -l logs/ftpd-transfers.log \
|
||||||
|
/data/sites/slackware.uk logs/%Y/%m/ftpd-transfers.log &
|
||||||
|
/etc/rc.d/rc.proftpd start
|
||||||
|
}
|
||||||
|
|
||||||
|
# Start the rsync daemon.
|
||||||
|
[ -x /etc/rc.d/rc.rsyncd ] && {
|
||||||
|
/opt/bin/lumberjack -u logger -z -r -i /run/rsyncd.log -o logger:mirror -mp 006 -l logs/rsyncd-transfers.log \
|
||||||
|
/data/sites/slackware.uk logs/%Y/%m/rsyncd-transfers.log &
|
||||||
|
/etc/rc.d/rc.rsyncd start
|
||||||
|
}
|
||||||
|
|
||||||
|
# Start netdata.
|
||||||
|
[ -x /etc/rc.d/rc.netdata ] && rm -f /var/lock/subsys/netdata && /etc/rc.d/rc.netdata start
|
||||||
|
|
||||||
|
# Start the bandwidth bar generator.
|
||||||
|
[ -x /opt/bin/bwbar ] && sudo -b /opt/bin/bwbar -f /run/bwbar.txt -p /run/bwbar.png -t 1 -x 800 -y 8 -b 2 eth0 1000
|
||||||
|
|
||||||
|
# Start seeding the torrents.
|
||||||
|
grep "^seeder:" /etc/passwd >/dev/null 2>&1 && su - seeder -c /home/seeder/start-seeding
|
||||||
|
|
||||||
|
# Start libvirt.
|
||||||
|
[ -x /etc/rc.d/rc.libvirt ] && /etc/rc.d/rc.libvirt start
|
||||||
|
|
||||||
|
# Start the lxcfs fuse module.
|
||||||
|
[ -x /etc/rc.d/rc.lxcfs ] && /etc/rc.d/rc.lxcfs start
|
||||||
|
|
||||||
|
# Start containers.
|
||||||
|
[ -x /etc/rc.d/rc.lxc ] && {
|
||||||
|
# Proxy ARP is required for the LXC bridge to function correctly.
|
||||||
|
echo 1 >/proc/sys/net/ipv4/conf/br0/proxy_arp
|
||||||
|
/etc/rc.d/rc.lxc start
|
||||||
|
}
|
||||||
|
|
||||||
|
# Notify that the server has booted.
|
||||||
|
/opt/bin/pushover -a server -t "Successful boot up: ${HOSTNAME%%.*}" -p 1 -m "$(printf '%(%d %b %Y - %H:%M:%S)T')" >/dev/null
|
||||||
73
sample-rc.d/rc.local_shutdown
Executable file
73
sample-rc.d/rc.local_shutdown
Executable file
|
|
@ -0,0 +1,73 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# /etc/rc.d/rc.local_shutdown - Local system shutdown script.
|
||||||
|
# This script will be run when the system is shutdown or rebooted.
|
||||||
|
|
||||||
|
# Notify that the server is shutting down.
|
||||||
|
/opt/bin/pushover -a server -t "Shutting down: ${HOSTNAME%%.*}" -p 1 -m "$(printf '%(%d %b %Y - %H:%M:%S)T')" >/dev/null
|
||||||
|
|
||||||
|
# Stop containers.
|
||||||
|
[ -x /etc/rc.d/rc.lxc ] && /etc/rc.d/rc.lxc stop
|
||||||
|
|
||||||
|
# Stop lxcfs.
|
||||||
|
[ -x /etc/rc.d/rc.lxcfs ] && /etc/rc.d/rc.lxcfs stop
|
||||||
|
|
||||||
|
# Stop libvirt.
|
||||||
|
[ -x /etc/rc.d/rc.libvirt ] && {
|
||||||
|
/etc/rc.d/rc.libvirt guests_shutdown
|
||||||
|
/etc/rc.d/rc.libvirt stop
|
||||||
|
}
|
||||||
|
|
||||||
|
# Shut down netdata.
|
||||||
|
[ -x /etc/rc.d/rc.netdata ] && /etc/rc.d/rc.netdata stop
|
||||||
|
|
||||||
|
# Stop the rtorrent instances started at boot.
|
||||||
|
grep "^seeder:" /etc/passwd >/dev/null 2>&1 && {
|
||||||
|
pkill -INT -u seeder '^rtorrent .*$'
|
||||||
|
printf "%s" "Waiting up to 30 seconds for rtorrent to exit"
|
||||||
|
for ((i=0; i <= 59; i++)); do
|
||||||
|
if pgrep -u seeder '^rtorrent .*$' >/dev/null 2>&1; then
|
||||||
|
printf "%s" "."
|
||||||
|
sleep 0.5
|
||||||
|
else
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if ! pgrep -u seeder '^rtorrent .*$' >/dev/null 2>&1; then
|
||||||
|
printf "%s\n" " clean exit."
|
||||||
|
else
|
||||||
|
printf "%s\n" " failed - terminating."
|
||||||
|
pkill -TERM -u seeder '^rtorrent .*$'
|
||||||
|
sleep 2
|
||||||
|
pkill -KILL -u seeder '^rtorrent .*$'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Stop rsyncd.
|
||||||
|
[ -x /etc/rc.d/rc.rsyncd ] && /etc/rc.d/rc.rsyncd stop
|
||||||
|
|
||||||
|
# Stop proftpd.
|
||||||
|
[ -x /etc/rc.d/rc.proftpd ] && /etc/rc.d/rc.proftpd stop
|
||||||
|
|
||||||
|
# Stop SpamAssassin.
|
||||||
|
[ -x /etc/rc.d/rc.spamd ] && /etc/rc.d/rc.spamd stop
|
||||||
|
|
||||||
|
# Stop the php-fpm FastCGI daemon.
|
||||||
|
[ -x /etc/rc.d/rc.php-fpm ] && /etc/rc.d/rc.php-fpm stop
|
||||||
|
|
||||||
|
# Stop fail2ban.
|
||||||
|
[ -x /etc/rc.d/rc.fail2ban ] && /etc/rc.d/rc.fail2ban stop
|
||||||
|
|
||||||
|
# Stop the vnstat daemon.
|
||||||
|
[ -x /etc/rc.d/rc.vnstat ] && /etc/rc.d/rc.vnstat stop
|
||||||
|
|
||||||
|
# Unmount glusterfs volumes.
|
||||||
|
for MOUNT in $(mount | awk '/fuse\.glusterfs/ {print $3}'); do umount -v $MOUNT; done
|
||||||
|
|
||||||
|
# Stop GlusterFS daemon.
|
||||||
|
[ -x /etc/rc.d/rc.glusterd ] && /etc/rc.d/rc.glusterd stop
|
||||||
|
|
||||||
|
# Stop the qemu guest additions agent.
|
||||||
|
[ -x /etc/rc.d/rc.qemu-ga ] && /etc/rc.d/rc.qemu-ga stop
|
||||||
|
|
||||||
|
# Stop the MCE daemon.
|
||||||
|
[ -x /etc/rc.d/rc.mcelog ] && /etc/rc.d/rc.mcelog stop
|
||||||
24
sample-rc.d/rc.modules.local
Executable file
24
sample-rc.d/rc.modules.local
Executable file
|
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# /etc/rc.d/rc.modules.local
|
||||||
|
|
||||||
|
# The Linux kernel source is the best place to look for documentation
|
||||||
|
# for the many available kernel modules. This can be found under
|
||||||
|
# /usr/src/linux-$VERSION/Documentation/.
|
||||||
|
|
||||||
|
# Almost all necessary modules are automatically loaded when needed,
|
||||||
|
# but there are a few exceptions. Here's a (not all-inclusive) list,
|
||||||
|
# so uncomment any of the below entries or add others as needed:
|
||||||
|
# Note that you could also create/edit rc.modules-$version if you
|
||||||
|
# only wanted specific modules loaded for particular kernels.
|
||||||
|
|
||||||
|
#/sbin/modprobe tun # Universal TUN/TAP device driver
|
||||||
|
#/sbin/modprobe sg # Generic SCSI support for SATA DVD-RW
|
||||||
|
|
||||||
|
# Load sensor modules.
|
||||||
|
if [ -e /etc/sysconfig/lm_sensors ]; then
|
||||||
|
. /etc/sysconfig/lm_sensors
|
||||||
|
for MOD in $HWMON_MODULES; do
|
||||||
|
/sbin/modprobe "$MOD"
|
||||||
|
done
|
||||||
|
fi
|
||||||
108
sample-rc.d/rc.proftpd
Executable file
108
sample-rc.d/rc.proftpd
Executable file
|
|
@ -0,0 +1,108 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Version: 0.2.9
|
||||||
|
# Copyright (c) 2005-2017:
|
||||||
|
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||||
|
# Licensed under the terms of the GNU General Public License version 3.
|
||||||
|
|
||||||
|
EXEC="/usr/sbin/proftpd"
|
||||||
|
ARGS=()
|
||||||
|
PIDFILE="/var/run/proftpd.pid"
|
||||||
|
|
||||||
|
checkconfigured() {
|
||||||
|
# This function can be used to perform any pre-start tests; hopfully to insure the daemon
|
||||||
|
# can start correctly, before actually trying to start it. A return value of 0 means the
|
||||||
|
# tests were passed and the daemon should be started. Any other value prevents the
|
||||||
|
# daemon from being started and an error message will be emitted.
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
checkstatus() {
|
||||||
|
# Note: this has been changed from the standard 'pgrep -f "$EXEC"' as pgrep doesn't match
|
||||||
|
# the process because proftp changes its argv0.
|
||||||
|
local RUNPIDS="$(pgrep -F "$PIDFILE" 2>/dev/null)"
|
||||||
|
if [ ! -z "$RUNPIDS" ]; then
|
||||||
|
echo -n "${BASH_SOURCE##*/}: ${EXEC##*/}: running"
|
||||||
|
if [ ! -z "$PIDFILE" ]; then
|
||||||
|
if [ ! -e "$PIDFILE" ]; then
|
||||||
|
echo -n ", but .pid file does not exist"
|
||||||
|
elif ! echo "$RUNPIDS" | grep "\<$(cat "$PIDFILE")\>" >/dev/null 2>&1; then
|
||||||
|
echo -n ", but .pid file is stale"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: stopped"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
startdaemon() {
|
||||||
|
if ! checkconfigured; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not started - pre-start checks failed" >&2
|
||||||
|
return 1
|
||||||
|
elif [ ! -e "$EXEC" ]; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not found" >&2
|
||||||
|
return 1
|
||||||
|
elif [ ! -x "$EXEC" ]; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not executable" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
env -i -S "$EXEC" "${ARGS[@]}"
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
stopdaemon() {
|
||||||
|
# Note: this has been changed from the standard way of doing things because we can't use
|
||||||
|
# 'pgrep -f' to match the process since proftpd changes its argv0.
|
||||||
|
if ! kill -TERM "$(cat "$PIDFILE" 2>/dev/null)" >/dev/null 2>&1; then
|
||||||
|
sleep 2
|
||||||
|
if checkstatus >/dev/null; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: failed to stop gracefully - slaying" >&2
|
||||||
|
kill -KILL "$(pgrep "${EXEC##*/}")" >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
'start')
|
||||||
|
if checkstatus >/dev/null; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: already running" >&2
|
||||||
|
echo " Try: $BASH_SOURCE status" >&2
|
||||||
|
ERR=1
|
||||||
|
else
|
||||||
|
startdaemon
|
||||||
|
ERR=$?
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
'stop')
|
||||||
|
if ! checkstatus >/dev/null; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not running" >&2
|
||||||
|
echo " Try: $BASH_SOURCE status" >&2
|
||||||
|
ERR=1
|
||||||
|
else
|
||||||
|
stopdaemon
|
||||||
|
ERR=$?
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
'restart')
|
||||||
|
if checkstatus >/dev/null; then
|
||||||
|
stopdaemon && sleep 2 && startdaemon
|
||||||
|
ERR=$?
|
||||||
|
else
|
||||||
|
startdaemon
|
||||||
|
ERR=$?
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
'status')
|
||||||
|
checkstatus
|
||||||
|
ERR=$?
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $BASH_SOURCE <start|stop|restart|status>" >&2
|
||||||
|
ERR=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
return $ERR 2>/dev/null || exit $ERR
|
||||||
105
sample-rc.d/rc.rsyncd
Executable file
105
sample-rc.d/rc.rsyncd
Executable file
|
|
@ -0,0 +1,105 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Version: 0.2.9
|
||||||
|
# Copyright (c) 2005-2017:
|
||||||
|
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||||
|
# Licensed under the terms of the GNU General Public License version 3.
|
||||||
|
|
||||||
|
EXEC="/usr/bin/rsync"
|
||||||
|
ARGS=(--daemon --config=/etc/rsyncd/rsyncd.conf)
|
||||||
|
PIDFILE="/var/run/rsyncd.pid"
|
||||||
|
|
||||||
|
checkconfigured() {
|
||||||
|
# This function can be used to perform any pre-start tests; hopfully to insure the daemon
|
||||||
|
# can start correctly, before actually trying to start it. A return value of 0 means the
|
||||||
|
# tests were passed and the daemon should be started. Any other value prevents the
|
||||||
|
# daemon from being started and an error message will be emitted.
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
checkstatus() {
|
||||||
|
local RUNPIDS="$(pgrep -f "$EXEC")"
|
||||||
|
if [ ! -z "$RUNPIDS" ]; then
|
||||||
|
echo -n "${BASH_SOURCE##*/}: ${EXEC##*/}: running"
|
||||||
|
if [ ! -z "$PIDFILE" ]; then
|
||||||
|
if [ ! -e "$PIDFILE" ]; then
|
||||||
|
echo -n ", but .pid file does not exist"
|
||||||
|
elif ! echo "$RUNPIDS" | grep "\<$(cat "$PIDFILE")\>" >/dev/null 2>&1; then
|
||||||
|
echo -n ", but .pid file is stale"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: stopped"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
startdaemon() {
|
||||||
|
if ! checkconfigured; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not started - pre-start checks failed" >&2
|
||||||
|
return 1
|
||||||
|
elif [ ! -e "$EXEC" ]; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not found" >&2
|
||||||
|
return 1
|
||||||
|
elif [ ! -x "$EXEC" ]; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not executable" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
"$EXEC" "${ARGS[@]}"
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
stopdaemon() {
|
||||||
|
if ! kill -TERM "$(cat "$PIDFILE" 2>/dev/null)" >/dev/null 2>&1; then
|
||||||
|
kill -TERM "$(pgrep -f "$EXEC")" >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
sleep 2
|
||||||
|
if checkstatus >/dev/null; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: failed to stop gracefully - slaying" >&2
|
||||||
|
kill -KILL "$(pgrep -f "$EXEC")" >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
'start')
|
||||||
|
if checkstatus >/dev/null; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: already running" >&2
|
||||||
|
echo " Try: $BASH_SOURCE status" >&2
|
||||||
|
ERR=1
|
||||||
|
else
|
||||||
|
startdaemon
|
||||||
|
ERR=$?
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
'stop')
|
||||||
|
if ! checkstatus >/dev/null; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not running" >&2
|
||||||
|
echo " Try: $BASH_SOURCE status" >&2
|
||||||
|
ERR=1
|
||||||
|
else
|
||||||
|
stopdaemon
|
||||||
|
ERR=$?
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
'restart')
|
||||||
|
if checkstatus >/dev/null; then
|
||||||
|
stopdaemon && sleep 2 && startdaemon
|
||||||
|
ERR=$?
|
||||||
|
else
|
||||||
|
startdaemon
|
||||||
|
ERR=$?
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
'status')
|
||||||
|
checkstatus
|
||||||
|
ERR=$?
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $BASH_SOURCE <start|stop|restart|status>" >&2
|
||||||
|
ERR=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
return $ERR 2>/dev/null || exit $ERR
|
||||||
105
sample-rc.d/rc.tftpd
Executable file
105
sample-rc.d/rc.tftpd
Executable file
|
|
@ -0,0 +1,105 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Version: 0.2.9
|
||||||
|
# Copyright (c) 2005-2017:
|
||||||
|
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||||
|
# Licensed under the terms of the GNU General Public License version 3.
|
||||||
|
|
||||||
|
EXEC="/usr/sbin/in.tftpd"
|
||||||
|
ARGS=(--listen --address=FIXME --user tftp --secure /data/tftpboot)
|
||||||
|
PIDFILE=""
|
||||||
|
|
||||||
|
checkconfigured() {
|
||||||
|
# This function can be used to perform any pre-start tests; hopfully to insure the daemon
|
||||||
|
# can start correctly, before actually trying to start it. A return value of 0 means the
|
||||||
|
# tests were passed and the daemon should be started. Any other value prevents the
|
||||||
|
# daemon from being started and an error message will be emitted.
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
checkstatus() {
|
||||||
|
local RUNPIDS="$(pgrep -f "$EXEC")"
|
||||||
|
if [ ! -z "$RUNPIDS" ]; then
|
||||||
|
echo -n "${BASH_SOURCE##*/}: ${EXEC##*/}: running"
|
||||||
|
if [ ! -z "$PIDFILE" ]; then
|
||||||
|
if [ ! -e "$PIDFILE" ]; then
|
||||||
|
echo -n ", but .pid file does not exist"
|
||||||
|
elif ! echo "$RUNPIDS" | grep "\<$(cat "$PIDFILE")\>" >/dev/null 2>&1; then
|
||||||
|
echo -n ", but .pid file is stale"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: stopped"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
startdaemon() {
|
||||||
|
if ! checkconfigured; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not started - pre-start checks failed" >&2
|
||||||
|
return 1
|
||||||
|
elif [ ! -e "$EXEC" ]; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not found" >&2
|
||||||
|
return 1
|
||||||
|
elif [ ! -x "$EXEC" ]; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not executable" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
"$EXEC" "${ARGS[@]}"
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
stopdaemon() {
|
||||||
|
if ! kill -TERM "$(cat "$PIDFILE" 2>/dev/null)" >/dev/null 2>&1; then
|
||||||
|
kill -TERM "$(pgrep -f "$EXEC")" >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
sleep 2
|
||||||
|
if checkstatus >/dev/null; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: failed to stop gracefully - slaying" >&2
|
||||||
|
kill -KILL "$(pgrep -f "$EXEC")" >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
'start')
|
||||||
|
if checkstatus >/dev/null; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: already running" >&2
|
||||||
|
echo " Try: $BASH_SOURCE status" >&2
|
||||||
|
ERR=1
|
||||||
|
else
|
||||||
|
startdaemon
|
||||||
|
ERR=$?
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
'stop')
|
||||||
|
if ! checkstatus >/dev/null; then
|
||||||
|
echo "${BASH_SOURCE##*/}: ${EXEC##*/}: not running" >&2
|
||||||
|
echo " Try: $BASH_SOURCE status" >&2
|
||||||
|
ERR=1
|
||||||
|
else
|
||||||
|
stopdaemon
|
||||||
|
ERR=$?
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
'restart')
|
||||||
|
if checkstatus >/dev/null; then
|
||||||
|
stopdaemon && sleep 2 && startdaemon
|
||||||
|
ERR=$?
|
||||||
|
else
|
||||||
|
startdaemon
|
||||||
|
ERR=$?
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
'status')
|
||||||
|
checkstatus
|
||||||
|
ERR=$?
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $BASH_SOURCE <start|stop|restart|status>" >&2
|
||||||
|
ERR=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
return $ERR 2>/dev/null || exit $ERR
|
||||||
24
utils/check_dependancies
Executable file
24
utils/check_dependancies
Executable file
|
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Version: 0.0.2
|
||||||
|
# Copyright (c) 2007 - 2017:
|
||||||
|
# Darren 'Tadgy' Austin <darren (at) afterdark.org.uk>
|
||||||
|
# Licensed under the terms of the GNU General Public License version 3.
|
||||||
|
#
|
||||||
|
# This is a quick^Wslow dirty hack to check binaries and libraries for missing
|
||||||
|
# dependancies using ldd. Only those files with missing dependancies (along
|
||||||
|
# with the missing library information itself) will be written to stderr.
|
||||||
|
# Redirecting stderr to a file is advised, since this can produce a large
|
||||||
|
# volume of output on a system with many missing libraries.
|
||||||
|
|
||||||
|
echo "This will take a while..."
|
||||||
|
|
||||||
|
{ find -P ${1:-/} -regextype posix-extended \
|
||||||
|
\( -regex "^/(boot|data|dev|etc|home|lost\+found|media|mnt|proc|root|run|srv|sys|tmp|var)" -a -prune \) -o \
|
||||||
|
\( -regex "^/lib(64)?/ld-.*" -a -prune \) -o \
|
||||||
|
\( -regex "^/lib/(dhcpcd|firmware|modprobe\.d|modules)" -a -prune \) -o \
|
||||||
|
\( -regex "^/(opt|usr|usr/local)/(doc|etc|include|info|man|share|src)" -a -prune \) -o \
|
||||||
|
\( -regex "^/usr/lib(64)?/(firefox|java|jdk|jre|seamonkey|thunderbird)-.*" -a -prune \) -o \
|
||||||
|
\( -regex "^/usr/lib(64)?/(locale|qt/plugins/.*.debug)" -a -prune \) -o \
|
||||||
|
-type f -print0 | \
|
||||||
|
xargs -0 -r file -N -0 | egrep -a ".*ELF.*(executable|shared object).*dynamically" | cut -d $'\0' -f1 | sort | \
|
||||||
|
xargs -r ldd 2>/dev/null | egrep "(^/|not found)" | egrep -B 1 "^[[:space:]]" | egrep -v "^--" ; } >&2
|
||||||
Loading…
Add table
Add a link
Reference in a new issue