LinuxからNFS共有をマウントするのに、特権ポートを使用する必要があるのはなぜですか?


11

Linuxボックスのディレクトリをエクスポートし、別のLinuxボックスからマウントして、

# mount -t nfs kurush:/media/lynk /mnt/kurush/

Mac OS Xでは同じコマンドが失敗します。

$ sudo mount -t nfs kurush:/media/lynk /Volumes/lynk
mount_nfs: can't mount /media/lynk from kurush onto /Volumes/lynk: Operation not permitted

同時に、kurush:/var/logs/syslog次の行を記録します。

rpc.mountd[7943]: authenticated mount request from sds-MacBook-Pro.home:1009 for /media/lynk (/media/lynk)

GUI(finder-> connect to server nfs://kurush/media/lynk- > -> connect)を経由しようとすると、すぐにエラーが発生し(&cに接続できません)、Linuxボックスのsyslogにが記録されauthenticated mount requestます。

この問題は、特権ポートを使用することで解決されます

コマンドライン:

sudo mount -o resvport -t nfs kurush:/media/lynk /Volumes/lynk

GUIを有効にするには:

sudo vifs

次に行を追加します

kurush:/media/lynk /Volumes/lynk nfs resvport,ro,user,noauto

質問は次のとおりです。

  • なぜ特権ポートを使用する必要があるのですか?Linux側で行うことですか?たまに、私は前述の魔法なしにそのシェアをマウントしたことを思い出しているようです。

  • コマンドラインを使用せずに特権ポートを使用するようにMacOSXに指示するにはどうすればよいですか?私はAppleが「技術者でない」群衆のためであると思った、それでそれが可能であるに違いない!


こんにちは。通常、「なぜAppleはXをしたのか」という質問を閉じます。ただし、技術的な詳細がいくつかあります。質問を単純に(編集して)行い、すべての回答を回答セクションに入力すると、質問がうまく機能する場合があります。問題が何であるかを説明するフォローアップ質問をする必要がある場合-おそらくそれはうまくいくかもしれません。このようにしてAppleが「なぜ」それを設計したという話で、あなたは最終的に何をしますか?
bmike

1
@bmike:「理由」を「方法」に変更しました。
sds 14

回答:


10

なぜする必要があるのですか?伝統、ほとんど。昔々、NFSを特権ポート(<1023)に制限することはセキュリティ対策と考えられていました。人々がメインフレームコンピュータを使用していたとき、これはプログラムがrootユーザーによって実行された場合にのみ特権ポートを使用できるため、クライアント側のNFSソフトウェアがOSの一部であり、管理者によって承認されたことを確認しました。今日、誰もがコンピューターを所有してrootアクセスを持つことができるので、これは意味がありません。したがって、これはセキュリティの点で何も意味しません。

デフォルトでは、多くのNFSサーバーは非特権ソースポートを許可しません。一部のNFSクライアント(Ubuntuなど)は、特に指定がない限り、デフォルトで特権ソースポートを使用するため、Linuxクライアントは問題なく動作します。明らかに、OS Xクライアントはこれを行いません。それがAppleの設計上の選択なのか、BSDから継承されたものなのかはわかりません。Solarisもデフォルトで非特権ポートに設定されることを知っています。

この問題を回避する2つの方法は、OS Xクライアントに、検出したとおりに特権ポートを使用するように指示するか、NFSサーバーを構成して非特権ポートを許可することです(サーバーのドキュメントで調べてください)。

OS XでGUIを使用して特権ポートを使用するにはどうすればよいですか?私の知る限り、10.6を超えるバージョンは使用できません。以前は、NFS共有をディスクユーティリティにマウントして追加のオプションを入力できましたが、それは削除されました。(詳細)シンプルなボタンなどではありませんでした。NFSは「技術的でない」群衆が必要とするほとんどのものではないので、優先順位ではなかったと思います。特権ポートを日常的に使用するのは良い考えではない理由があります。

まだ試していませんが、http: //www.bresink.com/osx/NFSManager.htmlでは、コマンドラインなしでOS XのNFS機能を設定できるようです。


1
「または非特権ポートを許可するようにNFSサーバーを構成する」について:nfs-kernel-serverの場合はのinsecureオプションです/etc/exports。例:/media/sda3 192.168.1.0/24(rw,async,no_subtree_check,insecure)
2015

安全ではないため、MacはFinderを使用してNFSに接続できます->
Go-

これは今日のシステムのアクティブなセキュリティ問題であり、通常はインターネットではなくイントラネット内にあります。システムはファイルシステム内でNFS共有をマウントする傾向があるため、乱用の余地がたくさんあります。特権ポートが必要な場合でも、ユーザーが不要なときにファイルシステムを操作することはできません。もちろん、ユーザーがすでにrootを持っている場合、それは問題ではありません。
jtpereyda 2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.