go-git/go-billy

thoughts on chown/acl support

Opened this issue · 2 comments

Just wondering if there are any thoughts about adding an abstraction for os.Chown (which for windows does work pretty badly as you need string SSIDs and the semantics differ from Linux in the regard that you don't change user (uid) and group (gid) at the same time like os.Chown does.

Seemingly ACLs are common on those platforms or changing file owner and file owner group independently of each other might be an approach.

Also getting the current owner and owner group or a list of all ACLs of a file might be another interesting feature which would be necessary for like copying files and applying the same ownership permissions as the source file had.

Hey @jxsl13, is there a specific use case you are trying to resolve?

I'm trying to move my backupfs (backup on write fs abstraction layer with rollback mechanisms) from the afero interface to one that supports windows better and is more actively maintained.

This one: https://github.com/jxsl13/backupfs

(When running with elevated/root permissions, Chown becomes interesting.)