Recursively fixing file and directory permissions

| Posted: - Last updated:
| Tagged linux bash git sh file permissions
| ~200wrds (~1min)

While working on a Gitlab installation I noticed that all repository file permissions were off. Fixing recursive file and directory permissions can be quite hard. Or so I thought.

Using the following commands (in plain Bash) allow you to recursively set permissions for files and directories. So, to fix the proper read permissions on your Gitlab repositories you can use this:

# Go to your git repositories directory (as git or the gitlab user)
cd /home/git/repositories

# Fix ownership
sudo chown -R git:git *

# Fix directory permissions
sudo find -type d -exec chmod 770 {} \;

# Fix file permissions
sudo find -type f -exec chmod 660 {} \;

After this, your Gitlab should have no trouble accessing your code (e.g. in the tree browser).

My site is free of ads and trackers. I record privacy-respecting usage statistics with Fathom.

Was this post helpful to you? Why not ☕ Buy me a coffee or use Brave Browser to send a tip.