![서로 다른 사용자 간 파일 전송: 최선의 전략은 무엇일까요?](https://linux55.com/image/171296/%EC%84%9C%EB%A1%9C%20%EB%8B%A4%EB%A5%B8%20%EC%82%AC%EC%9A%A9%EC%9E%90%20%EA%B0%84%20%ED%8C%8C%EC%9D%BC%20%EC%A0%84%EC%86%A1%3A%20%EC%B5%9C%EC%84%A0%EC%9D%98%20%EC%A0%84%EB%9E%B5%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C%EC%9A%94%3F.png)
몇 가지 작업을 수행하는 프로그램이 있습니다. 사용자 A로 실행 중입니다.
그 중 작은 부분은 사용자 B의 홈 디렉터리에 있는 디렉터리로 파일을 전송하는 것입니다. 전송은 쉘 명령에 대한 시스템 호출을 통하지 않고 작성된 언어의 API 호출을 통해 수행됩니다.
이제 이 전송을 수행하는 여러 가지 방법이 보입니다.
- 프로그램을 루트로 실행하십시오.
- A와 B를 같은 그룹에 넣고 디렉터리 소유권을 조정합니다.
- sudo 프로그램
- 시스템 호출 및 sudo를 통해 이동
- A에 로컬로 파일을 넣고 외부로 전송(문제는 아웃소싱)
- ACL B 디렉토리
- ...
루트를 통해 프로그램을 실행하는 것이 좋지 않기 때문에 이 요구 사항이 일반적이라고 생각합니다. 가장 일반적인 치료법은 무엇입니까?
편집하다
A의 프로그램이 파일을 생성합니다. B는 그것을 읽고 삭제할 수 있어야 합니다.
답변1
사용자 A의 다른 파일을 보고 싶지 않은 것이 중요한 경우 두 사용자 모두 읽기 및 쓰기 권한을 갖는 별도의 공용 디렉터리를 만들고 여기에 파일을 저장합니다.
또는 inotifywatch를 사용하여 파일을 생성한 후 즉시 파일을 복사/이동하고 B로 chown할 수 있습니다. 여기에 예가 있습니다. cron에 넣으세요.