Redhat:root以外のユーザーはNFS共有にファイルをコピーする必要があります。

Redhat:root以外のユーザーはNFS共有にファイルをコピーする必要があります。

通常、root以外のユーザーはディレクトリをマウントできません。

Redhatを実行する他のコンピュータ(//somebox/somefolder/)のNFS共有に移動する必要がある6GBのtar.gz(/dir/somefile.tar.gz)があります。

私たちは他のアクセス権を持っていません。

どんなアイデアがありますか?

答え1

このmountコマンドはrootとしてsetuidが設定されているため、ほとんどのLinuxシステムではrootとしてのみ実行できます。このコマンドを使用するには2つの考えられる解決策がありますが、いくつかの変更を加えるにはmountrootユーザー(またはsudorootできる人)が必要です。

  1. /etc/fstab共有したい項目を追加してください。選択noautoが重要です。

    vi /etc/fstab
    <nfs ip or FQDN>:/      /mnt/       nfs rw,noauto,user,timeo=14,hard,intr 0 0
    

    mount次に、目的のディレクトリで実行するようにします。

    mount /mnt/
    
  2. sudersファイルにユーザーを追加し、mountコマンドの使用を指定します。デフォルトでは、ファイルシステムに何でもインストールできるため、これは非常に安全ではありません。次の行を実行しvisudoて追加します。

    afhood    ALL=(ALL) /usr/bin/mount
    
  3. scp、、rcpなどのリモートファイルシステムに対して一種のネットワークベースの複製を実行します。使用する特定のコマンドは、完全にリモートシステムが許可するものとシステムにインストールしたものによって異なります。ftpsftp

答え2

サーバーが特定のクライアントのみに接続するように構成されているとします。それ以外の場合は、rootアクセス権を持つクライアントを使用できます。 (もしサーバーがこのクライアントをどのように認識しているのか疑問に思うかもしれません。)

NFSを使用する必要があり、クライアントへのルートアクセス権がない場合、最初に考えたのは、ユーザースペースNFSクライアントまたはNFSブラウザを見つけることです。これまで私が見つけた唯一のことJFTP、これはJava GUIクライアントです。しかし、あなたがプログラマーであり、したい場合は、別のオプションは独自のライブラリを開発することです。libnfs1あなたはそれから構築することができます。

私はまだこれらのどれも試していませんが、これが開始であることを願っています。私が気づかなかった内容があるかもしれません。最後に、NFSに注意してください。仕える人特権ポートからルートとして接続する必要があるかもしれませんが、この場合は幸運ではありません。

...または、「//somebox/somefolder/」という命名法を見つけました。これはNFSでは非常にまれですが、SMB(Samba / Windowsファイル共有)では標準です。少なくともLinuxでは、マシンの場合です。もしそうなら、これはあなたが望むツールですsmbclient

関連情報