
11 changed files with 71 additions and 20 deletions
@ -0,0 +1,6 @@ |
|||||
|
#!/bin/bash |
||||
|
set -u |
||||
|
|
||||
|
# Find package that owns a certain file |
||||
|
grep "$1" /var/lib/dpkg/info/*.list |
||||
|
|
@ -1,3 +0,0 @@ |
|||||
# Find package that owns a certain file |
|
||||
grep "${filename:?}" /var/lib/dpkg/info/*.list |
|
||||
|
|
@ -1,5 +0,0 @@ |
|||||
# mark an APT package as autoinstalled |
|
||||
|
|
||||
``` |
|
||||
apt-mark auto ${package_name:?} |
|
||||
``` |
|
@ -0,0 +1,5 @@ |
|||||
|
#!/bin/bash |
||||
|
set -u |
||||
|
|
||||
|
# mark an APT package as autoinstalled |
||||
|
sudo apt-mark auto $1 |
@ -0,0 +1,11 @@ |
|||||
|
#!/bin/bash |
||||
|
set -ue |
||||
|
|
||||
|
# first arg is old user name, second arg is new user name |
||||
|
old_user=$1 |
||||
|
new_user=$2 |
||||
|
|
||||
|
# rename user, user's group, and user's home dir |
||||
|
sudo mv /home/$old_user /home/$new_user |
||||
|
sudo groupmod -n $new_user $old_user |
||||
|
sudo usermod -l $new_user -d /home/$new_user -m $old_user |
@ -1,2 +0,0 @@ |
|||||
usermod -l «new_user» -d /home/«new_user» -m «old_user» |
|
||||
groupmod -n «new_user» «old_user» |
|
@ -0,0 +1,40 @@ |
|||||
|
# how to use rrsync to make secure backups |
||||
|
|
||||
|
## setup |
||||
|
|
||||
|
copy rrsync script to `/usr/local/bin`: |
||||
|
``` |
||||
|
sudo cp /usr/share/rsync/scripts/rrsync /usr/local/bin/ |
||||
|
sudo chmod +x /usr/local/bin/rrysnc |
||||
|
``` |
||||
|
|
||||
|
There is an option in the SSHD configuration file for allowing root logins only with the command parameter set. This allows a client to login to the server as root if they have a key in root's authorized_keys, but only if that key has the "`command`" parameter set. |
||||
|
|
||||
|
To activate this option, set the following option in `/etc/ssh/sshd_config`: |
||||
|
``` |
||||
|
PermitRootLogin forced-commands-only |
||||
|
``` |
||||
|
And don't forget to reload SSH daemon: |
||||
|
``` |
||||
|
sudo systemctl reload sshd |
||||
|
``` |
||||
|
|
||||
|
## usage |
||||
|
|
||||
|
The usage of rrsync is: |
||||
|
``` |
||||
|
rrsync [-ro|-wo] SUBDIR |
||||
|
``` |
||||
|
rrsync can be restricted to read-only mode by the `-ro` flag, or write-only mode by the `-wo` flag. The subdir argument sets the directory that rrsync is restricted to. Rrsync will not be allowed to read or write from anywhere other than that directory. |
||||
|
|
||||
|
To add a command directive to an authorized key, simply include the directive '`command="my_command"`' in front of the rest of the key on that line in the authorized_keys file. For example, so add a key that is restricted to only being able to run rrsync in read-only mode on the directory `/foo`, you would add the following command directive in front of the key: |
||||
|
``` |
||||
|
command="rrsync -ro /foo" <key> |
||||
|
``` |
||||
|
|
||||
|
When a remote client attempts to use this key to run a command on the host, the `command` directive causes SSHD to ignore any commands sent by the client, and execute the actions specified in the `command` directive instead. Rrsync will then be able to parse your attempted rsync command, and execute it if it determines that it is an allowed action. |
||||
|
|
||||
|
Note that any remote directories in the client's rsync command must be specified *relative to the subdirectory* specified in the `command` directive. For example, if a client wants to pull the contents of the directory `/foo/bar` on the server to the same directory on the client using the key from the example above, they would run the command: |
||||
|
``` |
||||
|
rsync -av server:bar/ /foo/bar/ |
||||
|
``` |
@ -1,10 +0,0 @@ |
|||||
# set timezone |
|
||||
|
|
||||
to list timezones available: |
|
||||
``` |
|
||||
timedatectl list-timezones |
|
||||
``` |
|
||||
to set timezone: |
|
||||
``` |
|
||||
timedatectl st-timezone ZONE |
|
||||
``` |
|
@ -0,0 +1,9 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
if [[ -z $1 ]]; then |
||||
|
# list timezones available: |
||||
|
timedatectl list-timezones |
||||
|
else |
||||
|
# set timezone: |
||||
|
sudo timedatectl set-timezone $1 |
||||
|
fi |
Loading…
Reference in new issue