특정 폴더에 저장된 파일의 소유자 변경

특정 폴더에 저장된 파일의 소유자 변경

저는 각 가족 구성원의 디렉토리가 포함된 NAS를 가지고 있습니다.

내 사용자 이름은 모든 회원 그룹의 회원입니다. 따라서 모든 사용자의 폴더에 액세스할 수 있습니다.

사용자 디렉터리에 파일을 넣을 때 해당 파일이 상위 디렉터리에서 소유권을 가져오기를 원합니다. 또는 특정 권한을 얻으십시오.

내 아내의 디렉토리는 소유권이 zoe:zoe이고 권한이 rwxrwx---인 "zoe_folder"입니다.

touch file.txt아내의 디렉터리(또는 하위 디렉터리)에서 루트로 명령을 실행하면 file.txt의 소유권은 루트:루트이고 권한은 rw-r--r--입니다. zoe:zoe의 소유권(또는 해결 방법으로 rw-rw-rw- 권한)을 원합니다.

물론, 어떤 명령도 실행할 필요는 없습니다 chmod. chownNAS이고 클라이언트 PC는 Windows입니다. 콘솔을 사용하여 NAS에 로그인할 수 없고 매번 권한을 변경할 수 없습니다.

어떤 아이디어가 있나요?

답변1

내 생각에 당신이 찾고 있는 것은 다음과 같습니다.

  1. 사용하다설정해당 디렉토리의 모든 새 파일이 동일하도록 각 사용자의 디렉토리에그룹디렉토리로서;

  2. umask0022처럼 보이도록 시스템을 0002로 설정하세요 .umask 삭제기존 권한은 기본 권한인 0777(디렉터리) 및 0666(파일)과 다릅니다. 새로운 설정을 사용하면 파일에 대한 기본 권한이 0644에서 0664로, 디렉터리에 대한 기본 권한이 0755에서 0775로 변경됩니다. 귀하가 제공한 세부 사항에 대해 제가 이해한 바에 따르면 귀하의 시스템에서 작동할 것입니다.

하나 넣어설정모든 하위 디렉터리에서 find다음 명령을 사용합니다.하지만 홈 디렉터리가 사용자 디렉터리 위에 있는지 확인하세요.ls잘못된 시작 디렉터리를 사용하면 수행된 모든 작업을 되돌리기가 약간 어려워질 수 있으므로 간단히 나열합니다.:

find ./ -type d -mindepth 1 -maxdepth 1 -exec chmod --preserve-root g+s '{}' \;

주어진 옵션은 다음을 수행합니다:

-type d파일 유형 "디렉토리"의 모든 내용을 반환합니다.

-mindepth 1권한이 변경되지 않도록 시작 디렉터리 목록을 방지합니다.

-maxdepth 1자체 하위 디렉터리로 드릴다운하지 않고 첫 번째 수준 하위 디렉터리를 나열합니다.

-exec테스트를 통과한 각 프로젝트에 대해 다음 명령을 실행합니다. 이는 "{}"의 약자입니다.

--preserve-root권한 변경 사항이 실수로 루트 디렉터리(및 전체 파일 시스템)에 적용되는 것을 방지하는 chmod의 보호 기능입니다.

무엇이 영향을 받을지 확실하지 않은 경우 다음과 같은 인수 find없이 명령을 실행하세요.-exec

find ./ -type d -mindepth 1 -maxdepth 1, 이는 인수와 함께 사용하는 명령에 전달될 모든 파일의 목록을 제공합니다 -exec.

중복 가능성

약간의 검색 끝에 이 질문을 찾았습니다. 가능한이미 (부분적으로) 여기에 답변했습니다.

디렉토리의 모든 폴더/파일에 대한 기본 파일 권한을 설정하는 방법은 무엇입니까?

허용되는 답변은 설정 방법에 대한 단계별 튜토리얼을 나타냅니다.기본 권한디렉토리용https://www.linuxquestions.org/questions/linux-desktop-74/applying-default-permissions-for-newly-created-files-within-a-specific-folder-605129/

이러한 경우가 있는지 확인하시기 바랍니다.

관련 정보