cygwin的`tar`如何将`c:\ Users \ MyUserName`的所有权变为`SYSTEM`?


1

最近发布了关于c:\Users\MyUserNameunix根目录中的解压缩文件失去访问权限的帖子/。我不得不接受这样一个事实:我需要与IT人员谈谈恢复访问权限,所以我不再问这个问题了。但是,我感到困扰的是,这已经发生了,显然是因为所有权c:\Users\MyUserName变为了SYSTEM。我想知道这是怎么可能的。我必须重复上述帖子中的一些背景细节。

我无需解决的问题是分布在整个Windows和cygwin文件树中的应用程序配置文件集合,所有这些文件都打包成一个zip文件:

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从该目录发出以下复合命令:

tar cf - * | ( cd / ; tar xf - )

这样做后,我失去了访问权限c:\Users\MyUserName,似乎原因是所有权变为SYSTEM

$ls -ld /c/Users/MyUserName
drwx------+ 1 SYSTEM SYSTEM 0 2017-11-24 16:56 /c/Users/MyUserName

请注意,所有权不在 SYSTEM上面从zip文件解压缩的源文件树中。同样,我的cygwin安装是作为非管理员(setup-x86_64.exe --no-admin)安装的。这似乎很奇怪的tar.exe能够改变的所有权c:\Users\MyUserNameSYSTEM,要少得多改变它。

我担心tar将来使用这种可能的危险。这是一个奇怪的问题,必须让IT人员恢复所有权几乎是一个肯定的方式来让我的商店禁止cygwin。更现实的是,我会删除执行权限tar.exe,但对我来说,这是一个巨大的障碍。

在另一台机器上,我尝试使用测试文件树(包括c:\Users\MyUserName)复制问题,但无法复制问题。

什么可以解释所有权的变化,以及如何tar在避免危害的同时仍然使用?

请注意,由于批准软件安装的艰难和脆弱的过程,我使用的是2015版的Cygwin。我在过去在该帖子顶部的开头句中链接的网站上记录了我对此问题的疑难解答。


为什么你只在24小时后转发你的问题?
Ramhound

2
Windows中的用户配置文件目录默认由System拥有,并且不会导致任何用户失去访问权限。
kreemoweet

@Ramhound:这是一个不同的问题。我在这里引用的页面询问如何恢复权限,而这个问题是关于是否有人可以解释tar如何做到这一点,目的是为了能够在未来使用tar(而不是引起IT民众的愤怒)。
user36800

@kreemoweet:好名字!:)你的评论很有启发性。我说我无法在另一台机器上复制问题。那台机器显示c:\ Users \ MyUserName也归SYSTEM所有,我没有相同的权限问题。这证实了您的评论。但鉴于此,如果不是所有权,您是否可以评论导致许可问题的确切原因?我怀疑所有者对有问题的机器有rwx权限,但是组没有(与工作机器相反)。我会在星期一尝试用chmod修复它。
user36800

虽然我必须说,组权限为rwx似乎很奇怪......毕竟,这是一个人的帐户。同样奇怪的是,在发布问题中的文件列表中,所有者显示为MyUserName,这并未证实c:\ Users \ MyUserName由SYSTEM拥有。然而,这可能只是所有权的cygwin翻译(对吗?)
36800
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.