Samba 共有から Python スクリプトを実行する権限が拒否されました

Samba 共有から Python スクリプトを実行する権限が拒否されました

Fedora 17 デスクトップから Ubuntu 12.04 デスクトップに Samba 共有をマウントしようとしています。

ファイルの作成、編集、削除は問題なく行えますが、共有上で Python スクリプトを実行しようとすると、アクセス権が拒否されるエラーが発生します。

次のコマンドで、root としてマウントし、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

私は2台のLinuxマシンを接続するためにSambaを使うつもりはありません。SambaはLinux/UnixマシンがWindowsと通信できるように設計されており、逆にNFS2 台の Linux マシンの場合は、はるかに優れています。スクリプトを実行できるように samba 設定を微調整することもできますが、ネイティブの Linux メソッドを使用する方が実際には優れています。私のシステムでは、同じディレクトリを samba (ホーム ネットワーク上の Windows 用) と nfs を使用してエクスポートし、Linux と OSX 用に使用しています。

nfs を使用してディレクトリをエクスポートするには、まず、サーバーとクライアントの両方に と をインストールしますautofs5( nfs-commonautofs は、以下で説明するように、共有を自動的にマウント/アンマウントするために使用されます)。サーバーに をインストールしますnfs-kernel-server

次に(これらのコマンドはすべて root として実行する必要があります):

  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 を使用できます。XX はサーバーの IP に変更します)。

    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

Nautilus を使えばとても簡単です。 、 に移動しFile、タイプとして をConnect to Server...選択しSSH、詳細を入力するだけで完了です。共有は の下にマウントされます/run/user/james/gvfs/。マウント解除するには、Nautilus の に移動しComputer、共有を右クリックして を選択しますUnmount

関連情報