Interesting post. However, every single statement (except one) in your post is false. (I double-checked.)
Most of the items you mention, I already checked, many, many times over, in my marathon 20-hour networking session some months ago. Do you really think I would have missed any of those items, much less all of them?
But I’ve got waaaaaaaay too much time on my hands right now, so I’ll reply to your points one by one.
No. No X or Y, just a simple question (“How can I do X?”) and a simple answer (“You can’t.”).
No, no, and no. That’s wrong all three ways.
Firstly, that’s not what “XY” (as you’ve defined it) even means! It refers to a user’s quest for a generic solution to a high-abstraction-level problem (which may not be possible) in conflict with a forum moderators desire to narrow the issue down to a single, very-specific, low-abstraction-level issue which actually can be solved (but which totally ignores the bigger picture). As soon as one stops thinking in terms of the “XY” paradigm, the better; reality is messy, yes; but any attempt to clean it up just makes the problem worse, not better.
Secondly, I’ve already made it abundantly clear that I’m not addicted to any particular way of doing things, and indeed, after spending a few days trying to do things a certain way, I gave it up as “not working” and did things a different way (which does work).
Thirdly, I already tried all of your recommendations months ago, and they all failed.
Sorry, but the following two things are not equivalent in all cases:
- What the documentation says should happen.
- What actually happens.
Computer science is replete with violations. I’ve seen those two things diverge so spectacularly you’d find it hard to believe. (Eg, a C program which was supposed to print the number of partitions of an integer, but instead printed a chapter of JRR Tolkien’s “The Lord Of The Rings”. The textbooks say that can’t happen. But it did. Computers care not about human conceits and only obey their instruction sets.)
No, and no.
Firstly, you’re clearly enjoying this (for some reason I can’t fathom), so no, you’re not sorry. 
Secondly, I never says “Linux is Windows”. This is the second or third time you’ve engaged in that particular misquote. I have no idea where you’re getting that.
In this case, no, it does not. For whatever reason, Samba does not treat “/home” and “/random_dir” equivalently. You can change permissions until pigs fly, trying every possible value from octal 000 through octal 777 and it won’t change that fact. I don’t know if that’s supposed to be true or not; but it is.
No, no, no, and no.
Firstly, no, I do not “not understand permisisons”.
Secondly, no, I do not “not understand ACLs”.
Thirdly, no, ACLs are not permissions (or anything remotely close). NTFS and EXT4 have very different ways of trying to do security, and they don’t map well to each other. (Which is why I’m in the process of slowly converting all of my storage partitions from MBR+NTFS to GPT+EXT4.)
Fourthly, I went way beyond the defaults, so “defaults” have nothing to do with it.
You can setup samba to share an external NTFS partition mounted to “/random_dir”, yes. And you can change ownerships and permissions until pigs fly, yes. But external computers won’t be able to read it, no matter what ownerships or permissions you set the mountpoint to. (They’ll hang when trying to process username and password.) I verified that many times over.
But when you move “random_dir” to inside “/home/my_user_name”, suddenly everything works. You can purposely set wrong permissions, and it still works. You can purposely set wrong owner, and yet it still works. (To see why, do “ls -al” on the mountpoints before and after mounting; Samba changes the permissions, so whatever you set matters little.)
No, NTFS is treated as “ntfs”. It has some similarities to “vfat”, yes; but fuse won’t mount it correctly if you get the line wrong in “/etc/fstab”.
Exactly! This is the one true thing you say in this entire post. ACLs are not permissions and permissions are not ACLs. They’re so unrelated that Linux doesn’t even try to map them to each other. Instead, permissions are established in other ways altogether. And mostly not by what the permssions are set to on either mountpoint (the send mountpoint or the receive mountpoint), but rather, by what’s in “/etc/fstab” and “/etc/samba/smb.conf”, and by what’s in the Samba source code.
Mostly not. “/etc/fstab” and “/etc/samba/smb.conf” appear to override that.
Unfortunately, no. To start with, “/etc/profile” is never sourced on my system. And even when it is manually sourced (“source /etc/profile”), it applies only to a shell in a console, and whatever it does is reset if the console is closed and re-opened.
The same applies with “umask”: it appears to apply to a shell in a console, and when the console is closed and re-opened, it reverts.
So I don’t know where Manjaro Linux stores its infuriating “022” default umask, but it’s not “/etc/profile”, wherever it is.
I wish I could know where that’s stored; I’d like to change it to “002”. (I changed it to “002” in “/etc/profile” but that does nothing; it’s still 022. I even put it in file “/usr/bin/startup.sh” with permissions set to 777, and set that to run on system startup, but it does nothing.)
I’m not so sure about that! Have you tried? I think you’ll find that that’s controlled by “/etc/fstab” and “/etc/samba/smb.conf”, not by send-mountpoint or receive-mountpoint directory permisisons.
However, that’s not the source of the problem anyway, because both mountpoint directories were set to “aragorn:aragorn” (not root:root), and 775 (not 755 or 555 or whatever).
True, but irrelevant, as anyone but a complete Linux newb (which I’m not) would immediately do “sudo chown myname:myname /mountdir” and “sudo chmod 775 /mountdir” (which, of course, I did; not that this helped).
That paragraph is hard to parse, but the gist appears to be a basic explanation of what Linux permissions are. But I’ve already know that for decades, so it’s not new, relevant, or helpful information.
Like I keep repeating (in this and many previous posts in this thread), both the send and receive mountpoints were all set to "aragorn:aragorn: and 775, so that’s not the issue, even if Samba pays attention to those (which it doesn’t appear to do anyway).
Anyone on that computer could write to that directory, yes.
With Samba, alas, that’s not guaranteed at all.
If you have an NTFS partition mounted to “/loc” on computer Agamemnon, and you share it with Samba server, and Samba client on computer Alexander tries to mount that share to any directory (let’s say, “/home/fred/net/agamemnon”) – or, just open it in Dolphin – either way I think you’re going to have major problems. I think your Dolphin will freeze up and not connect, and your cifs mounter on Alexander will likewise be unable to mount the network share. Try it and see. If it works on your computer, yay. It certainly won’t work on mine. No, not even after trying all the things you recommend. I already tried all of those months ago, and none of them are even remotely close to being the problem.
Again, the central truth is that Samba is a home sharer, not a file server. No amount of contradicting that fact will change it. Share to-and-from subdirs of “/home” and all will be well. Don’t, and it will fail (at least, with NTFS file systems). Mountpoint ownerships and permissions (both for the NTFS-file-system mountpoint on the server computer and for the network-share mountpoint on the client computer) appear to have nothing to do with it. That is the “solution”. You can “unsolution” it all you like, but that won’t change the fact that you’re wrong. The physical reality is that it does not work that way, at least not on my computers. I wish it did work that way, but it doesn’t.