git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: safe.directory and ACLs

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Nov 2, 2022, 21:27 UTC
Message-ID
<Y2LgzmTvElmRTsoe@tapette.crustytoothpaste.net>
In-Reply-To
<CAJyRyRo7oVAfLx8MONO=Y8KhLvL+tJgDTbCUezR1AFa73R5pbw@mail.gmail.com>
On 2022-11-02 at 15:18:25, John Soo wrote:
Show 20 quoted lines
> Hello git!
> 
> We have some build processes that would like access to repos in /home
> directories that are 0700. We had done this already:
> 
> $ setfacl --recursive --modify group:<build users
> group>:r-X,default:group:<build users group>:r-X /home
> 
> Should this ACL be enough to consider the repos "owned" by the build
> users? Should *any* ACL be enough to consider the repos "owned" by the
> build users?
> 
> Currently:
> $ sudo -u <build user> git config --get safe.directory
> $ sudo -u <build user> git -C /home/<non build user>/repo rev-parse HEAD
> fatal: unsafe repository ('/home/<non build user>/repo' is owned by
> someone else)
> To add an exception for this directory, call:
> 
>         git config --global --add safe.directory /home/<non build user>

No, the permissions of a repository, whether standard Unix permissions or ACLs, are not relevant to ownership. The question here is whether the owner of the .git directory (that is, the value of the `st_uid` field when calling lstat(2) on it) is equal to the effective user ID.

When you the path in `ls`, you can see the owner and group of the file specified, and that owner is what matters here.

-- 
brian m. carlson (he/him or they/them)
Toronto, Ontario, CA
Previous: John SooNext: John Soo
Message 2 of 5 in “safe.directory and ACLs”
  1. John SooNov 2, 2022
  2. brian m. carlsonNov 2, 2022
  3. John SooNov 2, 2022
  4. Taylor BlauNov 3, 2022
  5. John SooNov 3, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.