Ketika saya mencolokkan hard drive eksternal saya, memasukkan DVD, atau mencoba melihat apa yang saya dapatkan di USB drive saya, perilaku aneh adalah hasil yang biasa.
Sistem file terpasang dengan baik. Ketika saya login sebagai root through sudo su
, saya bisa melihat isi dari /media/casper/externaldrive
fine fine. Namun pengguna saya casper
, tidak bisa. Ubuntu membalas setiap tindakan yang melibatkan lokasi Permission denied
:
casper@casper-desktop:/media$ ll /media/casper/externaldrive
ls: cannot access '/media/casper/externaldrive': Permission denied
Saya memutuskan untuk melakukan penggalian ke dalam izin (masalah) /media
folder. Seperti casper
, saya melihat yang berikut:
casper@casper-desktop:/media$ ls -alF
total 16
drwxr-xr-x 4 root root 4096 apr 21 17:47 ./
drwxr-xr-x 25 root root 4096 jul 29 15:43 ../
drwxr-x--- 3 root root 4096 aug 3 21:02 casper/
lrwxrwxrwx 1 root root 45 apr 21 17:47 .directory -> /etc/kubuntu-default-settings/directory-media
lrwxrwxrwx 1 root root 42 apr 21 17:47 .hidden -> /etc/kubuntu-default-settings/hidden-media
drwxr-xr-x 2 root root 4096 feb 29 23:56 home/
Apa yang mengejutkan saya adalah bahwa katanya total 16
, sementara hanya ada paling banyak 6 daftar. Jadi saya menjalankan perintah lagi, tetapi sebagai root
. Hasilnya sama, aneh. (Adakah yang bisa memberi tahu saya tentang ini?)
Bagaimanapun, yang lebih mengejutkan saya adalah bahwa /media/casper
direktori tersebut bukan milik saya dan juga tidak dapat diakses oleh saya. Saya tergoda untuk hanya chown -R
bazinkas keluar dari itu, tetapi setelah saya menguasai diri saya googled sesuatu seperti "folder pengguna Media bukan milikku membantu saya".
Butuh beberapa saat tetapi akhirnya saya menemukan utas ini , di mana pengguna menjelaskan tujuan 750 root:root /media/user
folder. Itu memastikan hanya root yang bisa me-mount, melihat dan mengelola sistem file di sana, di mana izin individu diubah ke pengguna yang sebenarnya.
Jadi, jika informasi saya benar, /media/casper/externaldrive
izin harus menguntungkan bagi saya. Saya memeriksa,
root@casper-desktop:/media/casper# ll
total 12
drwxr-x--- 3 root root 4096 aug 3 21:02 ./
drwxr-xr-x 4 root root 4096 apr 21 17:47 ../
drwxrwxrwx 1 casper casper 4096 aug 3 20:20 externaldrive/
Dan sepertinya inilah masalahnya.
Jadi di sinilah aku terjebak. Filesystem memiliki izin untuk saya sepanjang jalan melalui pohon direktori, namun saya tidak dapat mengakses satu file. Ini sama untuk drive CD dan USB.
Siapa yang dapat membantu saya mengakses barang berharga saya?
Oh, dan omong-omong. Utas yang disebutkan di atas berbicara tentang ACL pada /media/user
folder ini , yang ditunjukkan oleh +
setelah izin reguler, seperti drwxr-x---+ 3 root root
. Sistem saya tidak menunjukkan ini. Apakah ACL pada folder-folder ini standar untuk Ubuntu atau apakah pengguna memiliki hal-hal khusus yang terjadi, dan haruskah saya khawatir bahwa dari sinilah masalah saya berasal?
Terima kasih sudah membaca.
sumber
ls
total blok 1kB digunakan oleh file dalam direktori, non-rekursif. Lihat unix.stackexchange.com/a/4110/44281 .drwxr-x--- 3*
?Jawaban:
Karena izin & kepemilikan
/media/casper
adalahTanpa
+
untuk ACL ( Access Control Lists ) jelas bahwa hanya root yang dapat membuka, memasukkan, membaca atau menulis ke direktori ini. Pengguna yang rendah hati seperti kami mendapatkan izin di akhir string---
:(Kami orang-orang yang tidak beruntung mendapatkan izin untuk mengakses lokasi ini dengan ACL. Saya tidak yakin mengapa Anda belum memilikinya, tetapi Anda dapat mengaturnya, yang mungkin sederhana atau memerlukan sedikit mengutak-atik:
acl
paket diperlukan (cekapt-cache policy acl
)acl
opsiUntuk memeriksa yang terakhir (ganti
sdxY
partisi root Anda dengan tepat):harus kembali:
Opsi pemasangan standar ditetapkan
/etc/mke2fs.conf
Mungkin ditimpa, jadi periksa:
terlihat seperti:
Di atas baik-baik saja, (
acl
tidak perlu disebutkan) tetapi jika dikatakannoacl
Anda perlu mengubahnya.Anda dapat menambahkan opsi ke opsi pemasangan default seperti ini:
Atau Anda dapat menambahkan
acl
opsi untuk baris partisi root/etc/fstab
misalnya:Dengan ACL diaktifkan, gunakan
setfacl
untuk menambahkan izin untuk Anda sendiri. Untuk memberikanusername
izin baca dan eksekusi di / media / casper (Anda perlu menjalankan izin untuk masuk ke direktori atau mencari isinya):Anda dapat mengganti
username
dengan uid (mungkin Anda1000
- periksa denganid
perintah)untuk melihat izin ACL yang Anda gunakan
getfacl
seperti yang dilakukan Oli dalam jawabannyaUntuk menghapus izin ACL dari pengguna
Untuk menghapus semua izin ACL
Catatan: Saya menipu dan mengajukan pertanyaan sendiri tentang mengapa ada begitu banyak entri di
/media
. Jawabannya ada di sinisumber
apt-cache policy acl
pengembalian ACL diinstal dan terbaru.Default mount options
menyebutkanacl
.cat /proc/mount
tidak disebutkannoacl
. Jadi saya kira saya perlu menambahkan izin ACL secara manual sekarang, karena beberapa alasan mereka belum dirapikan. Saya menggunakan perintah yang Anda jelaskan untuk memberi saya rx izin untuk/media/casper
direktori dan saya senang mengatakan saya dapat mengakses media eksternal saya lagi. Zanna terima kasih!Saat Anda ingin memberikan izin akses ke drive Windows dari Ubuntu
chmod
Perintah normal tidak akan berfungsi jika itu adalah drive Windows NTFS.Berikut ini berfungsi untuk saya.
Buka file
/etc/mtab
:Temukan nama drive di file ini (cukup arahkan mouse ke drive yang Anda cari solusinya, dalam kasus saya GUI menunjukkan nama yang berbeda dan mouse di atasnya menunjukkan
/media/user-name/drive-name
)Sekarang di
/etc/mtab
:Cari nama drive dalam file, dan periksa drive mana yang dipasang pada drive Anda (dalam kasus saya -
/dev/sda4
)Sekarang pasang drive ini dengan:
Sekarang saya dapat menjalankan executable saya, tetapi saya tidak akan dapat melihat konten nama drive, jadi saya melepas drive dan memasangnya lagi.
sumber