NTFS 드라이브를 백업했는데 이 백업이 꼭 필요한 것으로 나타났습니다. 그러나 NTFS 드라이브에는 혼란스러운 권한이 있습니다. 각 파일을 수동으로 복구할 필요 없이 정상으로 복원하고 싶습니다.
한 가지 문제는 내 모든 텍스트 파일이 갑자기 실행 권한을 갖게 되었다는 것인데, 이는 잘못된 일이었습니다. 그래서 나는 다음을 시도한다:
sudo chmod -R a-x folder\ with\ restored\ backup/
x
그러나 이는 디렉토리의 권한도 제거하여 읽을 수 없게 만들기 때문에 잘못된 것입니다 .
이 경우 올바른 명령은 무엇입니까?
답변1
모든 폴더의 모든 사람에게 실행 권한을 설정하려면 다음을 수행하십시오.
chmod -R -x+X -- 'folder with restored backup'
-x
모두에 대한 실행 권한 제거는 모두에 대한 실행 권한을
추가 +X
하지만오직디렉토리용.
바라보다Stefan Chazeras의 답변요청대로 진정한 노터치 폴더 솔루션을 찾고 있습니다 find
.
답변2
글쎄요, 저는 Mac OS X, BSD, Linux용 "chmod" 매뉴얼 페이지를 다시 읽고 몇 가지 실험을 했습니다. 기호 패턴에 대해 내가 아는 것은 다음과 같습니다. 복잡해질 수 있지만 이해해 볼 가치가 있습니다.
- 일반적인 형태는자귀[,자귀…] 어디:
- 자귀:= [우고아][+-=][rwxXstugo]
- [우고야](WHO) (여러 개 지정)은 사용자, 그룹, 기타 또는 모두에 대한 권한을 설정하는 것을 의미합니다. 지정하지 않으면 기본값은 "a"이지만우마스크시행 중입니다.
- [+-=](행동) (하나를 지정하십시오)는 다음을 의미합니다.
- +는 이미 유효한 권한에 지정된 권한을 추가하는 것을 의미합니다.
- - 이미 유효한 권한에서 지정된 권한을 삭제함을 나타냅니다.
- =는 지정된 권한으로 권한을 설정하고 다른 모든 권한을 지우는 것을 의미합니다.
- [rwxXstugo](허용하다) (rwxXst의 배수 또는 ugo 중 하나 지정)는 지정된 사용자의 권한을 다음과 같이 설정합니다.
- r——읽다
- w - 쓰다
- x — 실행/검색
- X — 디렉터리 또는 실행 비트가 설정된 경우에만 실행/검색합니다.
- s — suid 또는 sgid
- 티-어려운
- u — 사용자 권한 복사
- g — 그룹 권한 복사
- o — 다른 권한 복사
예를 들어 a+x
파일을 모든 사람이 실행할 수 있도록 만드세요. a+X
파일이 누구든지 실행할 수 있다면 누구나 실행할 수 있습니다.
a+x
모든 사람이 디렉토리를 검색할 수 있게 됩니다. a+X
모든 사람이 검색할 수 있는 디렉토리도 생성됩니다.
BSD와 Linux의 주요 차이점은 BSD가 파일 권한을 기반으로 결정을 내린다는 것입니다.앞으로chmod가 실행됩니다. Linux에서는 +X 절을 실행하기 직전에 결정이 내려집니다.
따라서 BSD의 경우 이 조합은 a-x,a+X
실행/검색 권한을 제거한 다음 모든 사람이 디렉터리를 검색할 수 있게 만들고 파일을 모든 사람이 실행 가능하게 만듭니다.만약에원래는 누구나 할 수 있는 일이었어요.
Linux의 경우 a-x,a+X
실행/검색 권한이 제거되면 모든 사람이 디렉터리를 검색할 수 있게 되고 파일은 누구나 실행할 수 있게 됩니다.
구체적인 예는 다음과 같습니다: BSD 시스템: 디렉토리, 실행 파일 및 실행 불가능 파일:
drwxr-x--- 2 falk staff 68 Jul 19 18:01 fee/
-rwxr-x--- 1 falk staff 0 Jul 19 18:01 fie*
-rw-r----- 1 falk staff 0 Jul 19 18:01 foe
디렉토리와 "fie"는 모두 사용자가 실행/검색할 수 있지만 다른 사용자는 검색할 수 없습니다.
이제 실행합니다 chmod a-x,a+X *
. 첫 번째 절은 모든 사용자의 모든 파일에서 실행/검색 비트를 제거하지만 두 번째 절에서는 "수수료" 및 "fie"에 대해 이를 다시 추가합니다. "fee"는 디렉터리이기 때문에 "fie"는 시작할 수 있는 실행 가능한 비트가 하나 이상 있기 때문입니다.
drwxr-x--x 2 falk staff 68 Jul 19 18:01 fee/
-rwxr-x--x 1 falk staff 0 Jul 19 18:01 fie*
-rw-r----- 1 falk staff 0 Jul 19 18:01 foe
내가 그것을 실행했을 때 나는 같은 결과를 얻었다 chmod -x+X
.
결론: Jak Gibb의 솔루션은 Linux에서 작동하지만 BSD의 경우 두 단계를 거쳐야 합니다.
SVr4나 다른 Unix 변종에서는 이것을 테스트하지 않았습니다.
답변3
한 가지 방법은 다음과 같습니다.
find backup -type f -exec chmod 0644 {} +