This is a bash script meant to run alongside the docker version of `slskd`, a modern Web-based SoulSeek client. It looks at a certain directory and then scans its contents according to a set interval. Then, when it detects new files, it changes their permissions and ownership automatically, leaving a log entry in the journal.

mitch donaberger d9051c4b59 Update 'README.md' 1 kuukausi sitten
LICENSE 925ffa1083 Initial commit 1 kuukausi sitten
README.md d9051c4b59 Update 'README.md' 1 kuukausi sitten
install-as-systemd.sh f19a4f441f Update 'install-as-systemd.sh' 1 kuukausi sitten
slskd-permission-monitor.sh eb0c604449 Update 'slskd-permission-monitor.sh' 1 kuukausi sitten
slskd-permissions-fixer.service 004ad0e1fe Adding Systemd module 1 kuukausi sitten

README.md

slskd-permissions-fixer

This is a bash script meant to look at a certain directory and scan its contents according to a set interval. Then, when it detects new files, it changes their permissions and ownership automatically, leaving a log entry in the journal.

Install

To quickstart:

  1. git clone https://git.donaberger.xyz/mitch/slskd-permissions-fixer
  2. cd slskd-permissions-fixer/
  3. sudo chmod +x slskd-permissions-fixer.sh && sudo chmod +x install-as-systemd.sh

Then, either...

4a. Run the script alone (does not run in background): /bin/bash slskd-permissions-fixer.sh

4b. Install it as a systemd module: /bin/bash install-as-systemd.sh

4c. Copy slskd-permissions-fixer.system to /etc/systemd/users/slskd-permissions-fixer.system and then run sudo systemctl daemon-reload && sudo systemctl status slskd-permissions-fixer

Okay, but, why write a script for this?

Because the Docker container for slskd does not seem to respect the global Docker flags for active user/guid. So, I did the next best thing, and just had a script run as root and wait for newly downloaded files. Then it updates them according to the parameters set. Also, I am lazy. 🤷