
사용자가 파일을 복사할 수 없지만(읽기 권한 없음) 해당 사용자로 실행되는 응용 프로그램이 해당 파일을 읽을 수 있도록 파일에 대한 권한을 설정할 수 있습니까?
제 생각엔 그렇지 않다고 생각하지만 100% 확신할 수는 없습니다. 애플리케이션이 이를 읽을 수 있으려면 실행 중인 사용자가 읽기 권한을 가지고 있어야 합니까?
어쩌면 Windows 정책으로 그런 것을 설정할 수 있을까요?
답변1
응용 프로그램은 사용자 권한으로 실행되므로 사용자가 파일을 읽을 수 없으면 파일을 읽을 수 없습니다.
다른 권한을 가질 수 있는 애플리케이션을 실행하는 사용자를 대신하여 다른 사용자를 가장하는 프로세스를 설정하려고 할 수 있습니다. 이는 상당한 작업이 될 것이며 이를 구현하는 방법에 따라 사용자는 가장에 사용된 자격 증명을 조회하기 때문에 사용자에게 해당 권한을 부여하게 됩니다.
또 다른 접근 방식은 사용자가 파일이 포함된 디렉터리의 내용을 나열할 수 없는지 확인하는 것입니다. 사용자는 여전히 파일에 대한 읽기 권한을 갖고 있으므로 파일을 여는 것이 가능합니다. 이 접근법은 단지모호접근을 막지 마세요!
답변2
사용자의 기술 수준에 따라 다릅니다. 그/그녀가 교육을 잘 받았다면 대답은 '아니요'입니다. 그러나 프로그램에서 액세스할 수 있는 동안 사용자가 실제 파일 내용을 보는 것을 "방지"하는 다양한 모호한 트릭을 사용할 수 있습니다. 난독화의 가장 쉬운 방법(IMHO)은 다음을 사용하는 것입니다.대체 데이터 스트림(ADS) %AppData% 어딘가에
당신이 달성하려는 것이 무엇인지 명확히 할 수 있습니까? 우리가 귀하에게 제안할 수 있는 더 나은 솔루션이 있을 수 있습니다.
답변3
사용자가 관리 권한 없이 애플리케이션을 실행하는 경우 애플리케이션은 파일에 액세스할 수 없습니다.
사용자가 관리자로 응용 프로그램을 실행하면 프로그램은 파일에 액세스할 수 있지만 사용자는 액세스할 수 없습니다. 관리자로 실행되는 응용 프로그램에는 훨씬 더 많은 권한이 있으므로 실용적이지 않을 수 있습니다.
더 나은 접근 방식은 응용 프로그램이 수행하는 작업과 응용 프로그램이 파일에 액세스하는 방법을 얼마나 제어할 수 있는지에 따라 파일을 숨기거나 다르게 저장하는 것입니다.
예를 들어 네트워크에 있는 데이터베이스 내부에 데이터 자체를 저장하거나 서버가 클라이언트에 파일을 전송하고 클라이언트가 이를 표시하고 완료 시 복사본을 제거하는 서버-클라이언트 통신을 가질 수 있습니다. 본질적으로 이는 웹서버만큼 간단할 수 있습니다. 사용자가 파일을 열면 파일을 저장할 수 있고 액세스할 수 있다는 점을 명심하세요. 웹페이지에 포함된 파일을 표시하면 이를 방지할 수 있습니다.