Linuxでは、何かをマウントするために、rootであるか、sudoを使用しているか、マウントごとに特別に許可されている必要があるのですか?ユーザーが何かをマウントできるようにするかどうかは、ソースボリューム/ネットワーク共有およびマウントポイントへのアクセス権に基づいて決定する必要があるようです。非ルートマウントのいくつかの用途は、ファイルシステムイメージをユーザーが所有する方向にマウントすることと、ネットワーク共有をユーザーが所有するディレクトリにマウントすることです。ユーザーがマウント方程式の両側を制御できれば、すべてがクールになるはずです。
アクセス制限の明確化:
そうでなければ、ユーザーが所有者であるマウントポイントにアクセスできるユーザーなら何でもマウントできるはずです。
たとえば、私のコンピューターでは、/ dev / sda1はユーザーrootとグループディスクdiskに所有権がありbrw-rw----
ます。したがって、非rootユーザーは/ dev / sda1を台無しにすることはできず、明らかにマウントを許可しないでください。ただし、ユーザーが/home/my_user/my_imagefile.imgとマウントポイント/ home / my_user / my_image /を所有している場合、次の方法でそのマウントポイントにそのイメージファイルをマウントできないのはなぜですか。
mount /home/my_user/my_imagefile.img /home/my_user/my_image/ -o loop
kormacが指摘したように、suidの問題があります。したがって、suidが問題になるのを防ぐために、いくつかの制限を追加する必要があります。おそらくこれを行う1つの方法は、OSがすべてのファイルをマウントを行ったユーザーに属するものとして扱うようにすることです。ただし、単純な読み取り/書き込み/実行の場合、これが問題になる理由はわかりません。
使用事例:
自宅のスペースが8GBに制限されているラボにアカウントを持っています。これは小さく、非常に迷惑です。パーソナルサーバーからnfsボリュームをマウントして、必要なスペースを本質的に増やしたいと思います。ただし、Linuxではそのようなことが許可されていないため、8 GBの制限を超えないようにファイルをscpすることで行き詰まってしまいます。
sshfs
か?これはssh
、rootアクセスを必要とせずに、自分自身としてリモートディレクトリをマウントします。FUSE(UserSpacEのファイルシステム)をインストールするだけです。
sftp
は、を使用するよりも少し便利ですscp
。