DebianConfigs/README.md
2019-01-09 03:13:27 -07:00

91 lines
3.7 KiB
Markdown

# My standard configuration files for Debian and basic services
This is a collection of several configuration files that I use when setting up a
BASIC bare-bones Debian system. Quite often, such a system will become
something else like a webserver, git-server, cloud platform, programming
workstation, etc. Therefore, only a few core files applicable to nearly every
conceivable installation are included here.
## Included files
### bash template files
#### bash.rc
Included are *.bashrc* files for both new users (in the */etc/skel/* directory)
and the root user. These files are the Debian default files. They are included
and copied so that user profiles start out at baseline settings and pull all
initial customizations from */etc/bash.bashrc*. Users are free to alter their
*.bashrc* as they see fit and those settings will override or add to the ones
I've included in */etc/bash.bashrc*
#### profile
This is the Debian default *profile* and is copied to */etc/profile* to return
the system to a baseline configuration. Again, this is done to ensure that only
*/etc/bash.bashrc* is providing initial customizations to users.
#### bash.bashrc
Of the bash customization files, this is the only one that is NOT in a default
configuration. I have added the following customizations I find useful
especially for new users and system admins:
- colourized directory listings with built-in automatic colour settings
- changed prompt to include 24-hour clock, username, hostname and current
directory display
- username changes to RED when working as ROOT (uid=0)
- added the following command aliases
alias|full command|explanation
---|---|---
ll|ls -l|default 'ls' output
l|ls -lAsh --group-directories-first|far more useful and robust file display including sizes, permissions and owners
rm|rm -i|confirmation prompt when deleting file
mv|mv -i|confirmation prompt when moving file would result in overwriting existing file
cp|cp -i|confirmation prompt when copying file would result in overwriting existing file
### nano defaults (nanorc)
The following options have been enabled/set in nano to provide what I feel is an
easier editing experience especially for people coming from a Windows background
and new users/admins.
- 'rebind' numeric keypad to fix problems with using keypad with some SSH clients
- set 'smart home' some home key is useful
- allow opening multiple files at once
- always display line numbers
- constantly display cursor position at the bottom of the screen
- set vim lock-files
- autoindent ON, tab-size of 4 spaces
- convert tabs to spaces
- turn off hard line wrapping
- turn ON soft line wrapping for ease of readability
- closing 'brackets' (for alignment purposes) set as: "')>]}
- cut to end of line by default
- set proper bracket matching (ie. "<" matches ">", etc.)
- turned on default colours so nano doesn't look so drab
- added the following key-bindings
binding|fuction
---|---
alt-c/alt-C|copy selected text
alt-x/alt-X|cut selected text
alt-v/alt-V|paste text on clipboard
### time syncronization settings (timesyncd.conf)
This file configures *systemd-timesyncd.service* and allows for very simple
NTP-sync setup. Simply edit the **NTP=* to list your desired timeservers,
each separated by a single space. In the event those timeservers are not
available, you can configure back servers by listing them on the
**FallbackNTP=** line, again space delimited.
I've set the default in this file to be the worldwide NTP.org servers. This
should work for pretty much anyone that uses this file, but you really should
customize the list to use geographically closer timeservers or the timeserver on
your LAN, etc.
### SSH server configuration (sshd_config)