상용 라이브 파일 동기화 응용 프로그램 인 Synk Pro를 사용하여 두 개의 Mac (Lion 및 Mountain Lion 실행)간에 홈 폴더 내의 일부 폴더를 동기화합니다. 두 컴퓨터에서 같은 계정 이름을 가지고 있습니다.
동기화 한 후 두 컴퓨터의 일부 파일은 읽기 전용이며, 나도 소유하지 않지만 macports 계정 에서 소유하고 있습니다. 이유는 무엇입니까?
파일을 수정할 수 있도록 정보 얻기를 사용하여 ‘모든 사용자’에 대해 읽기 / 쓰기 할 수있는 일부 파일의 권한을 변경했으며 권한 재설정 을 사용하여 권한을 원래 로 다시 설정했지만 권한은 변경하지 않았습니다. 하위 폴더 / 파일의 수가 많고 파일 트리가 크므로이 작업을 수동으로 수행하는 것은 사실상 불가능합니다. 디스크 유틸리티는 사용자 데이터에 아무런 영향을 미치지 않습니다.
이 문제를 어떻게 해결할 수 있습니까?
–
추가 된 정보 :
제안한대로 명령 id -u
과 id -u macports
두 컴퓨터에서 모두 실행했습니다 . 결과적으로 MacBook Pro, 내 계정에는 uid 501이 있고 macports 에는 uid 502가 있으며 iMac에서는 다른 방법입니다.
답변
읽기 전용으로 표시되는 파일은 현재 소유자가 아니기 때문일 수 있습니다.
동기화 된 파일이 소스 시스템의 숫자 owner-id를 유지 하고이 특정 경우 숫자 uid 가 대상 시스템 의 계정 macports (양방향)에서 일치하기 때문에 macports 가 소유자가되었습니다.
각 컴퓨터의 계정에 다른 컴퓨터의 macports 계정 과 동일한 숫자 uid가 있는지 확인하려면 두 컴퓨터의 계정에있는 터미널 id -u
과 id -u macports
터미널에 명령을 입력하십시오 .
문제의 원인 해결
Synk Pro를 사용하여 동기화가 완료되었다는 정보가 제출되면 Synk Pro 웹 사이트 와 앱을 살펴 보았고 ‘고급’설정에서 ‘ 소유자 : ‘옵션이 기본적으로 ‘ 가능하면 복사하십시오.
Synk Pro가 파일의 숫자 uid를 전송하는 것처럼 보이고이 uid를 대상 컴퓨터의 다른 uid / 계정에 매핑하는 옵션이 없으므로 동기화 된 파일을 소유하는 방법은 “소유 :”설정을 다음과 같이 변경하는 것입니다. ” 무시 “.
파일 수정
이미 동기화 된 파일의 권한 문제를 해결하려면 파일 소유자 만 자신의 계정으로 변경하면됩니다. (이 경우) 동기화 된 모든 폴더가 홈 폴더 / Users / youraccount 내에 있으므로 관리자 계정으로 로그인 할 때 터미널에서 다음 명령을 사용하여이 작업을 수행 할 수 있습니다 (sudo 암호를 sudo로 지정해야합니다). 관리자 계정) :
sudo chown -R youraccount /Users/youraccount
(또한으로 알려진 실제 계정 이름을 사용하여 짧은 사용자 이름 대신에 자신의 계정을) youraccount . 계정 이름은 / Users 폴더에있는 계정의 홈 폴더 이름과 동일합니다.
이렇게하면 / Users / youraccount 폴더 내의 모든 파일과 폴더가 계정 에서 소유하도록 변경됩니다 (-R은 재귀 용). 그러면 모든 파일에 대한 쓰기 액세스 권한이 제공됩니다.
이전에 일부 파일에서 파일을 수정할 수 있도록 ‘모든 사람’에게 쓰기 권한을 부여 했으므로 해당 권한을 제거 할 수 있습니다. 이 명령은
sudo chmod -R u+w,go-w /Users/youraccount
파일 소유자가 누구에게도 파일에 대한 쓰기 권한을 갖지 않도록합니다.
입력 및 이러한 명령에 대한 자세한 정보를 원하시면.man chown
man chmod
폴더의 권한을 수정하기 위해 Finder를 사용하지 않는 것에 대한 조언
( 나중에 아래를 업데이트 할 것입니다 )
참고 : 정보 입수 창의 공유 및 권한 섹션 맨 아래에있는 컨트롤을 사용하여 Finder를 사용하여 폴더 트리에있는 모든 파일 및 폴더의 소유권 및 권한을 변경할 수 있습니다 . 의문. 하나의 문제를 이와 함께 계정의 홈 폴더, 그리고 등과 도서관, 문서, 공공 등의 내부 표준 하위 폴더, 다른 것들 사이에서 삭제되는 것을 방지 (ACL을 사용하여) 특별한 권한을 가지고, 당신은 것입니다 ‘돈 t는 이러한 특수 권한을 제거하거나 다른 폴더에도 파일을 전파하려는, 그래서 당신은해야 하지 당신은 당신이 일을 아주 잘 알고 않는 한이를 사용합니다.
답변
터미널 명령을 사용하지 않으려는 경우이를 수행 할 수있는 GUI가있는 끌어서 놓기 프리웨어 응용 프로그램이 있습니다. BatChmod 라고 합니다 .
그것을 사용하거나 다른 방법을 사용할 때 매우 조심하십시오. 한 번에 전체 디렉토리 트리 파일의 권한을 변경하면 의도하지 않은 결과가 발생할 수 있습니다.
답변
Linux에서와 같이 쉘 (터미널) 에서이 작업을 쉽게 수행 할 수 있습니다. chmod
사용하는 경우 chmod
, 당신은 세 글자가 u
, g
, o
있는 당신이 권한을 부여하려는 인스턴스를 정의를 (사용자, 그룹, 기타). 그리고 세 글자는 r
, w
, x
허가의 종류를 정의하는 (읽기, 쓰기, 실행).
모든 읽기 및 실행 권한을 부여하려면을 사용하십시오
chmod ugo +rx target
. 마찬가지로, -
대신에 사용 권한을 제거 할 수 있습니다+