Ubuntu: kullanıcılar ana dizini (/ home / user) için varsayılan erişim modu (izinler)


16

Ubuntu'daki kullanıcılar ana dizinleri için varsayılan erişim modu (ör. 0755) nedir (örneğin çıktısı nedir ls -ld /home/*)? Diğer büyük linux dağıtımlarında (Debian, RedHat, Gentoo, Arch)?

Bu varsayılanı nasıl değiştirebilirim?

PS: Üzgünüm, ama şimdi bir ubuntu bulamıyorum ve bunu kendim test edemiyorum.


skelhome-dirs
Umask

Lütfen yorumlara yeni bilgi eklemeyin, ancak orijinal soruya
ekleyin

yeni bir bilgi değil,
sorumun

Yanıtlar:


16

Kullanarak bir kullanıcı oluştururken useradd --create-home username, /etc/skelizinleri de dahil olmak üzere iskelet dizini (genellikle ) kopyalanır.

Giriş dizini ( /home/username), içindeki UMASKayara tabidir /etc/login.defs. Bu 022varsayılan olarak ayarlanmıştır , bu nedenle izinleri /home/username755 olur.

Ubuntu kılavuz sayfasındanuseradd ilgili alıntı :

/Etc/login.defs dosyasında aşağıdaki yapılandırma değişkenleri bu aracın davranışını değiştirir:
[..]
UMASK (sayı)

Dosya modu oluşturma maskesi bu değere başlatılır. Belirtilmezse, maske 022 olarak başlatılır.

useradd ve newusers, oluşturdukları giriş dizininin modunu ayarlamak için bu maskeyi kullanır


Redhat / debian ne olacak?
osgx

AFAIK standart bir şey useradd, eğer Ubuntu'ya özgü olacaksa, manuel sayfada belirtilmiş olmalıydı. Bir redhat kılavuzu sayfası: linux.die.net/man/8/useradd
Lekensteyn

11

Kullanıcı evinin varsayılan izni aşağıdaki yerlerde kontrol edilebilir.

  • İskelet dizini seçeneği ( -k, --skel SKEL_DIR) useradd.
  • SKELdeğeri /etc/adduser.confvarsayılan iskelet dizini tanımlar.
  • DIR_MODEdeğeri /etc/adduser.confvarsayılan izinleri tanımlar.

Yeni kullanıcıların giriş dizini /etc/skelşablon olarak oluşturulur (varsayılan davranış).
Varsayılan izni /etc/skelolan 0755 (drwxr-xr-x).
Doğru izinlere sahip özel bir iskelet dizini kullanmak, yeni giriş dizinlerinin istenen izinlere sahip olmasını sağlar.

İçin Varsayılan addusertanımlanmıştır /etc/adduser.conf.
Varsayılan değeri DIR_MODEde /etc/adduser.confolduğunu 0755.
Değişen DIR_MODEdoğru izinlerle (hiç DIR_MODE=0750veya benzeri) yeni ev dizinleri istenen izinlere sahip sağlayacaktır.
Ubuntu belgelerine göre, bu en iyi seçenek gibi görünüyor.

Zaten mevcut olan kullanıcı ana sayfa dizinlerinin manuel olarak değiştirilmesi gerekecektir.

sudo chmod 0750 /home/username

Bu nedenle, /etc/adduser.confyeni kullanıcıların 0755 (drwxr-xr-x)tür izinleri almasını önlemek için kurulumdan hemen sonra değiştirmek iyi bir fikirdir .
Yine de kurulum sırasında oluşturulan ilk kullanıcı 0755, manuel olarak değiştirilmesi gereken ana dizinine ayarlanmış olacaktır .

UMASKin /etc/login.defs, kullanıcılar tarafından oluşturulan dosyalar / dizinler / vb. için (yalnızca ana dizinlerinde değil) genel bir ayardır. ve bağlı-değiştirdi USERGROUPS_ENABiçinde /etc/login.defs.

Resmi açıklama: Kullanıcı Yönetimi - Kullanıcı Profili Güvenliği
Kullanıcı Yönetiminin diğer bölümlerini de kontrol edin.

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


3
Yalnızca bağlantı yanıtları, gelecekteki olası bağlantı çürümesi nedeniyle hayırdır. Lütfen yanıtlarınıza ilgili bilgileri ekleyin.
Julcʜιᴇ007

@ techie007 biliyorum. Eğer yeterli temsilcileri olsaydı bir yorum kullanmış olurdu.
Sithsu

1
@ techie007 Cevaba daha fazla içerik eklendi
Sithsu

Ayar DIR_MODEiçinde /etc/adduser.confkesinlikle gitmek doğru yoldur.
user1338062

2

Not: Yalnızca giriş dizini izinlerini değiştirmek istiyorsanız /etc/login.defs dosyasındaki UMASK değerini değiştirmeyin. Çünkü UMASK'ın değiştirilmesi her şeyi etkileyecektir.

Bir zamanlar aynı izledim ve pip kullanarak geniş bir paket sistemi kurduğumda diğer kullanıcılar tarafından erişilemedi ve sürekli izin alamadı. Varsayılan UMASK , değişiklikler uygulandıktan sonra oluşturulan tüm paket dizinlerinin iznini etkilediğinden.

Doğru bir şekilde değiştirmek için dir_mode olarak /etc/adduser.conf . Yana /etc/adduser.conf en Linux dağıtımlar kullanılan bu çözüm en yarayan bir.


1

Ubuntu'daki / home için varsayılan izinler rwxr-xr-x veya 755'tir. / Home / kullanıcı için de rwxr-xr-x veya 755'tir. En azından benim yüklememde.

Giriş dizininin dosya izinlerini değiştirmek için bir terminal açın ve şöyle bir şey çalıştırın:

chmod 700 /home/user

700'ü gerçekte ayarlamak istediğiniz chmod değerine değiştirmeyi unutmayın.

Dizinin sahibi siz değilseniz, izinleri değiştirmek için kök ayrıcalıklarına ihtiyacınız vardır. Ubuntu sudobunun için kullanır :

sudo chmod 700 /home/user

Bu komutu çalıştırdığınızda yönetici şifresi ister.


2
İkinci bölümünüz yanlış, giriş dizini size aittir, bu nedenle bunun için süper kullanıcı hakkına ihtiyacınız yoktur.
Lekensteyn

Sadece kendi evinde haklarını değiştirmek istediğini varsayıyorsun. "Dizinin sahibi siz değilseniz" dedim. Kodum herhangi bir kullanıcının ana sayfasında çalışacaktır.
Rincewind42

Yayınınızı daha doğru hale getirmek için düzenledim (umarım
beğenirsiniz

0

Umask man sayfasını kontrol edin .

Varsayılan umask ayarı:

0022

Erişime izin verir group, othersokuma ve yürütme.


Hayır, Sorum bir umask değil, kullanıcının klasörünün varsayılan izinleri hakkında (kullanıcı aoluşturulduktan hemen sonra , çıktısı ne olacak ls -ld /home/a)
osgx
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.