Diğer kullanıcılar dosyaları neden ana klasörümde görebilir?


Yanıtlar:


32

Diğer Publicdizinlerle /home/userdosya paylaşmak için Giriş dizininizde ( ) bir klasör var . Başka bir kullanıcı bu Publicklasöre erişmek istiyorsa , dünya için yürütme biti , Giriş dizininde ayarlanmalıdır.

Başkalarının ana klasörünüze erişmesine izin vermeniz gerekmiyorsa (diğer insanlar veya www-dataweb sunucusu için beğenilmiş kullanıcılar ), varsayılan iznin 750 olduğu için buna chmod o-rwx "$HOME"eşdeğer (okuma / yazma / yürütme "diğer" den kaldırınız) chmod 750 "$HOME"). Aksi takdirde, yeni oluşturulan dosyaların varsayılan olarak dünya için okuma izinleri almasını önlemek için umaskayarı da değiştirmeniz gerekir .

Sistem çapında bir yapılandırma için düzenleme yapın /etc/profile; kullanıcı başına ayarları yapılandırılabilir ~/.profile. Tüm kullanıcılar için aynı politikayı tercih ediyorum, bu yüzden /etc/profiledosyayı düzenleyip satırı ekleyeceğim:

umask 027

Kabukta olmadığınız sürece, bu değişiklikleri uygulamak için tekrar giriş yapmanız gerekir. Bu durumda, umask 027kabukta koşabilirsiniz .

Şimdi mevcut izinleri düzeltmek için okuma / yazma / yürütme izinlerini diğerlerinden kaldırmanız gerekir:

chmod -R o-rwx ~

Şimdi, ~/Publicklasörü herkesle paylaşmaya karar verirseniz , bir sonraki komutu çalıştırın:

  • chmod o+x ~- herkesin dizinde ( x) yer almasına izin ver , ancak bir dizin listesi almasın ( reklenmemeli)
  • find ~/Public -type f -exec chmod o+r {} \; - herkesin dosyaları okumasına izin ver ~/Public
  • find ~/Public -type d -exec chmod o+rx {} \; - herkesin dizinlere girip içeriğini listelemesine izin ver

GNU coreutils kullanıyorsanız (örneğin Ubuntu'da, yalnızca sahip gömülü bir sistemde değil busybox), o zaman önceki iki komut , klasörleri ve dosyaları tekrar tekrar okunabilir kılan (ve ek olarak yürütmeyi ekleyen (iniş) ekleyen bu tek komutla değiştirilebilir findve chmoddeğiştirilebilir. sadece dizinler için bit ):

chmod -R o+rX ~/Public

13

Bir Ubuntuforms.org çalışanına göre , dosyaları yeni kullanıcılar arasında paylaşmayı kolaylaştırmaktır.

Dosyaların başkaları tarafından okunmasını ve çalıştırılmasını istemiyorsanız, izni 700 veya 750 olarak değiştirebilirsiniz.

Komut:

chmod 750 $HOME

Not: Ubuntu varsayılanı 755


2
Elbette diğer kullanıcılar sudo olmamalıdır .
Pablo A,

7

Mark Shuttleworth'a göre ,

"Ubuntu sistemlerinin kullanıcılarının çoğunluğu ya makineyi özel kullanıyor (kişisel dizüstü bilgisayar) ya da arkadaş ve akrabalarınızla paylaşıyorlar. Makineyi paylaşan kişilerin ya güvenebileceğini ya da makineyi hackleyebilecek bir konumda olduğunu varsayıyoruz (önyükleme USB!

... bu izinleri kaldırmaktan.


12
Sunucu baskısında aynı davranışa sahip olmanın bir güvenlik çukuru olduğunu düşünüyorum
warvariuc 28:15

4
Bu delice bir açıklama. Kişi hesapları dışında, kişilerin uygulamaları yalıtmak için kullanabileceği teknik hesaplar vardır. Ek olarak, makinede esasen hesabı paylaşan yerel bir ftp sunucusunun nasıl kurulacağına dair birçok talimat vardır.
Barafu Albino,

4
Bunun eski bir konu olduğunu biliyorum, ama bunu aptalca bir karar olarak kabul et. Başka bir profilden dosya okuyabilen ve gönderebilen app / script (istemeden olabilir) çalışan kullanıcılardan birinin hayal edin.
mauron85


1

Sanırım Lekensteyn'in cevabı, son iki bulma komutunu -m seçeneğini kullanarak chmod ile değiştirerek daha iyi hale getirilebileceğini düşünüyorum . İki bulma komutu ile değiştirilebilir

chmod -R o+rX ~/Public

Bu, dosyalar ve dizinler arasında uygun şekilde farklılık gösterir, ancak başkalarının yürütülebilir dosyaları çalıştırmalarına izin vermenin ek etkisine sahiptir.


0

Sizi ilgilendiren gizlilik olduğu için (uygulanan etiketleri dikkate alarak) izinlerin ayarlanması yetersizdir ( görmezden gelenin cevabına bakınız ). Cevap şifreli bir ana dizinin satırları boyunca olabilir . Bu çözüm, başka bir bilgisayarın kullanıcısı tarafından saldırıya karşı özel olarak tasarlanmıştır. Elbette, başka bir kullanıcının dosyalarınıza zarar vermesini engelleyemez (yalnızca ~/.Privatedizini kaldırarak , böylece tüm dosyalarınızı siler), ancak dizini bağlayamaz ve dosyaları şifreniz olmadan göremez.

Bunu başarmanın en kolay yolu yükleme işlemi sırasında, "Ana dizininizi şifrele" ifadesini içeren bir onay kutusu vardır ve bunu seçmeniz gerekir.

Sadece bunun için yeniden yüklemek isteyeceğiniz olası olmadığından (ve yeniden yüklemeden gerekli tüm riskleri hala taşıdığı için), aşağıdakileri yapabilirsiniz:

sudo apt-get install encryptfs-utils
encryptfs-migrate-home

-1

Gerçekten yüksek bir güvenlik düzeyine ihtiyacınız varsa: lütfen tekrar takın ve tüm diskinizi şifrelemek için seçeneği seçtiğinizden emin olun. Bu bile makineyi çalıştırmak için bir şifre gerektirecektir. Elbette ana klasörünüzü bunun üzerine bir kez daha şifreleyebilirsiniz; normal kullanım için farkedilmez olsa da.

Lütfen, giriş klasörünüzü şifrelemenin Dropbox gibi uygulamaları devre dışı bırakacağını unutmayın. Dropbox zaten gizliliğe saygı duyan güvenli bir depolama alanı değildir; Ancak, bulutta güvenli ve özel bir depolamaya ihtiyacınız varsa, MEGAsync'i şahsen tavsiye ederim, çünkü yalnızca verilere erişmek için gerekli anahtarlara sahip olacaksınız.

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.