Skip to main content

Browsing posts by tag


Recursively set all file and folder permissions

• Tagged Server-side and Guide

Let’s say your current working directory is full of subdirectories and files. You want all the subdirectories to have one set of file permissions (say, 664), and all of the files to have a different set of permissions (for example, 775).

Continue reading “Recursively set all file and folder permissions”

Secure file transfer deployments with restricted SSH keys and rsync

• Tagged Server-side and Guide

This site is built in a GitHub Action, which means that I end up with a big folder of HTML files (and other stuff) which I need to get from the build environment onto my production server. To keep it simple, I wanted to use an SSH-based method to do that (so I don’t need to set up FTP or something), and rsync is a nice utility which fits the bill – it even handles deleting old files which aren’t needed any more.

I didn’t like the idea of supplying my Action with a set of keys which can access my entire server: that seems like too much power. Introducing rrsync, or restricted rsync, which allows you to limit where a given set of SSH keys can read and write. Let’s set it up.

Continue reading “Secure file transfer deployments with restricted SSH keys and rsync”