GNU/Linux >> Linux の 問題 >  >> Ubuntu

すべてのユーザーのためにExt4パーティションを作成する方法は?

重複した質問のように聞こえますが、次のことを試しましたが、役に立ちませんでした。

私のドライブは下にマウントされています

/media/data

だから私は入った

sudo chown -R :users /media/data

ただし、それでもユーザーとしてそのパーティションに書き込むことはできません。
/ etc/fstabにもエントリを作成しようとしました

UUID=... /media/data ext4 rw,suid,dev,exec,auto,user,async 0 0

しかしその後、彼がディスクを見つけることができなかったため、私のコンピューターは起動できなくなりました。

Ubuntu14.04サーバーをインストールしています。パーティションは/dev/nvmeOn1p1の下にリストされています
そして/etc/fstabには表示されません (下の写真を参照してください。)

(デバイスは「IntelDCP3700」800GB SSDです)

追記:
パーティションが空なので、たとえばgpartedを使用してフォーマットして再作成することもできます。 gpartedまたは他のGUIプログラムで、パーティションをすべてのユーザーが使用できるように指定する方法はありますか?

承認された回答:

たぶん、あなたは間違った順序で物事をやっています。 mkfs.ext4を使用してファイルシステムを作成する場合 、その中のすべては、システムのデフォルトの権限が設定されたユーザーrootとグループrootによって所有されます。

そのファイルシステムをディレクトリにマウントすると、そのディレクトリの元の所有者とアクセス許可に関係なく、ファイルシステムのアクセス許可と所有者が表示されます。

したがって、このようなことは機能しません:

sudo mkfs.ext4 /dev/some/data
sudo mkdir /media/data
sudo chown -R :users /media/data
sudo chmod -R g+rw /media/data
sudo mount /dev/some/data /media/data

正しいことは、ファイルシステムを作成してマウントし、次に実行することです。 権限と所有権を変更します。 / etc/fstabで何をするかは関係ありません。

それを行う正しい方法は次のとおりです:

sudo mkfs.ext4 /dev/some/data
sudo mkdir /media/data
sudo mount /dev/some/data /media/data
sudo chown -R :users /media/data
sudo chmod -R g+rw /media/data

これはあなたの質問に答えるはずです。詳細が必要な場合は、読み進めてください。

何が起こるかをよりよく理解するために、画像ファイルを少し試してみましょう

fallocate -l 100MB /tmp/filesystem.imgを使用して、フォーマットおよびマウントする空のファイルを作成します 。次に、sudo mkfs.ext4 /tmp/filesystem.imgを使用してext4ファイルシステムとしてフォーマットします。 (これはブロックデバイスではありませんが、「はい」と答えた場合は、とにかく動作するext4ファイルシステムを配置できます)そして、マウントポイントとして使用するディレクトリを作成しますmkdir /tmp/experiment

次に、sudo chown -R :users /tmp/experimentを使用して、そのdirectoyの所有者と権限を変更してみます。 およびsudo chmod -R g+rw /tmp/experimentls -la /tmp/experimentを使用して権限を確認します 。次のようなものが表示されます:

 ls -la /tmp/experiment/
 total 0
 drwxrwx--x 2 gerlos users  40 feb 19 10:37 .
 drwxrwxrwt 8 root   root  180 feb 19 10:38 ..

これは、/ tmp / Experimentがユーザーgerlosとグループユーザーによって所有されており、グループメンバーが読み取り、書き込み、実行できることを示しています。たとえば、touch /tmp/experiment/somefileを使用してファイルを配置できます。 。

次に、sudo mount /mnt/filesystem.img /tmp/experimentを使用してファイルシステムをそのディレクトリにマウントします。 、lsをもう一度見てください 出力:

$ ls -la /tmp/experiment/
total 13
drwxr-xr-x 3 root root  1024 feb 19 10:41 .
drwxrwxrwt 8 root root   180 feb 19 10:41 ..
drwx------ 2 root root 12288 feb 19 10:41 lost+found

ご覧のとおり、/ tmp/experimentはrootが所有しているように見えます。権限は異なります。なんで? / tmp / Experiment自体ではなく、/ mnt/filesystem.imgに含まれている/mnt/experimentにマウントされているファイルシステムのルートディレクトリを確認しているためです。

関連:18.04:なぜXorgとXwaylandの両方なのですか?

さらに、通常のユーザーはtouch /tmp/experiment/anotherfileを使用してそこにファイルを配置することはできません。 。

ここでもう一度chownを実行してみてください およびchmod 上記のように、所有者と権限はマウントポイントではなく、マウントされたファイルシステムで変更します。 、およびユーザーはファイルシステムを使用できるようになります。これを確認するには、最後にもう一度ls出力を確認します。

$ ls -la /tmp/experiment/
total 13
drwxrwxr-x 3 root users  1024 feb 19 10:41 .
drwxrwxrwt 8 root root    180 feb 19 10:45 ..
drwxrw---- 2 root users 12288 feb 19 10:41 lost+found

ご覧のとおり、ユーザーグループのメンバーがファイルシステムにファイルを配置できるようになりました。実際、通常のユーザーがtouch /tmp/experiment/myfileを使用してそこに新しいファイルを作成することを妨げるものは何もありません。 :

$ ls -la /tmp/experiment/
total 13
drwxrwxr-x 3 root   users   1024 feb 19 11:05 .
drwxrwxrwt 8 root   root     180 feb 19 11:02 ..
drwxrw---- 2 root   users  12288 feb 19 10:41 lost+found
-rw-rw---- 1 gerlos gerlos     0 feb 19 11:02 myfile

任務完了! 🙂


Ubuntu
  1. Linuxですべてのユーザーの共有ディレクトリを作成する方法

  2. サーバー上のすべてのユーザーのパス変数を設定するにはどうすればよいですか?

  3. Linuxでpipを使用してすべてのユーザーにモジュールをインストールするには?

  1. LinuxでユーザーのSudo権限を設定する方法

  2. ターミナルをルートとして実行する方法は?

  3. 所有者をルートに戻す方法は??

  1. LinuxですべてのSudoユーザーを見つける方法

  2. sudo に root パスワードを要求させるにはどうすればよいですか?

  3. root を持つすべてのユーザーを一覧表示するにはどうすればよいですか?