Linux에서 Windows로 파일을 전송하면 Windows에서 실행 권한이 상실되고 그 반대의 경우도 마찬가지인 이유는 무엇입니까?
답변1
파일은 Linux와 Windows에서 매우 다르게 처리됩니다. Windows는 Linux 파일 권한의 실행 가능 비트를 모릅니다. 파일이 Linux에서 Windows로 또는 그 반대로 전송되면 이 정보(기타 권한 포함)가 손실됩니다.
Windows의 scp 클라이언트는 복사된 파일에 대한 권한을 "Windows 방식"으로 설정했을 가능성이 높습니다. 클라이언트는 새 파일의 소유자인 특정 사용자로 실행됩니다. 그 반대의 경우도 마찬가지입니다. Linux 측의 scp 클라이언트는 실행 중인 사용자로 새 파일을 생성하며 원래 권한은 손실됩니다.
답변2
가지다분명하지 않다Unix와 Windows 권한 사이에는 일대일 대응이 있습니다.비슷한. Cygwin과 MinGW는 이 비유를 사용하여 Windows 파일 시스템에서 Unix 권한을 에뮬레이트합니다.
WinSCP할 수 있다Windows에 복사할 때 이러한 비유를 사용하도록 작성되었지만 파일을 만들 때 Unix 파일 권한을 모방하도록 조정하는 대신 상속된 폴더 권한에 의존합니다. 여기가 정보를 "잃어버리는" 곳입니다. Unix로 돌아가서 구성 가능합니다.
- 권한(WinSCP)를 사용하면 다음을 설정할 수 있습니다.외딴권한:
- 전송 설정 대화 상자(WinSCP)
추가 자료:
답변3
그러나 실제로는 그렇지 않습니다. 여러번 시도했는데 실행권한이 없어지지 않더군요. 그러나 귀하의 경우에는 chmod 777을 시도해 볼 수 있습니다.
Linux에서 루트 권한으로 위의 내용을 시도한 다음 전송을 시도하십시오.
답변4
Linux에서는 실행 파일을 마우스 오른쪽 버튼으로 클릭하고 권한을 클릭합니다.
확인란을 선택하세요.파일 실행 허용.
그리고 파일을 실행해 보세요.