web-dev-qa-db-ja.com

通常のユーザーとしてLinuxファイルシステムを読み取り/書き込みで手動でマウントするにはどうすればよいですか?

これは馬鹿げた質問のように思えるかもしれませんが、ほとんどのLinuxのものでは、多くの些細なことが文書化されていないように思えます。

とにかく、Ubuntuの通常のマウントポイント(/ media/whereever)にext4ファイルシステムを単にマウントしたいのですが、現在ログインしているユーザー(つまり私)は読み取りと書き込みが可能です。

/ etc/fstabには何も追加したくありません。手動で追加するだけです。デバイスをマウントするにはスーパーユーザー権限が必要ですが、そのマウントを読み書きできるのはrootだけです。さまざまなマウントオプションを試し、fstabに追加しましたが、うまくいきませんでした。

19
nicodemus13

Ext4ファイルシステム(ext2、ext3、およびその他のunix由来のファイルシステムなど)では、有効なファイル権限は、ファイルシステムをマウントしたユーザーやマウントオプションに依存せず、ファイルシステム内に格納されたメタデータにのみ依存します。

Ubuntuでは、ディスクを挿入するとマウントが自動的に行われるか、アイコンをクリックしてマウントできるはずです。コマンドラインからpmountをインストールして、通常のユーザーとしてファイルシステムをマウントすることもできます。

システムとは異なるユーザーIDを使用するリムーバブルファイルシステムがある場合は、 bindfs (同じ名前のUbuntuパッケージ内)を使用して、異なるファイルシステムのビューを提供できます。所有権または権限。リムーバブルファイルシステムはすでにマウントされている必要があります。オン /media/disk9;次に、すべてのファイルの所有者として表示したい場合は、

mkdir ~/disk9
Sudo bindfs -u $(id -u) -g $(id -g) /media/disk9 ~/disk9

Ext4ファイルシステムをマウントすると、そのファイルシステムに埋め込まれている権限が使用されます。これらを上書きしたい場合は、以下を使用します。
1。マウントするユーザーのUIDを見つけます:id <username>とUID = <userid>(<username>)GID = <groupid>(<groupname>)を探します2. Sudo mount -o nosuid,uid=<userid>,gid=<groupid> /dev/whatever /media/wherever

これにより、ファイルシステムがマウントされ、指定したユーザーがすべてのファイルの所有者としてマークされ、指定したグループがすべてのファイルのグループとしてマークされます。 nosuidは、ユーザーがsuidプログラムを持ち込み、それらを使用してシステム(つまり、ファイルシステム上のbashのsuidバージョン)にrootアクセスすることを防止するセキュリティ対策です。 noexecオプションを追加すると、セキュリティが強化されますが、ユーザーがファイルシステムでファイルを実行できなくなります。

注:ファイルシステムを自分で操作しようとしているだけの場合は、デバイスのアクセス許可を修正するか、一時的なもの(つまり、壊れたインストールを回復する)の場合はrootとして操作する必要があります。

これがUSBまたはその他のリムーバブル外部ドライブをマウントするためのものである場合は、プロセスを自動化できるpmountシステムを確認するか、少なくともかなり簡単にすることができます(つまり、pmount <device>はフォルダを作成し、それをユーザーとしてマウントし、ユーザーとしてマウント解除できるようにする必要があります)

8
Darth Android

http://ubuntuforums.org/showthread.php?t=2142284 で最後のコメントを読んだ直後に気づいたのは、Sudo chown -Rvf <user>:<group> <mountpoint>

これが必要なすべてです...

2
SACHIN GARG

以下を使用できます。

fstabのmount -o user /dev/devicenameおよびuserオプション。

2
Andrey Regentov

/ etc/fstabファイルを手動で編集する気がない場合は、 PySDM を試して、定期的にext4ファイルシステムをマウントするためのルールを定義することをお勧めします。 Synapticに「pysdm」パッケージをインストールするか、Ubuntu Software Centerで「pysdm」を検索してインストールできます。インストールすると、[システム]-> [管理]-> [ストレージデバイスマネージャー]から利用できるようになります。

PySDM in action

1
Zoot