삼바 공유에서 Python 스크립트 실행 권한이 거부되었습니다.

삼바 공유에서 Python 스크립트 실행 권한이 거부되었습니다.

Fedora 17 데스크탑에서 Ubuntu 12.04 데스크탑에 삼바 공유를 마운트하려고 합니다.

문제 없이 파일을 생성, 편집 및 삭제할 수 있지만 공유에서 Python 스크립트를 실행하려고 하면 권한 거부 오류가 발생합니다.

루트로 마운트하고 다음 명령과 함께 sudo를 사용해 보았습니다.

mount -t cifs //192.168.0.3/homeshare netbook -o user=james

mount -t cifs -o exec //192.168.0.3/homeshare netbook -o user=james

파일 권한은 . 그 후에는 그게 무슨 뜻인지 알 수 없어

-rw-rw-r--. 1 james james 31804 Aug 14 18:20 cronlog.txt

-rwxrwxr-x. 1 james james   666 Aug 16 17:49 current.py

Fedora 17에 이 공유를 마운트하고 스크립트를 실행하려면 어떻게 해야 합니까?

답변1

나는 두 대의 리눅스 머신을 연결하기 위해 삼바를 사용하지 않을 것입니다. Samba는 Linux/Unix 시스템이 Windows 및 Windows와 통신할 수 있도록 설계되었습니다.그 반대로.NFS두 개의 Linux 시스템에 훨씬 좋습니다. 스크립트를 실행할 수 있도록 삼바 설정을 조정할 수도 있지만 실제로는 기본 Linux 방법을 사용하는 것이 더 나을 것입니다. 내 시스템에는 Samba(홈 네트워크의 Windows용)와 Linux 및 OSXes용 nfs를 사용하여 동일한 디렉터리를 내보냈습니다.

nfs를 사용하여 디렉터리를 내보내려면 먼저 서버와 클라이언트 모두에서 autofs5and를 설치합니다 nfs-common(autofs는 아래 설명과 같이 공유를 자동으로 마운트/마운트 해제하는 데 사용됩니다). 서버에 을(를) 설치합니다 nfs-kernel-server.

그런 다음 (이 모든 명령은 루트로 실행해야 합니다):

  1. 내보낼 디렉토리를 생성합니다(예: /nfs_shares):

    sudo mkdir /nfs_shares
    
  2. 내보내기 규칙을 설정합니다. 서버에서 /etc/exports다음 줄을 편집하고 추가합니다.

    /nfs_shares       192.168.0.XX(rw,sync,no_subtree_check)
    

    여기서 192.168.0.XX는 클라이언트(Ubuntu 데스크탑)의 IP입니다.

  3. 내보낼 디렉터리를 이 새 위치에 마운트(바인딩)합니다. 먼저 /etc/fstab에 다음 줄을 추가하세요.

    /path/to/exported/homeshare /nfs_shares bind bind 0
    

    그런 다음 마운트합니다.

    mount /nfs_shares
    
  4. 클라이언트에서 공유를 마운트할 디렉터리를 생성합니다(예: /mnt/homeshare):

    mkdir /mnt/homeshare
    

    이 시점에서 공유를 수동으로 마운트할 수 있어야 합니다. 클라이언트에서:

    mount -t nfs 192.168.0.XX:/nfs_shares/ /mnt/homeshare
    
  5. 이제 자동화해 보겠습니다. 클라이언트에서 다음 줄을 사용하여 /etc/auto.master라는 파일을 만듭니다(SERVERNAME을 원하는 이름으로 변경).

    +auto.master
    /mnt/homeshare  /etc/auto.SERVERNAME   --timeout 60 --ghost
    
  6. 클라이언트에서 다음 줄을 사용하여 /etc/auto.SERVERNAME(SERVERNAME을 4단계에서 사용한 이름으로 변경)이라는 파일을 만듭니다(정적인 경우 서버의 네트워크 이름이나 IP를 사용할 수 있으며 서버의 IP에 대해 XX를 변경합니다). ):

    homeshare  -rw,soft,intr,bg,rsize=8192,wsize=8192 192.168.XX.XX:/nfs_shares/homeshare
    
  7. 실행하세요! 서버에서는 실행 service nfs-kernel-server restart하고 클라이언트에서는 실행합니다.service nfs-common restart; service autofs restart

따라서 공유가 자동으로 마운트됩니다. 1분 동안 활성화되지 않으면 액세스를 시도하자마자 마운트 해제되었다가 다시 마운트됩니다(예: ls /mnt/homeshare). 필요한 방식으로 권한을 설정했는지 확인하세요(chmod) 사용하는 디렉토리에 대해.

답변2

성능이나 몇 가지 단점에 크게 신경 쓰지 않는다면 SSHFS.

노틸러스를 사용하면 매우 쉽습니다. File, 로 이동하여 유형을 Connect to Server...선택하고 SSH세부 정보를 입력하면 끝입니다. 공유는 아래에 마운트됩니다 /run/user/james/gvfs/. 마운트 해제하려면 Computer노틸러스로 이동하여 공유를 마우스 오른쪽 버튼으로 클릭하고 를 선택합니다 Unmount.

관련 정보