Mounting git commits as folders with NFS (2023)
11–20 of 61 posts
Re: Mounting git commits as folders with NFS (2023)
#12Nice idea. But when taking commits as folders one should delete, add and remame files in the folder and that is not possible in a commit because it creates another commit. So I think this is nit the right mental model
Re: Mounting git commits as folders with NFS (2023)
#13FTA: “problem 1: webdav or NFS? The two filesystems I could that were natively supported by Mac OS were WebDav and NFS. I couldn’t tell which would be easier to implement so I just tried both” I might find out that it is incomplete, buggy or a nuisance to use, but FSKit ( https://developer.apple.com/documentation/FSKit ) would be my first choice.
macOS actually has an excellent SMB client, so the options actually are: WebDAV, NFS (3.0 and 4.0), SMB, FSKit.
Re: Mounting git commits as folders with NFS (2023)
#14Re: Mounting git commits as folders with NFS (2023)
#15Making it into an NFSv4 server should also be pretty easy.
Re: Mounting git commits as folders with NFS (2023)
#16FUSE-bindings for "filesystems in bash", eg:
https://github.com/zevweiss/booze/blob/master/cowsayfs.sh#L5...
cs_read()
{
if ! [[ "$1" =~ ^/($cowpat)/[^/]+$ ]]; then
booze_err=-$EINVAL
return 1
elif [ "$3" != 0 ]; then
return 0
fi
local msg="${1#/*/}"
local cow="${1#/}"
cow="${cow%%/*}"
cowsay -f "$cow" "$msg"
}
...I think that WebDAV is "the way" compared to FUSE, but I'm always intrigued by the idea of virtual filesystems as an implementation face.Re: Mounting git commits as folders with NFS (2023)
#17NFS.. stop right there
The fact that NFSv4 has no concept of true "Authentication" and just blindly accepts whatever the client sends is the craziest network application design ever:
Client: Hi, NFS server, I'm Bob! UID=1000
Server: Hi Bob! Here's access to all of Bob's files! I trust you and don't need a password or anything!
Client: Thanks!!!
Some of you may nitpick and say, "well ackkkuallyy, NFS supports authentication through GSSAPI/krb."And to you, I say, that's crazy! Setting up Kerberos just to authenticate users for access to my Linux ISOs is a crazy large requirement! Sure, it might make sense for an enterprise that already uses Kerberos + LDAP + NFS + certificate management, but for everyone else, that's a lot of infrastructure to set up and maintain for what should be BASIC functionality.
EDIT
ALSO!!! Why the fork does NFS run as a kernel module (nfsd)!? Shouldn't that be an external daemon!? Who the heck thought any of this was a good idea!?
Dev1: Here's a great idea! Let's run an insecure network server in Kernel space!
Dev2: OMG! You're so smart! Let's also exclude any encryption!!!
//end rant of an old, bitter Linux sysadminRe: Mounting git commits as folders with NFS (2023)
#18Earlier quoted context omitted.
macOS actually has an excellent SMB client, so the options actually are: WebDAV, NFS (3.0 and 4.0), SMB, FSKit.
By excellent do you mean bearable? macOS’s SMB stack is certainly not excellent.
Re: Mounting git commits as folders with NFS (2023)
#19NFS.. stop right there
You're being downvoted, but, seriously... NFS is a joke for anything outside of an enterprise setup with a bunch of ancillary support services in place. The fact that NFSv4 has no concept of true "Authentication" and just blindly accepts whatever the client sends is the craziest network application design ever: Client: Hi, NFS server, I'm Bob! UID=1000 Server: Hi Bob! Here's access to all of Bob's files! I trust you…
Re: Mounting git commits as folders with NFS (2023)
#20Earlier quoted context omitted.
You're being downvoted, but, seriously... NFS is a joke for anything outside of an enterprise setup with a bunch of ancillary support services in place. The fact that NFSv4 has no concept of true "Authentication" and just blindly accepts whatever the client sends is the craziest network application design ever: Client: Hi, NFS server, I'm Bob! UID=1000 Server: Hi Bob! Here's access to all of Bob's files! I trust you…
Does this mean that I can connect to an NFS server saying my UID=0 and get local root?
However, in the /etc/exports file, you can (but shouldn't) add the share option "no_root_squash" which disables that.
So, root access is slightly protected. But all other users are wide open.