Difference between revisions of "Operating Systems/Linux/Ubuntu/Ubuntu 16.04 LTS/Scripting"

From Vista Ridge Cyberpatriot
Jump to navigation Jump to search
Line 13: Line 13:
 
=== How to get the default version of the configuration files ===
 
=== How to get the default version of the configuration files ===
 
* You can get the configuration files from a fresh installation of Ubuntu or Linux Mint [[Configuring a VM|This page explains how to make a virtual machine]]
 
* You can get the configuration files from a fresh installation of Ubuntu or Linux Mint [[Configuring a VM|This page explains how to make a virtual machine]]
 +
* For convenience, here's 4 default configuration files (sshd_config, common-password, login.defs, and sysctl.conf)
 +
** https://github.com/Emperormouse/default-configs (Press on the green code button and choose download zip)
  
 
=== How to configure a configuration file securely ===
 
=== How to configure a configuration file securely ===

Revision as of 23:54, 2 October 2024

Baselining

A good way to automate a lot of fixes without coding is baselining. There are multiple ways to do it, but the easiest way is to create secure configuration files before a competition, and copy those in during a competition.

  • Some configuration files that will be worth configuring securely before a competition are:
    • /etc/ssh/sshd_config (config file for ssh, a remote-terminal program used on almost all linux servers)
    • /etc/pam.d/common-password (config file for password stuff)
    • /etc/login.defs (another password config file)
    • /etc/sysctl.conf (config file with a ton of random system-level configurations)
  • These configuration files are fine as the default, but you have to make sure that they haven't been tampered with
    • /etc/sudoers (config file for sudo, the system that lets administrators run commands as root)
    • /etc/apt/sources.list (config file that specifies which URLs to pull packages from)

The default version of these configuration files can be found from a default installation of Ubuntu22 (or Linux Mint)

How to get the default version of the configuration files

How to configure a configuration file securely

How to copy the configuration files to the practice image

  • First you have to get the files into the practice image. If you're using vmware you may be able to drag the file right into the image. But if that doesn't work you can use google drive or email to yourself.
  • Next you have to backup the original file. You can use this command for that:
    • cp <path/to/original/file> <backup/location>
  • Finally you have to copy your pre-configured file to its location:
    • cp <path/to/configured/file> <path/to/location>
  • For Example, if you have a folder named "backups" for your backups and a folder named "custom-configs" with your pre-configured files:
    • cp /etc/ssh/sshd_config ./backups/sshd_config
    • cp ./custom-configs/sshd_config /etc/ssh/sshd_config

Useful one liners

These are useful commands or chains of commands to remember or write down for CyberPatriot (Feel free to add to this)

grep "sh$" /etc/passwd

  • Lists all of the users on the system, plus the root user. It includes extra information, but the usernames are before the first colon.



find /home -name "*\.mp[34]" -o -name "*\.mov" -o -name "*\.webm"

  • Finds all files which end in ".mp3", ".mp4", ".mov", or ".webm", which are usually not allowed to be in user's directories.



sudo rm /directory/of/files/to/delete/*

  • This deletes all of the files within a certain directory (make sure to include the asterisk at the end). For example sudo rm /home/jim/Music/*