I have been playing around with chmod, chown, setfacl and special bits trying to get multiple system/full users in same group correct access permissions to my media collection.

But I’ve messed it up somehow and now I’m having weird problems that are hard to track.

I would like to set my whole collection back to the defaults.

What is the best way to do this?

One problem I’ve had when making changes to so many files is the process seems to go forever without completing. Eventually it gets killed so my filesystem has variable attributes throughout. how can this be worked around?

I want everything to be owned by myuser, group media, everything else default I will sort it from there once I have a fresh slate.

And is there a way to backup these attributes only? I don’t have enough storage to backup the files themselves.

It is Debian with ext4 filesystem.

Edit to add: Media collection is on its own separate drive/filesystem; this has no impact on anything else on the computer.

  • r00ty@kbin.life
    link
    fedilink
    arrow-up
    3
    ·
    6 days ago

    I mean, too late for you now. But I have a script that backs up just the permissions and owners for a given folder hierarchy.

    I use it because I backup to a cloud backup platform that doesn’t save them. So these files are backed up with the data so the files and permissions/owners can be restored in an emergency.

    But you could of course also use the file to restore permissions after a user generated mistake too.

      • r00ty@kbin.life
        link
        fedilink
        arrow-up
        2
        ·
        6 days ago

        Yeah. Only on my phone right now but will get it and post here later/tomorrow.

      • r00ty@kbin.life
        link
        fedilink
        arrow-up
        1
        ·
        5 days ago

        OK so it’s fairly simple. You need to install the acl package (or whatever equivalent package contains getfacl/setfacl. Then you can use that to dump the data from an entire structure into a file (I also then bzip that). Then I backup all installed packages to help with a restore too.

        So the script looks like:

        #!/bin/bash
        cd /etc
        /usr/bin/getfacl -R . | /usr/bin/bzip2 -9 >PERMISSION_BACKUP.bz2
        chmod 600 PERMISSION_BACKUP.bz2
        cd /home
        /usr/bin/getfacl -R . | /usr/bin/bzip2 -9 >PERMISSION_BACKUP.bz2
        chmod 600 PERMISSION_BACKUP.bz2
        cd /root
        /usr/bin/getfacl -R . | /usr/bin/bzip2 -9 >PERMISSION_BACKUP.bz2
        chmod 600 PERMISSION_BACKUP.bz2
        cd /var
        /usr/bin/getfacl -R . | /usr/bin/bzip2 -9 >PERMISSION_BACKUP.bz2
        chmod 600 PERMISSION_BACKUP.bz2
        /usr/bin/apt list --installed | /usr/bin/bzip2 -9 >/root/INSTALLED-PACKAGES.bz2
        chmod 600 /root/INSTALLED-PACKAGES.bz2
        

        To restore you change to the folder the backup was taken from, unbzip the file (or uncompress live via pipe) and use setfacl --restore=<file>

          • r00ty@kbin.life
            link
            fedilink
            arrow-up
            1
            ·
            5 days ago

            It’s for backup purposes mainly. A lot of cloud backup providers don’t store permissions.

            So if I restore the data I can then restore the permissions after. So these are the folders I am backing up (with some exceptions in /var)