Root Owns Home Directory, chown tidak berfungsi

11

Saya menjalankan Ubuntu 12.04 dan mengalami berbagai masalah. Saya telah melacaknya kembali ke fakta bahwa direktori home pengguna saya (/ home / user) dimiliki oleh root.

Direktori / home sebenarnya di-mount pada drive lain, tetapi saya dapat melihat bahwa di fstab saya hanya menginstal / home dan bukan / home / user:

UUID=DC56D19E56DX3233 /home ntfs user,exec 0 2

Perintah chown di bawah ini sepertinya tidak berfungsi:

sudo chown -R user /home/user

Ini akan berjalan tanpa kesalahan, namun itu tidak benar-benar mengubah kepemilikan direcory. Ini adalah output ls -ldsetelah menjalankan perintah:

drwxrwxrwx 1 root root 20480 Sep 25 00:07 /home/user

Ini sama seperti sebelumnya.

DJElbow
sumber
1
Bisakah Anda menambahkan baris yang relevan dari Anda /etc/fstabdan / atau output dari mountperintah untuk partisi home Anda (mis mount | grep 'home'?
steeldriver
mount | grep home-> / dev / sdb1 on / home ketik fuseblk (rw, nosuid, nodev, allow_other, blksize = 4096)
DJElbow
cat /etc/fstab-> UUID = DC56D19E56DX3233 / pengguna ntfs rumah, exec 0 2
DJElbow
1
Jadi masalah mendasarnya adalah Anda menggunakan sistem file non-linux (ntfs) untuk partisi home Anda - yang tidak benar-benar mendukung izin file gaya * nix. Dimungkinkan untuk membuatnya bekerja dengan opsi masker file yang sesuai di mount tapi saya tidak punya pengalaman melakukan itu. Semoga berhasil.
steeldriver
Ya, Anda telah memasang / home Anda sebagai sistem file windows yang bukan merupakan konfigurasi yang didukung.
psusi

Jawaban:

16

NTFS tidak mendukung 'pemilik' gaya Unix, jadi kernel Linux dipaksa untuk menetapkan pemilik untuk seluruh volume - biasanya, root. Sebagai alternatif untuk memindahkan seluruh direktori home Anda ke EXT4, Anda juga bisa memberikan kepemilikan seluruh partisi kepada pengguna atau grup tertentu menggunakan opsi 'uid' atau 'gid' untuk mount(atau dalam fstab). Ada implikasi keamanan dalam lingkungan multi-pengguna, tetapi saya menggunakan metode ini pada laptop dual-boot saya.

Jauh di dalam halaman manual untuk mount( man mount), kami menemukan ini di bawah opsi khusus sistem file untuk NTFS:
uid=value, gid=value and umask=value
Set the file permission on the filesystem. The umask value is given in octal. By default, the files are owned by root and not readable by somebody else.

Baris Anda fstabkemudian akan diubah menjadi UUID=DC56D19E56DX3233 /home ntfs user,exec,uid=username,gid=group 0 2, dan Anda akan bebas mengedit umask jika Anda mau.

Mactrent
sumber
3

Masalahnya, sebagaimana disebutkan dalam komentar, adalah bahwa direktori home saya dipasang pada hard drive yang berbeda dengan sistem file NTFS.

Saya mencadangkan direktori rumah saya dengan Deja Dup ke drive eksternal. Kemudian digunakan gparted untuk memformat drive NTFS internal dan mengubah sistem file menjadi EXT4.

Selanjutnya saya mengubah /etc/ststab agar sesuai dengan UUID drive yang baru dan mengubah "ntfs" menjadi "ext4".

Setelah restart, saya harus menekan Ctrl + Alt + F1 untuk login di terminal. Saya ada di sana dapat menggunakan sudo chown -R pengguna: pengguna / rumah / pengguna.

Saya kemudian dapat login ke GUI, dan mengembalikan direktori home saya menggunakan Deja Dup dan cadangan pada drive eksternal saya.

Sejauh ini, semuanya bekerja dengan baik.

DJElbow
sumber
1
Sayangnya saya memiliki masalah yang sama tetapi saya ingin folder juga dapat diakses dari windows. Karena saya adalah satu-satunya pengguna, saya akan mengubah pemilik: grup dari seluruh partisi sesuai jawaban Mactrent.
flurbius