SSH, Cygwin, Windows 7 및 .sh 파일과 관련된 이상한 권한 오류

SSH, Cygwin, Windows 7 및 .sh 파일과 관련된 이상한 권한 오류

저는 Cygwin, ssh를 처음 사용하고 파일 권한을 망쳐 놓고 문제가 있습니다. WORKER1 컴퓨터에서 WORKER2 컴퓨터로 SSH를 시도한 후 WORKER1에서 .sh 파일을 실행하려고 합니다. 아래 출력에서 ​​알 수 있듯이 ls -l은 모든 작업을 수행할 수 있는 권한이 있어야 함을 보여줍니다(이러한 권한이 나쁜 권한이라는 것을 알고 있지만 왜 이 권한 오류가 발생하는지 알아내려고 노력하면서 화가 났습니다) .

root@Worker1 ~
$ ssh WORKER2
Last login: Tue Jan 31 10:51:54 2012 from worker1

root@Worker2 ~
$ cd //WORKER1/Users/Public/pMatlab/MatlabMPI/Examples/MatMPI

root@Worker2 //WORKER1/Users/Public/pMatlab/MatlabMPI/Examples/MatMPI
$ sh Dos_Commands.WORKER2.1.sh
sh: Dos_Commands.WORKER2.1.sh: Permission denied

root@Worker2 //WORKER1/Users/Public/pMatlab/MatlabMPI/Examples/MatMPI
$ ls -l
total 28
-rwxrwxrwx+ 1 Administrators None   2 Jan 31 11:01 Dos_Commands.WORKER1.0
-rwxrwxrwx+ 1 Administrators None 127 Jan 31 11:01 Dos_Commands.WORKER2.1
-rwxrwxrwx+ 1 Administrators None 250 Jan 31 11:01 Dos_Commands.bat
-rwxrwxrwx+ 1 Administrators None 636 Jan 31 11:01 MPI_COMM_WORLD.mat
-rwxrwxrwx+ 1 Administrators None  97 Jan 31 11:01 MatMPIdefs1.m
-rwxrwxrwx+ 1 Administrators None 199 Jan 31 11:01 p0_p0_t10000_buffer.ma
-rwxrwxrwx+ 1 Administrators None 199 Jan 31 11:01 p0_p1_t10000_buffer.ma
-rwxrwxrwx+ 1 Administrators None   0 Jan 31 11:01 p0_p1_t10000_lock.mat

두 컴퓨터 모두 Windows 7 64비트를 실행하고 있으며 각각 최신 버전의 Cygwin과 OpenSSH를 실행하고 있습니다. WORKER2에서 실행되는 SSHD도 Cygwin의 SSHD입니다. sshd를 설치할 때 제대로 작동하도록 할 수 있는 유일한 방법은 ssh-host-config를 실행할 때 권한 분리에 '아니요'라고 대답하고 서비스로 설치에 '예'라고 대답하는 것이었습니다. 공개 키 RSA 인증을 사용하고 있습니다. //WORKER1/Users/Public/pMatlab/을 네트워크 드라이브로 마운트하고 그런 식으로 액세스해 보았지만 그것도 도움이 되지 않았습니다. 무엇이 잘못될 수 있는지에 대한 아이디어가 있나요? 감사해요!

편집: Windows의 네트워크 공유 설정이 내가 볼 수 있는 모든 것을 허용하도록 설정되어 있다는 것을 언급하는 것을 잊었습니다. 게다가 내 공용 폴더와 그 안에 있는 폴더는 모두 읽기 전용으로 설정되어 있는 것 같지만(마우스 오른쪽 버튼 클릭->속성 메뉴에서) 그 안의 파일은 그렇지 않습니다. 속성 메뉴에서 이를 변경하려고 하면 아무 일도 일어나지 않습니다. 읽기 전용을 끄면 속성 메뉴를 다시 열면 다시 켜집니다. cmd.exe에서 attrib -r C:\Users\Public을 실행하여 이를 변경해 보았지만 아무 것도 수행하지 못했습니다.

마지막으로 .sh 파일을 로컬로 실행할 때, 컴퓨터 WORKER2의 Windows GUI에서 파일에 액세스하려고 할 때, 또는 WORKER2에서 자체적으로 ssh를 통해 액세스하려고 할 때 권한 거부 오류가 발생하지 않습니다. 권한 오류는 WORKER1에서 WORKER2로 ssh를 보낸 다음 거기에서 WORKER1의 파일에 액세스하려고 할 때만 나타납니다.

최종 편집: 문제가 해결되었습니다. 폴더가 암호화된 것으로 밝혀졌습니다! 이유를 모르겠어요. 무슨 이유에서인지 zip 파일에서 그렇게 나왔습니다.

답변1

1989년의 멋진 새 유닉스 세계에 오신 것을 환영합니다!

그 훌륭한 TRUSIX 사람들은 올해만 권한 정보가 실제로 전체 이야기가 아닐 ls때 시각적으로 표시하는 명령 확장을 정의했습니다. rwxrwxrwx해당 확장자는 +권한 플래그 뒤에 오는 문자입니다. 보시다시피 출력물 전체에 문자가 ls있습니다 . +이는 귀하의 파일에 이러한 새로운 기능이 포함되어 있음을 의미합니다.임의 액세스 제어 목록TRUSIX 사람들이 매우 좋아하는 것입니다. 따라서 파일에 대한 액세스 권한은 다음과 같습니다.~ 아니다이는 9개의 권한 플래그만으로 추론할 수 있는 내용입니다.

새로운 스타일의 ACL에 직면하여 기존 스타일의 Unix 도구의 이러한 한계를 보완하기 위해 TRUSIX 사람들은 몇 가지 새로운 명령 getaclsetacl. 전자는 해당 ACL을 보는 데 사용됩니다. 사람들이 더 좋아할지도 모른다는 중얼거림이 들려요getfacl그리고setfacl이름으로. 그리고 현재 계획 중인 Microsoft와 IBM의 OS/2 버전 3이 결국 명명된 명령 caclsxcaclsACL을 살펴보는 명령으로 끝날 것이라는 소문이 돌고 있습니다.더 나은왜냐하면 getfacl그들은 3비트 유닉스 렌즈를 통해 그것들을 제시하지 않고 오히려 그들의 모든 운영체제에서 실제로 어떻게 존재하는지 보여줄 것이기 때문입니다.표준 및 특정 권리 drctpoxfew양쪽 계정-그리고-머신 이름의 영광.

이 아이디어는 1990년대에는 모든 사람이 반드시 그 일부가 될 유닉스 세계에서 들불처럼 번질 것입니다. 20년 후에는 9가지 권한이 낡고 시대에 뒤떨어진 것처럼 보일 것이며 ACL이 표준이 될 가능성이 높습니다.여전히 9개의 권한 플래그를 보고 있는 바보들조차도 이에 대해 알 것입니다.. ☺

추가 읽기

관련 정보