MSYS2 권한


1

Windows 10에서는 MSYS2 나는 내 fstab 에:

none / cygdrive binary,posix=0,acl,user 0 0

다음과 같이 실행 권한을 설정할 수 없습니다. chmod, 불구하고 acl ~에서 설정하다 fstab:

# echo > foo
# ls -l foo                              
-rw-r--r-- 1 ant None 1 Jun  1 19:18 foo 
# chmod +x foo
# ls -l foo                              
-rw-r--r-- 1 ant None 1 Jun  1 19:18 foo

Cygwin에서 같은 설정 fstab, 내가받는 동일한 파일 :

# ls -l foo                                         
-rwxrwx---+ 1 ant None 1 Jun  1 19:18 foo        

이것이 예상되는 행동입니다.


cygwin 그것이 자신의 것이다. fstab. 출력이 동일해야한다고 생각하는 이유는 무엇입니까?
DavidPostill

@DavidPostill : 나는 그것이 동일하다는 것을 분명히했습니다. 어쨌든, Cygwin과는 달리, MSYS2는 noacl 기본적으로, 그 이유는 내가 원래 처음에만 강조했다. fstab.
antonio

Cygwin은 SID를 올바르게 매핑하는 방법을 알고 있습니다 ( POSIX 계정, 권한 및 보안 ). MSYS2는 동일한 기능을합니까?
DavidPostill

이 열린 티켓보기 # 60 chmod가 무시되었습니다. : "상태 : 열림"
DavidPostill

그리고 이것 # 158 chmod 및 fstab 관련 문제 : "상태 : Wont-Fix"
DavidPostill

답변:


1

좋아, 나는 이것에 관해 꽤 많은 시간을 낭비했다. 그래서 나는 나의 발견을 포착하자.

fstab을 변경하면 도움이되지만 마운트 지점을 통과하는 경로를 통해 파일을 chmod해야합니다. 다른 말로:

mkdir /c/test # Outside MSYS2 root (/).
cd /c/test
touch foo
chmod +x foo # works but presumably won't if inside MSYS root.
chmod +x /c/test/foo # works and presumably will if inside MSYS root.
chmod +x c:\test\foo # does not work -- go figure.

당신이 나의 겸허 한 의견을 묻는다면, 꽤 뇌사 상태. 그리고 해결책은 매우 간단합니다 : 모든 기본 MSYS2 마운트에서 noacl에서 acl로 변경하십시오 (MSYS2 루트 마운트가 자동으로 작성되며 대체 마운트 옵션으로 가능한 fstab 수정에서 acl로 변경할 수있는 방법이 없습니다).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.