Memecahkan masalah izin saat menggunakan hard disk EXT4 eksternal dengan beberapa pemasangan linux

18

Saya memiliki hard drive eksternal dan karena saya hanya menggunakan Ubuntu dan Fedora saya memutuskan untuk memformat hard drive saya ke ext4 semuanya baik-baik saja.

Masalahnya adalah ketika saya memasang drive saya perlu mengubah izin sehingga saya bisa membaca dan menulis.

Izin macam apa yang harus saya gunakan? adm nama pengguna saya?

Javier Gonzalez
sumber

Jawaban:

5

Meskipun saya mungkin lumpuh, saya harus menjawab pertanyaan dengan pertanyaan lain. Jika semua yang kita bicarakan adalah untuk satu OS, maka itu adalah salah satunya

sudo chown -R (user name) /dev/(device name)

( ubuntu )

atau hanya

chown -R (user name) /dev/(device name)

fedora - tidaksudo, jalankan saja perintah dari root.

Bagian penggaruk mie, dan bagian yang saya tidak punya jawaban yang baik untuknya, adalah bagaimana membuatnya sehingga Anda tidak perlu mengetik ulang secara manual saat Anda bolak-balik di antara distro. Saya hampir tergoda untuk menambahkan baris ke baris saya ~/.bashrc, tetapi mungkin ada cara yang lebih baik yang belum saya ketahui atau belum saya pikirkan.

pengguna2367
sumber
Bahwa apa yang saya pikir saya perlu mengubah izin setiap kali saya mengubah distro
Javier Gonzalez
1
Hanya untuk memastikan dan memuaskan keingintahuan intelektual saya sendiri, saya kembali dan mengeceknya dengan drive USB EXT4 yang saya miliki. Saya tidak tahu apakah kepemilikan perangkat itu sama dengan kepemilikan sistem file, dan memang demikian. sudo chown -R (nama pengguna) / dev / (nama perangkat) membuat Anda memiliki semua file pada drive, bahkan jika Anda tidak membuatnya.
user2367
Ya, singkatnya hanya menambahkan baris ke ~ / .bashrc sehingga itu berjalan secara otomatis setiap kali Anda menjalankan terminal, saya tidak punya jawaban untuk itu. Mungkin bisa menambahkannya ke cron? Tapi sepertinya harus ada cara untuk mengatur agar berjalan ketika distro boot.
user2367
Saya sangat suka ext4 tetapi omong kosong terus mengubah izin haha
Javier Gonzalez
10

Solusi paling sederhana adalah memastikan akun pengguna Ubuntu & Fedora Anda memiliki ID pengguna yang sama (UID).

Saya pikir Fedora memulai akun pengguna di 500 secara default, sementara Debian & Ubuntu memulai mereka di 1000, jadi sangat mungkin bahwa dalam satu OS Anda adalah pengguna nomor 500 dan yang lain Anda adalah pengguna nomor 1000. Sistem file menggunakan nomor UID ini untuk melacak izin, jadi jika Anda memastikan mereka memiliki UID yang sama, mereka akan dianggap pengguna yang sama, dan tidak ada masalah izin yang akan terjadi.

Saya pikir yang terbaik yang dapat Anda lakukan adalah membuat keduanya UID = 1000, jadi ubah UID dalam sistem Fedora, lalu pastikan semua file pada disk eksternal dan di $ HOME pengguna di instal Fedora dimiliki oleh UID 1000. Setelah Anda seharusnya tidak memiliki masalah izin lagi.

JanC
sumber
Ya saya akan melakukannya terima kasih atas waktu Anda :)
Javier Gonzalez
1
Baca juga penambahan saya atau pengguna Fedora tidak akan bisa masuk!
JanC
Semuanya jelas saya akan mengujinya sekarang, juga terima kasih telah mengedit judul pertanyaan sekarang sangat jelas.
Javier Gonzalez
3

Di / etc / fstab Anda bisa meletakkan uid = 1000 (di Ubuntu - 500 di Fedora) untuk drive yang akan dimiliki oleh pengguna Anda (dengan asumsi Anda adalah pengguna pertama, yada yada yada ... jika tidak, pengguna Anda uid dari id) dan umask = 000 jika Anda ingin semua pengguna memiliki akses (atau 077 hanya untuk yang ditentukan oleh uid = - itu adalah topeng, jadi Anda menempatkan kebalikan dari apa yang Anda inginkan sebagai chmod)

Untuk info lebih lanjut tentang penggunaan / etc / fstab: http://ubuntulinuxtipstricks.blogspot.com/2008/02/fun-with-etcfstab.html

maco
sumber
1
Jika saya mengatur izin ke 077 saya tidak perlu mengubah izin ketika saya mengubah dari ubuntu ke fedora?
Javier Gonzalez
@Dracirate: Saya pikir Anda mungkin perlu 000 daripada 077. Jika Anda meletakkan entri fstab untuk drive di setiap sistem (baik Ubuntu dan Fedora), mereka akan secara otomatis memasangnya sehingga dapat digunakan.
maco 8-10
3

Sayangnya kernel Linux memberlakukan izin POSIX pada ext2 / ext3 / ext4 FS.

Anda dapat mengatasi izin POSIX dengan grup bersama. Saya mengajukan pertanyaan yang sesuai: /unix/273144/predefined-group-ids-across-linux-distros/ tetapi setelah semua saya membuat penelitian sendiri.

Saya menemukan bahwa sys group membagikan id 3 di Debian, Ubuntu, RedHat, Fedora, CentOS, Suse, FreeBSD, OpenBSD, NetBSD, MacOSX, Solaris.

Dengan penemuan demikian dalam pikiran, satu solusi mungkin terlihat seperti:

$ sudo chgrp -R sys /mnt/data/dir
$ sudo chgmod -R g+s /mnt/data/dir
$ sudo fsetacl -R -m g:sys:rwx /mnt/data/dir
$ sudo fsetacl -R -d -m g:sys:rwx /mnt/data/dir

dan rasa dari ini (setiap kali Anda menggunakan Linux / FreeBSD / MacOSX / Solaris):

$ sudo adduser user sys

Lihat juga:

gavenkoa
sumber
Dengan menggunakan metode itu, mengeksekusi cd /mnt/data/dir; touch example.txt; ls example.txt ... menunjukkan ... -rw-rw----+ 1 user user 3 nov 27 20:16 example.txt. Eksekusi nanti mv example.txt ~; ll ~/example.txt... menunjukkan ... -rw-rw----+ 1 user user 0 nov 27 21:22 /home/user/example.txt, dengan itu +di akhir izin. Jadi banyak +yang akan berakhir muncul di banyak tempat, membuat orang bertanya-tanya mengapa file-file itu istimewa (hanya karena mereka disalin / dipindahkan dari folder tertentu). Apakah ada cara untuk berhenti memproduksi itu +secara otomatis?
Ganton
2

Anda bisa mencoba menggunakan exfat atau ntfs. Bagi saya ini bekerja dengan cara ini. Tetapi saya tidak tahu sekarang jika itu berfungsi dengan setiap izin file. Saya pikir tidak.

dr
sumber
2

Ini adalah sedikit variasi dari pendekatan @ gavenkoa dalam menggunakan grup bersama, dan tidak melibatkan modifikasi drive yang dipasang.

Periksa id grup (GID) apa yang digunakan dalam drive yang dipasang.

su
cd /mnt/data/dir  # or wherever it is mounted
ls -l

Katakanlah Anda melihat sesuatu yang mirip dengan yang berikut:

drwxr-xr-x 3 12588 12000  4096 30.06.2017 11:22 Documents/

Ini berarti 12000GID saat ini dari data dalam drive, dan data dapat dibaca, dan dieksekusi (tidak dapat ditulis, meskipun) oleh pengguna grup lainnya. Buat grup baru (untuk mis.driveusers ) Dan tambahkan pengguna Anda saat ini ke grup baru:

groupadd -g 12000 driveusers
sudo gpasswd -a $USER driveusers  # add the current user to the new group
sudo chmod 770 /mnt/data/dir      # optional, just to ensure the drive mount is accessible to user and group of the drive
jadelord
sumber
1

Saya menemukan solusi lain ini:

/unix/422656/how-to-make-an-ext4-formatt--usb-drive-with-full-rw-permissions-for-any-linux-m/468933#468933

/unix//a/273705

Dengan ini:

sudo chgrp -R sys /mnt/data/dir
sudo chmod -R g+s /mnt/data/dir
sudo setfacl -R -m g:sys:rwx /mnt/data/dir
sudo setfacl -R -d -m g:sys:rwx /mnt/data/dir

dan rasa ini:

sudo adduser user sys  

pengguna Anda dapat membaca / menulis file apa pun di /dir.

@jadelord @ gavenkoa, apakah menurut Anda ada perbaikan yang dapat dilakukan saat ini pada solusi yang disarankan untuk pengguna Ubuntu (atau Fedora)? Terima kasih

horizonbrave
sumber