데이터의 "기록"을 생성하는 응용 프로그램이 있습니다. 각 레코드에는 "첨부 파일"이 포함된 디렉터리가 있습니다. 사용자는 애플리케이션 웹 인터페이스를 통해 기록을 생성하고 내 애플리케이션은 첨부 파일 디렉터리를 생성하며 사용자는 첨부 파일 디렉터리에 많은 파일을 추가할 수 있습니다.
사용자는 NFS를 통해 모든 첨부 디렉토리를 마운트하므로 자신의 컴퓨터에서 파일을 추가하는 것이 쉽고 편리합니다.
동적 권한 제어와 같은 것이 필요합니다.Linux가 첨부 디렉토리의 파일에 액세스하려고 할 때마다 Linux가 내 응용 프로그램에 다음과 같이 묻기를 원합니다. 사용자 xx가 yy 파일을 읽고 쓰려고 합니까? 허용하다?
레코드가 "활성" 상태이고 첨부 파일을 추가할 수 있는 시기 또는 레코드가 잠긴 시기는 애플리케이션에서만 알 수 있습니다.
이제 파일에 대해 chmod()를 호출하고 있지만 첨부 파일에 있는 파일 트리가 크기 때문에 속도가 매우 느립니다. 그리고 그것은 원자적이지도 않습니다.
내가 상상할 수 있는 한 가지 해결 방법은 NFS 대신 sshfs를 사용하고 openssh의 sftp 서버를 패치하여 각 파일에 대한 권한을 요청하는 것입니다(일부 소켓 API를 통해...). 가능합니까?
편집하다- 가능할 것 같습니다:https://gitlab.com/netajo/sftp-permission-api/