У меня была целая куча файлов конфигурации, хранящихся в zip-файле, охватывающих как дерево пользовательских файлов Windows 7, так и дерево пользовательских файлов cygwin.
Например
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 c
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 c/Users
drwx------+ 1 MyUserName Domain Users 0 Nov 24 16:12 c/Users/MyUserName
drwx------+ 1 MyUserName Domain Users 0 Nov 24 16:34 c/Users/MyUserName/Documents
-rwxrwx--- 1 MyUserName Domain Users 32464 Jul 28 17:41 c/Users/MyUserName/Documents/_viminfo
-rwxrwx--- 1 MyUserName Domain Users 15092 Jul 27 13:42 c/Users/MyUserName/Documents/_vimrc
drwx------+ 1 MyUserName Domain Users 0 Nov 24 16:11 c/Users/MyUserName/Documents/vimfiles
-rwxrwx--- 1 MyUserName Domain Users 315 Oct 15 2016 c/Users/MyUserName/Documents/vimfiles/.netrwhist
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 c/Users/MyUserName/Documents/vimfiles/after
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 c/Users/MyUserName/Documents/vimfiles/after/ftplugin
-rwxrwxr-x 1 MyUserName Domain Users 39 Feb 9 2016 c/Users/MyUserName/Documents/vimfiles/after/ftplugin/netrw.vim
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 c/Users/MyUserName/Documents/vimfiles/after/syntax
-rwxrwxr-x 1 MyUserName Domain Users 28 Jun 19 2013 c/Users/MyUserName/Documents/vimfiles/after/syntax/tex.vim
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 c/Users/MyUserName/Documents/vimfiles/colors
-rwxrwx--- 1 MyUserName Domain Users 5006 May 27 2016 c/Users/MyUserName/Documents/vimfiles/colors/mine.vim
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 c/Users/MyUserName/Documents/vimfiles/plugin
-rwxrwxr-x 1 MyUserName Domain Users 26547 Sep 17 2014 c/Users/MyUserName/Documents/vimfiles/plugin/bufexplorer.vim
-rw------- 1 MyUserName Domain Users 3024 Jan 26 2015 c/Users/MyUserName/Documents/vimfiles/plugin/ChristiansHi20150126.vim
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 c/Users/MyUserName/Documents/vimfiles/spell
-rwxrwxr-x 1 MyUserName Domain Users 963 Sep 8 2014 c/Users/MyUserName/Documents/vimfiles/spell/en.latin1.add
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 c/Users/MyUserName/Documents/vimfiles/syntax
-rw-r--r-- 1 MyUserName Domain Users 8870 Feb 13 2015 c/Users/MyUserName/Documents/vimfiles/syntax/asy.vim
-rwxrwxr-x 1 MyUserName Domain Users 2749 Jul 30 2013 c/Users/MyUserName/Documents/vimfiles/syntax/texmf.vim
-rwxrwxr-x 1 MyUserName Domain Users 33322 Jun 8 2011 c/Users/MyUserName/Documents/vimfiles/syntax/vbnet.vim
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 etc
-rwxrwx--- 1 MyUserName Domain Users 518 Dec 4 2014 etc/fstab
-rw-r--r-- 1 MyUserName Domain Users 192 Aug 19 2014 etc/fstab.cygwin64default
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 etc/fstab.d
-rwxrwx--- 1 MyUserName Domain Users 0 Aug 4 2011 etc/fstab.d/SomeUserName
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 home
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 home/MyUserName
-rwx------ 1 MyUserName Domain Users 1852 Aug 21 14:21 home/MyUserName/.alias.bash
-rwx------ 1 MyUserName Domain Users 1503 Aug 19 2014 home/MyUserName/.alias.csh
lrwxrwxrwx 1 MyUserName Domain Users 7 Nov 24 15:21 home/MyUserName/.bash_login -> .bashrc
-rwxr-xr-x 1 MyUserName Domain Users 1150 Aug 19 2014 home/MyUserName/.bash_profile
-rwxr-xr-x 1 MyUserName Domain Users 2499 Jun 15 2015 home/MyUserName/.bashrc
-rwx------ 1 MyUserName Domain Users 1904 Aug 19 2014 home/MyUserName/.cshrc
-rwxr-xr-x 1 MyUserName Domain Users 41 Aug 19 2014 home/MyUserName/.inputrc
-rw-r--r-- 1 MyUserName Domain Users 101 Aug 19 2014 home/MyUserName/.minttyrc
-rwx------ 1 MyUserName Domain Users 102 Jan 27 2015 home/MyUserName/.octaverc
-rwxr-xr-x 1 MyUserName Domain Users 65 Dec 2 2014 home/MyUserName/.pdfjam.conf
-rwxr-xr-x 1 MyUserName Domain Users 792 Aug 19 2014 home/MyUserName/.profile
-rw------- 1 MyUserName Domain Users 51 Jun 14 2015 home/MyUserName/.Renviron
-rw------- 1 MyUserName Domain Users 706 Apr 20 2015 home/MyUserName/.Rprofile
-rwx------ 1 MyUserName Domain Users 58 Jun 16 2015 home/MyUserName/.startxwinrc
-rwx------ 1 MyUserName Domain Users 9521 Aug 19 2014 home/MyUserName/.twmrc
-rwx------ 1 MyUserName Domain Users 9306 Aug 19 2014 home/MyUserName/.twmrc.alt
-rwx------ 1 MyUserName Domain Users 1803 May 1 2015 home/MyUserName/.Xresources
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 home/MyUserName/bin
-rwxrwx--- 1 MyUserName Domain Users 138 May 14 2012 home/MyUserName/bin/a2pdf.bash
-rwxrwx--- 1 MyUserName Domain Users 8 Jan 25 2014 home/MyUserName/bin/bc.rc
-rwxrwx--- 1 MyUserName Domain Users 29 Jan 25 2014 home/MyUserName/bin/dosbc
-rw------- 1 MyUserName Domain Users 1557 Nov 8 2013 home/MyUserName/bin/dvi2pdfa
-rwxrwx--- 1 MyUserName Domain Users 349 Aug 2 2013 home/MyUserName/bin/pcvim
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 usr
drwx------+ 1 MyUserName Domain Users 0 Nov 24 15:21 usr/share
drwx------+ 1 MyUserName Domain Users 0 Nov 24 16:11 usr/share/vim
lrwxrwxrwx 1 MyUserName Domain Users 35 Nov 24 15:21 usr/share/vim/vimfiles -> /c/Users/MyUserName/Documents/vimfiles
lrwxrwxrwx 1 MyUserName Domain Users 33 Nov 24 15:21 usr/share/vim/vimrc -> /c/Users/MyUserName/Documents/_vimrc
Я распаковал все в временную папку и скопировал их в нужное место, выдав следующее из временного каталога:
tar cf - * | ( cd / ; tar xf - )
Я думаю, что создал большую проблему. Я подозреваю, что все распакованные каталоги перезаписывают существующие каталоги, и право собственности на каталоги изменилось на SYSTEM, включая c:\Users\MyUserName. Теперь я не могу даже перейти в свою домашнюю папку Windows с помощью Windows Explorer. То есть я не могу начать с c:\ и нажать вниз. Я получил отказ в разрешении по адресу c:\Users\MyUserName, по-видимому, из-за изменения владельца:
$ls -ld /c/Users/MyUserName
drwx------+ 1 SYSTEM SYSTEM 0 2017-11-24 16:56 /c/Users/MyUserName
В отличие от вышеизложенного, при выдаче cygstart MyUserName
из /c/Users
открывается домашний каталог Windows, но он выглядит как домашний каталог первичной учетной записи, не содержащий ничего из того, что, как я знаю, должно быть там. Возможно, это версия для песочницы из дерева файлов c:\users\MyUserName\Appdata\local\VirtualStore
.
Другая возможность состоит в том, что права доступа испорчены тем, как файловые системы монтируются через fstab:
# For a description of the file format, see the Users Guide
# http://cygwin.com/cygwin-ug-net/using.html#mount-table
# This is default anyway:
# none /cygdrive cygdrive binary,posix=0,user 0 0
c: /c ntfs binary,posix=0,user,auto
d: /d ntfs binary,posix=0,user,auto
e: /e ntfs binary,posix=0,user,auto
f: /f ntfs binary,posix=0,user,auto
g: /g ntfs binary,posix=0,user,auto
i: /i ntfs binary,posix=0,user,auto
o: /o ntfs binary,posix=0,user,auto
r: /r ntfs binary,posix=0,user,auto
s: /s ntfs binary,posix=0,user,auto
Я не очень хорошо знаком с тонкостями монтирования файловых систем, поэтому я не уверен, показывает ли что-либо выше. Моя проверка состоит в том, чтобы обойти /c, используя cygdrive, который все еще имеет ту же проблему:
$ls /cygdrive/c/Users/MyUserName/
ls: cannot open directory /cygdrive/c/Users/MyUserName/: Permission denied
Если я пойду к своим ИТ-специалистам с этой странной проблемой разрешений / безопасности, они, вероятно, отрубят все мои приложения, уволят меня и больше никогда не позволят мне возиться с чем-либо, кроме Microsoft Office.
Как не администратор, могу ли я что-нибудь сделать, чтобы восстановить мой обычный доступ к c:\Users\MyUserName?
Я не совсем уверен, что проблема связана с тем, что c:\Users\MyUserName нет, но сейчас это мой единственный подозреваемый. Из-за долгих изнурительных процессов утверждения у меня установлена версия Cygwin 2015 года.