Ubuntu: mode akses default (izin) untuk pengguna home dir (/ home / user)

14

Apa yang dimaksud dengan mode akses default (misalnya 0755) untuk direktori home pengguna di Ubuntu (mis. Apa output ls -ld /home/*)? Di distrib linux besar lainnya (Debian, RedHat, Gentoo, Arch)?

Bagaimana saya bisa mengubah default ini?

PS: Maaf, tapi saya tidak bisa menemukan ubuntu sekarang dan mengujinya sendiri.

osgx
sumber
Saya tidak bertanya tentang umask, tetapi tentang skeldanhome-dirs
osgx
Tolong jangan tambahkan informasi baru di komentar, tetapi sertakan dalam pertanyaan asli
bbaja42
ini bukan info baru, ini adalah komentar tentang pemahaman yang salah atas pertanyaan saya
osgx

Jawaban:

15

Saat membuat pengguna menggunakan useradd --create-home username, direktori kerangka (biasanya /etc/skel) disalin, termasuk izinnya.

Direktori rumah ( /home/username) tunduk pada UMASKpengaturan di /etc/login.defs. Ini diatur ke 022secara default, sehingga izin untuk /home/usernamemenjadi 755.

Kutipan yang relevan dari halaman manual Ubuntu dariuseradd :

Variabel konfigurasi berikut di /etc/login.defs mengubah perilaku alat ini:
[..]
UMASK (angka)

Topeng pembuatan mode file diinisialisasi ke nilai ini. Jika tidak ditentukan, mask akan diinisialisasi ke 022.

useradd dan pengguna baru menggunakan topeng ini untuk mengatur mode direktori home yang mereka buat

Lekensteyn
sumber
Bagaimana dengan redhat / debian?
osgx
AFAIK itu standar useradd, jika itu spesifik untuk Ubuntu, seharusnya disebutkan di halaman buku panduan. Halaman manual redhat: linux.die.net/man/8/useradd
Lekensteyn
10

Izin default rumah pengguna dapat dikontrol di tempat-tempat berikut.

  • Opsi direktori kerangka ( -k, --skel SKEL_DIR) dari useradd.
  • SKELnilai dalam /etc/adduser.confmendefinisikan direktori kerangka default.
  • DIR_MODEnilai /etc/adduser.confyang menentukan izin default.

Direktori rumah pengguna baru dibuat menggunakan /etc/skeltemplat (perilaku default).
Izin default dari /etc/skeladalah 0755 (drwxr-xr-x).
Menggunakan direktori kerangka khusus dengan izin yang benar akan memungkinkan direktori home baru memiliki izin yang diinginkan.

Default untuk adduserdidefinisikan dalam /etc/adduser.conf.
Nilai default DIR_MODEin /etc/adduser.confadalah 0755.
Mengubah DIR_MODEuntuk memperbaiki izin ( DIR_MODE=0750atau serupa) akan memungkinkan direktori home baru memiliki izin yang diinginkan.
Menurut dokumentasi Ubuntu, ini sepertinya menjadi pilihan terbaik.

Direktori home user yang sudah ada perlu diubah secara manual.

sudo chmod 0750 /home/username

Jadi itu ide yang baik untuk berubah /etc/adduser.conftepat setelah instalasi untuk menghindari pengguna baru mendapatkan 0755 (drwxr-xr-x)izin jenis.
Tetap saja pengguna pertama yang dibuat selama instalasi akan 0755mengatur ke direktori home-nya, yang harus diubah secara manual.

UMASKin /etc/login.defsadalah pengaturan umum untuk file / direktori / dll yang dibuat oleh pengguna (tidak hanya di direktori home mereka). dan bisa diubah tergantung USERGROUPS_ENABdi /etc/login.defs.

Penjelasan resmi: Manajemen Pengguna - Keamanan Profil Pengguna
Periksa bagian lain dari Manajemen Pengguna juga.

Terkait: /ubuntu/46501/why-can-other-users-see-the-files-in-my-home-folder

Sithsu
sumber
3
Jawaban hanya tautan adalah tidak boleh karena kemungkinan pembusukan tautan di masa mendatang. Harap sertakan informasi terkait dalam jawaban Anda.
Ƭᴇcʜιᴇ007
@ techie007 saya tahu. Akan menggunakan komentar jika saya punya cukup repetisi.
Sithsu
1
@ techie007 Menambahkan lebih banyak konten ke jawabannya
Sithsu
Pengaturan DIR_MODEdi /etc/adduser.confpasti cara yang tepat untuk pergi.
user1338062
2

Catatan: Jangan mengubah nilai UMASK di /etc/login.defs jika Anda ingin mengubah izin direktori home saja. Karena mengubah UMASK akan memengaruhi segalanya.

Saya pernah mengikuti hal yang sama dan ketika saya menginstal sistem paket apa saja menggunakan pip, itu tidak dapat diakses oleh pengguna lain dan terus-menerus membuang izin. Karena UMASK default memengaruhi izin semua direktori paket yang dibuat setelah perubahan diterapkan.

Cara yang benar adalah dengan memodifikasi DIR_MODE di /etc/adduser.conf . Karena /etc/adduser.conf digunakan di sebagian besar distro linux, maka solusi ini berfungsi paling baik.

Abhishek Meena
sumber
1

Izin default untuk / home di ubuntu adalah rwxr-xr-x atau 755. Untuk / home / user itu juga rwxr-xr-x atau 755. Paling tidak pada instalasi saya.

Untuk mengubah izin file dari direktori home, buka terminal dan jalankan sesuatu seperti:

chmod 700 /home/user

Ingatlah untuk mengubah 700 ke nilai chmod yang sebenarnya ingin Anda atur.

Jika Anda tidak memiliki direktori, Anda memerlukan hak akses root untuk mengubah izin. Ubuntu menggunakan sudountuk itu:

sudo chmod 700 /home/user

Ketika Anda menjalankan perintah ini, ia akan meminta kata sandi administrator.

Rincewind42
sumber
2
Bagian kedua Anda salah, direktori home dimiliki oleh Anda sendiri, jadi Anda tidak perlu superuser untuk itu.
Lekensteyn
Anggap saja dia hanya ingin mengubah hak dir dir rumahnya sendiri. Saya memang mengatakan "Jika Anda tidak memiliki direktori." Kode saya akan bekerja pada direktori home dari setiap pengguna.
Rincewind42
Saya mengedit posting Anda untuk membuatnya lebih benar (semoga Anda menyukainya), posting asli Anda tidak menyertakan itu sama sekali: superuser.com/revisions/303995/1
Lekensteyn
0

Periksa halaman umask man.

Pengaturan umask default adalah

0022

Mengizinkan groupdan othersbaca dan jalankan akses.

nik
sumber
Tidak, Pertanyaan saya bukan tentang umask, tetapi tentang izin default folder pengguna itu sendiri (tepat setelah pengguna adibuat, apa yang akan menjadi keluaran ls -ld /home/a)
osgx