Pemilik default / izin file dalam direktori home user

14

Saya sering melihat pengguna yang mencoba untuk memperbaiki masalah dan di suatu tempat membaca atau hanya mencoba untuk secara rekursif chowndirektori home mereka dan kadang-kadang bahkan juga mengatur ulang izin secara rekursif untuk sesuatu seperti rwxr-xr-xatau serupa.

Bayangkan pembantaian pemilik / izin tersebut - adakah file / direktori penting yang memerlukan izin khusus atau untuk dimiliki root agar sistem dapat berfungsi?

Komandan Byte
sumber
1
File Wat yang sedang Anda bicarakan? Mengapa file penting yang dimiliki oleh root berada di rumah pengguna?
mikewhthing
1
@mikewhatever Aku tahu setidaknya tiga direktori yang perlu dimiliki oleh root: ~/.gvfs/, ~/.cache/gvfs-burn/dan ~/.cache/dconf. Mungkin masih ada lagi.
Byte Commander
1
drwx------ 2 romano romano 4096 dic 2 2008 .gvfsdan tidak pernah punya masalah .... (lihat tanggal). Jugadrwx------ 2 romano romano 4096 abr 28 14:57 .cache/dconf
Rmano
3
Tidak ada file "kritis" di direktori home user, jika ada maka itu adalah hasil dari pemrograman yang sangat buruk, karena pengguna dapat menghapusnya secara sengaja / tidak sengaja dalam sekejap. Kecuali itu kesalahan, file "kritis" disimpan di tempat lain.
kos
FWIW, saya dapat mengkonfirmasi bahwa ~ / .gvfs dan ~ / .cache / dconf pada sistem saya keduanya dimiliki oleh root. Saya menjalankan "sudo ls -Al" di kedua direktori, dan keduanya kosong. Meskipun saya telah mengubah grup dan izin lainnya untuk dokumen, saya tidak pernah menjalankan chown. Jadi, kepemilikan root untuk kedua direktori ini bisa menjadi normal, setidaknya untuk Ubuntu 15.04. Juga, saya tidak memiliki direktori ~ / .cache / gvfs-burn, atau direktori ipc-admin yang disebutkan oleh Byte Commander yang dimiliki oleh root. Tapi, file numeric-alpha-named dalam ~ / .dbus / session-bus dimiliki oleh Saya, bukan root.
pengguna173876

Jawaban:

17

TIDAK ada file di ~harus dimiliki oleh root.

Jika suatu perangkat lunak mengharuskan file dalam direktori home Anda dimiliki oleh pengguna lain, itu adalah bug dan harus dilaporkan demikian.

Selain itu, kasus umum melibatkan dua perangkat lunak terkait keamanan yang memerlukan izin terbatas pada file tertentu, yaitu:

  1. SSH
  2. GPG

SSH

Lihat man ssh, bagian FILES:

 ~/.ssh/config
     This is the per-user configuration file.  The file format and
     configuration options are described in ssh_config(5).  Because of
     the potential for abuse, this file must have strict permissions:
     read/write for the user, and not writable by others.  It may be
     group-writable provided that the group in question contains only
     the user.

 ~/.ssh/identity
 ~/.ssh/id_dsa
 ~/.ssh/id_ecdsa
 ~/.ssh/id_ed25519
 ~/.ssh/id_rsa
     Contains the private key for authentication.  These files contain
     sensitive data and should be readable by the user but not acces‐
     sible by others (read/write/execute).  ssh will simply ignore a
     private key file if it is accessible by others.  It is possible
     to specify a passphrase when generating the key which will be
     used to encrypt the sensitive part of this file using 3DES.

File lain seperti authorized_keys,, known_hostsdll. Hanya dapat ditulis oleh pengguna, tetapi dapat dibaca oleh dunia.

GnuPG

~/.gnupg(dan konten) hanya dapat diakses oleh Anda. Dengan izin lain, GPG akan mengeluh tentang izin tidak aman.

muru
sumber
Jadi bagaimana dengan ~/.gvfs/, ~/.cache/gvfs-burn/dan ~/.cache/dconf? Mereka milik root dan saya pikir mereka harus.
Byte Commander
2
@ByteCommander nggak. Gunakan sudodengan program GUI, bukan?
muru
Bukannya saya bisa mengingatnya ... Saya membuat pengguna baru dan memeriksa di sana. Tolong tunggu sebentar.
Byte Commander
@ByteCommander lihat: bugzilla.gnome.org/show_bug.cgi?id=534284
muru
1
@ByteCommander jika itu maksudnya, maka sudo -iatau sudo -Hmungkin harus digunakan.
muru
11

Secara umum file dan direktori di rumah Anda harus dimiliki oleh Anda.
Saya memiliki beberapa file aneh yang dimiliki root yang mungkin merupakan hasil dari mengeksekusi sudoperintah; sebenarnya ada program yang menulis hal-hal di bawah $HOME(yang program berperilaku baik yang membutuhkan hak super-user tidak boleh melakukan --- efeknya adalah mengambil kepemilikan root dari file yang seharusnya menjadi milik pengguna).
Biasanya menghapus atau memiliki kembali mereka (tergantung pada file) tidak menimbulkan masalah dan seringkali memecahkan beberapa, seperti .Xauthorityfile terkenal --- dan kadang-kadang, setelah berjalan sudo dconf-editor, Anda memiliki hal-hal dalam konfigurasi yang tidak dapat Anda modifikasi lagi.

Tentang mode khusus:

  • skrip harus dapat dieksekusi, tentu saja, setidaknya untuk pemiliknya;
  • demikian juga harus direktori (di mana xberarti hak untuk menyeberang);
  • .sshharus drwx------(0700) dan kunci pribadi di dalamnya -rw-------(0600)
  • jika Anda memiliki Publicdirektori untuk dibagikan, itu mungkin drwxr-xr-x(izin baca untuk siapa saja) atau drwxrwxrwt(dengan izin menulis dan sedikit lengket, untuk memungkinkan penulisan).

... Saya tidak bisa memikirkan hal lain yang lebih membutuhkan perawatan khusus.

Rmano
sumber
Jadi bagaimana dengan ~/.gvfs/, ~/.cache/gvfs-burn/dan ~/.cache/dconf? Mereka milik root dan saya pikir mereka harus.
Byte Commander
@ByteCommander --- semua itu dimiliki oleh saya di sistem saya, dan tidak ada kesalahan fungsi. Menurut Anda mengapa mereka harus dimiliki oleh root? In dconfadalah konfigurasi Anda , dan perintah / daemon istimewa yang melakukan pemasangan partisi harus mengalihkan kepemilikan kepada Anda --- jika tidak itu adalah bug. Saya mengomentari ini pada pertanyaan Anda.
Rmano
Saya telah menemukan dua file lain yang dimiliki oleh root yang saya tidak yakin apakah itu benar atau salah: ~/.dbus/session-bus/7ae519bec942595a6925fb2d5448031b-1dan/home/ipc-admin/.aptitude/config , banyak hal di bawah /home/ipc-admin/.cache/pip/wheels/, /home/ipc-admin/.local/share/session_migration-(null)dan /home/ipc-admin/.local/share/applications/mimeapps.list. Bisakah Anda bayangkan mengapa itu dimiliki oleh root pada sistem saya?
Byte Commander