GNU/Linux >> Belajar Linux >  >> Ubuntu

Bagaimana Cara Membuat Partisi Ext4 Untuk Semua Pengguna?

Saya tahu ini terdengar seperti pertanyaan ganda, tetapi saya mencoba yang berikut ini dan tidak membantu:

Drive saya dipasang di bawah

/media/data

jadi saya masuk

sudo chown -R :users /media/data

Namun saya masih tidak dapat menulis ke partisi itu sebagai pengguna.
Saya juga mencoba membuat entri di /etc/fstab

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

tetapi setelah itu komputer saya tidak bisa boot lagi karena dia tidak dapat menemukan disk.

Saya telah menginstal Ubuntu 14.04 Server. Partisi terdaftar di bawah /dev/nvmeOn1p1
dan tidak muncul di /etc/fstab (lihat gambar di bawah).

(perangkatnya adalah SSD 800GB “Intel DC P3700”)

Catatan Tambahan:
Karena partisinya kosong, saya juga dapat memformatnya dan membuatnya kembali menggunakan gparted misalnya. Apakah ada cara di gparted atau program gui lainnya untuk menentukan bahwa partisi harus dapat digunakan oleh semua pengguna?

Jawaban yang Diterima:

Mungkin Anda melakukan hal-hal dalam urutan yang salah. Saat Anda membuat sistem file dengan mkfs.ext4 , semua yang ada di dalamnya dimiliki oleh root pengguna dan root grup dengan pengaturan izin default sistem Anda.

Saat Anda memasang sistem file tersebut pada direktori, Anda akan melihat izin dan pemilik sistem file, terlepas dari pemilik asli dan izin pada direktori tersebut.

Jadi, melakukan hal seperti ini tidak akan berhasil:

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

Hal yang benar untuk dilakukan adalah membuat sistem file, memasangnya, dan lalu ubah izin dan kepemilikan di atasnya. Tidak masalah apa yang Anda lakukan di /etc/fstab.

Cara yang tepat untuk melakukannya adalah ini:

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

Ini harus menjawab pertanyaan Anda. Jika Anda memerlukan detail lebih lanjut, baca terus.

Untuk lebih memahami apa yang terjadi, mari bereksperimen sedikit dengan file gambar

Buat file kosong untuk diformat dan di-mount menggunakan fallocate -l 100MB /tmp/filesystem.img . Kemudian format sebagai sistem file ext4 dengan sudo mkfs.ext4 /tmp/filesystem.img (ini bukan perangkat blok, tetapi jika Anda menjawab ya, Anda tetap dapat menempatkan sistem file ext4 yang berfungsi) dan membuat direktori untuk digunakan sebagai titik mount mkdir /tmp/experiment .

Sekarang coba ubah pemilik dan izin pada direktori itu dengan sudo chown -R :users /tmp/experiment dan sudo chmod -R g+rw /tmp/experiment , dan periksa izin dengan ls -la /tmp/experiment . Anda akan mendapatkan sesuatu seperti ini:

 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 ..

Ini memberitahu Anda bahwa /tmp/experiment dimiliki oleh gerlos pengguna dan pengguna grup, dan anggota grup dapat membaca, menulis, dan mengeksekusinya. Anda dapat meletakkan file di dalamnya, misalnya dengan touch /tmp/experiment/somefile .

Sekarang mount sistem file pada direktori itu dengan sudo mount /mnt/filesystem.img /tmp/experiment , dan lihat kembali ls keluaran:

$ 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

Seperti yang Anda lihat, sekarang /tmp/experiment tampaknya dimiliki oleh root, dengan izin yang berbeda! Mengapa? Karena kita tidak melihat /tmp/experiment itu sendiri, tetapi pada direktori root dari sistem file yang terdapat di /mnt/filesystem.img, yang dipasang di /mnt/experiment.

Terkait:18.04:Mengapa Xorg dan Xwayland?

Selain itu, pengguna biasa Anda tidak akan dapat meletakkan file di sana dengan touch /tmp/experiment/anotherfile .

Jika sekarang Anda coba lagi menjalankan chown dan chmod seperti di atas, Anda akan mengubah pemilik dan izin bukan pada titik pemasangan, tetapi pada sistem berkas terpasang , dan pengguna Anda akan dapat menggunakan sistem file. Untuk mengonfirmasi tampilan ini pada keluaran ls untuk terakhir kalinya:

$ 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

Seperti yang Anda lihat, sekarang anggota grup pengguna dapat meletakkan file di sistem file! Faktanya, tidak ada yang mencegah pengguna normal Anda membuat file baru di sana dengan 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

Misi selesai!


Ubuntu
  1. Cara Menemukan Semua Pengguna Sudo Di Linux

  2. Cara Mengatur Ulang Kata Sandi untuk Sudo di Debian

  3. Bagaimana Cara Mengatur Variabel Path Untuk Semua Pengguna Di Server?

  1. Bagaimana Menjalankan Terminal Sebagai Root?

  2. Bagaimana cara membuat sudo meminta kata sandi root?

  3. Bagaimana cara mendaftar semua pengguna dengan root?

  1. Cara Membuat Direktori Bersama untuk Semua Pengguna di Linux

  2. Cara Mengatur Hak Istimewa Sudo untuk Pengguna di Linux

  3. Bagaimana Mengubah Pemilik Kembali Ke Root??