Changing user home to overlap Windows user home possible? Or a bad idea?
Thomas Schweikle
tschweikle@bfs.de
Tue Apr 11 20:42:56 GMT 2023
Hi!
Am Sa., 08.Apr..2023 um 10:30:47 schrieb Andrey Repin:
> Greetings, Thomas Schweikle!
>
>> Is it possible to have the same home for Windows and cygwin?
>
> See /etc/nsswitch.conf and https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch
>
>> Using "C:\Users\<user>" for Cygwin home setting mount points for users?
>
> I don't get this question. Can you please rephrase?
I've tried to set
C:/Users /home ntfs binary,posix=0,nouser 0 0
Then have "C:/Users/..." and "/home/..." the same.
Did not work this way. Starting some shell got cygwin exhaust "Could not
create "/home/<user>" -- true: the directory was there already, but
cygwin did not notice. Can't tell why. I could switch to /home/<user>,
while cygwin couldn't setting $HOME to /tmp. I had success with
mklink /D C:\cygwin\home C:\Users
and then setting /etc/nsswitch.conf to
db_home: /home/%U
this did the trick: cygwin starting a shell works now as expected.
One last problem: the owner of the files was not the one expected. Could
change him to the expected one using windows tools.
The remaining problems are all git related: git seems to have problems
creating symlinks for clones. Maybe this is just a case enabling
privileges via GPO for users needing them. Looks like some sources fail
to compile if symlinks are not available.
>> Or is this a bad idea? Or is it something which has some drawbacks you've
>> to decide to live with? At the moment the most ugly drawback is duplication
>> of various data needed within "C:\cygwin\home\<user>" and "C:\Users\<user>".
>> Would be nice if I could overlay both.
>
> There's some caveats to using %USERPROFILE% as $HOME, most notable, you have
> to be careful with overly sensitive programs, like SSH or GPG. Other than
> that, the noacl flag on the cygdrive mount will cover you for the time being.
> I.e.:
This was why I tried to mount C:\Users to /home, having two identical
directories making ssh, gpg and others happy.
>>> none /cygdrive cygdrive noacl,binary,nouser,posix=0 0 0
>
> And usertemp idea is also a good one:
>
>>> none /tmp usertemp binary,nouser,posix=0 0 0
This was helpful. It is a little bit problematic switching users, but it
is lots better than having a global /tmp for all users.
--
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0x27AE2304B4974851.asc
Type: application/pgp-keys
Size: 2480 bytes
Desc: OpenPGP public key
URL: <https://cygwin.com/pipermail/cygwin/attachments/20230411/359a3160/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 321 bytes
Desc: OpenPGP digital signature
URL: <https://cygwin.com/pipermail/cygwin/attachments/20230411/359a3160/attachment-0001.sig>
More information about the Cygwin
mailing list