내 홈 디렉터리의 폴더를 다른 사용자와 공유할 수 있나요?

내 홈 디렉터리의 폴더를 다른 사용자와 공유할 수 있나요?

내 홈 디렉터리의 폴더를 다른 사용자와 공유할 수 있나요?

내 시스템에 두 명의 사용자가 있고 agent.external daemon서버는 agent파일로 연결하여 파일을 다음과 동기화합니다.~agent/incoming

daemon파일에 액세스 하고 싶지만 어떤 파일 에도 액세스 ~agent/incoming하고 싶지 않습니다 .agentdaemon

라는 그룹을 만들고 automaton여기에 두 명의 사용자를 추가했습니다. 그런 다음 ~agent/incoming폴더를 다음과 같이 chmod하고 drwxrws---(고정 비트 참고) 폴더를 agent:automaton.

프로세스가 실행되어 새 파일을 폴더로 전송 하고 권한을 incoming설정 하지만 파일을 보거나 복사할 수는 없습니다.agent:automaton-rw-rw----daemon

stat: cannot stat (path here) : Permission denied

내가 뭘 잘못했나요?

답변1

귀하의 질문에 데몬에 전달할 경로를 말하지 않았거나 지정하지 않았기 때문에 정확하게 대답하기가 어렵습니다 ~agent. 디렉터리에서 데몬을 시작 ~agent/incoming하고 상대 경로를 전달하면 데몬이 automaton그룹 에 있기 때문입니다. ~agent/incoming디렉터리에 있는 파일을 읽고, 쓰고, 삭제할 수 있습니다 .

내가 원하는 것은 다음과 같습니다.

  1. ~agent디렉토리는 데몬에 의해 실행 가능하지 않습니다.
  2. 데몬에 전달된 경로는 ~agent구성 요소로 포함됩니다(즉, 절대 경로입니다).

프로세스가 에 액세스할 때 통과하는 모든 디렉터리( , 및 /home/agent/incoming/foo)에 대한 실행 권한이 있어야 합니다 (일부가 심볼릭 링크인 경우 더 많은 권한이 필요합니다) .//home/home/agent/home/agent/incoming

데몬이 foo현재 디렉터리에 액세스하는 경우 ~agent/incoming현재 디렉터리( ) 자체에 대한 실행 권한만 필요합니다. ~agent/incoming해당 디렉터리를 현재 디렉터리로 만들어야 합니다. chdir이를 위해서는 대상 디렉터리에 액세스할 수 있는 프로세스가 필요합니다. (예를 들어) 사용자로 실행하는 경우 먼저 원하는 디렉터리로 변경한 agent다음 su daemon -c daemon-command.

답변2

"~agent/incoming"에 대한 권한이 있어도 "~agent/" 폴더의 데몬에는 권한이 없으므로 권한 계층 구조입니다. 다음을 참조하세요.계층적 디렉터리 권한에 대한 질문

관련 정보