Ubuntu'da iki sudo kullanıcısı bulunduğunda kullanıcı dosyaları hala gizli mi?


31

Kişisel Ubuntu PC'mi meslektaşlarımdan biriyle paylaşıyorum.

Farklı bir şifre ile (tabii ki bilir) başka bir kullanıcı yarattım ve listeye ekledim sudoer.

sudoTek bir Ubuntu sisteminde iki kullanıcı olduğu göz önüne alındığında :

  • Bu kullanıcıların herhangi birinin özel dosyaları (sahipler ve izinler tarafından belirtilen) hala gizli mi?

  • Meslektaşımın dosyalarını sudokomut, hatta sudo suveya tam tersi olarak değiştirebilir miyim ?



6
Ubuntu, kullanıcıyı oluştururken şifrelenmiş bir ev klasörü oluşturmanıza izin verir. Bu tam olarak burada ihtiyaç duyulan özellik olabilir.
Thorbjørn Ravn Andersen


@ ThorbjørnRavnAndersen Giriş klasörünü şifreledikten sonra içerideki dosyalara daha önce yaptığım kadar uygun bir şekilde erişebilir miyim?
Jizhou Huang,

3
Neden diğer kullanıcılardan sudo erişimini kaldırmıyorsun ve tek yönetici oldun? Diğer kullanıcının neden sudo yapması gerektiğine
bakılmaksızın

Yanıtlar:


51

Eğer meslektaşınız sudolar listesinde ise, istediği kadar sizin kadar köklüdür (ve sizi de taklit edebilir) ve sonra her şeyi görebilir.

Bu, kullanıcının gizliliğini istiyorsanız, sahip olabileceğiniz en kötü kurulumdur. Linux'ta kullanıcı yönetiminin nasıl çalıştığını kesinlikle okumalısınız. İşte başlayabileceğiniz birkaç makale:

Ve o zaman bile birisi söz konusu makineye fiziksel erişime sahip olsa bile, gizlilik yoktur, önyüklemede bir kök kabuğuna düşebilir ve ne olursa olsun her şeyi görebilir ve eğer bu şifre korumalıysa yine de bir USB çubuğu kullanabilir ve bu taraftan gir.

Bu durumda en iyi şey, uygun kullanıcı yönetimi, root şifresi ve şifreli sürücü ve / veya şifreli ev dizinleridir.


2
Kesin sudo -içalışmadığından emin
olsam

3
Sudoer'lerin en basit ve en yaygın konfigürasyonu, bir kullanıcı listesinin geçici olarak kök ayrıcalıklarına sahip olmasına izin vermek olsa da, sudoers ince taneli erişim kontrolü sağlar. Örneğin, bir kullanıcının yalnızca belirli belirli komutları root olarak çalıştırabileceğini belirtebilirsiniz. Bir kullanıcının yalnızca kök kabuk oluşturmasına izin vermeyen veya izin vermek istediğiniz komutların kapsamı dışında kalıcı kök erişimi oluşturmasına izin vermeyen komutları yürütmesine izin vermeye özen gösterirseniz, genel olarak kök erişimini vermekten kaçınabilirsiniz.
bgvaughan

19

Basit bir alternatif, özel verilerinizi şifrelenmiş bir dosyada tutmaktır (örneğin, gpg ile şifrelediğiniz katranlı bir arşiv dosyası olabilir). Bunlara baktıktan sonra temiz metin dosyalarının üzerine yazmayı ve kaldırmayı unutmayın.

Bir bilgisayarı ve sudo (root) erişimini paylaşan hepiniz için bir başka alternatif şifreli ev ve şifreli takas kullanmaktır.

Ancak aynı anda giriş yaptıysanız, bu yardımcı olmaz. Aslına bakarsanız, şifrelenmiş evinizde bile dosyalarınızdan açık metin biçiminde kurtulmak için bilgisayarı yeniden başlatmanız gerekir.


Genel olarak güvenlik çok zordur ve şifreli diski olan tek bir kullanıcı sistemi (şifrelemeli LVM) işleri güvende tutmanın en basit yolu olacaktır.

  • Hassas özel verileri paylaşılan bir bilgisayarda saklamayın
  • Özel verileri işvereninize ait bir bilgisayarda saklamayın

3
Bir dm-crypt / LUKS kapsayıcısı, açık metin dosyalarının (herhangi bir uygulamanın geçici dosyaları ve takaslar hariç) üzerine yazılması ya da ecryptfs-mount-private
Xen2050

6
Bu, sizi kötü hizmetçi saldırılarına karşı korumaz bile: diğer sudo kullanıcısı, sistemi parolanızı girmeniz için sizi kandıracak şekilde değiştirebilir. Böyle bir soru "Meslektaşımın bir Rus casusu olduğundan şüpheleniyorum. Ona bilgisayarımda sudo hakları vermeli miyim?"
sleblanc

Peki ya şifreli disk imajına sahip sanal bir makine? blogs.oracle.com/scoter/…
leftaroundabout

1
Gizliliğe ihtiyacınız varsa, tek bir kullanıcı sistemine yani başka bir kullanıcıya, kesinlikle başka bir sudo kullanıcısına ihtiyacınız yoktur. Şifreleme sistemine sahip Ubuntu LVM, kötü hizmetçi saldırılarına karşı savunmasızdır. Yine de şifreli ev de dahil olmak üzere diğer kolay alternatiflerden daha iyi olduğunu düşünüyorum. Tabii ki, dilerseniz, davetsiz misafirlerin işlerini
sudodus

Kök kullanıcının yapması gereken tek şey diamorphine gibi bir çekirdek uzay rootkit'i kurmak. Kullanıcıların hack'leri ile uğraşmamaya bile gerek yok LD_PRELOAD: sadece basit bir tuşa basma kaydedici hazırlayın ve yazmanın zamanına / gruplamasına ve bazı metin ayrıştırma işlemlerine dayalı bazı K-anlamında segmentasyon yapmak için bazı python komut dosyalarına atın ve yapılır. Artık kullanıcı için bir parola sizde var ve muhtemelen kişisel verilerinden yararlanabilirsiniz.
Cloud

8

Alacağınız koyduğumuzda root(örn kullanarak izinleri sudo, suvs.).
Sistemdeki her dosyaya tam erişiminiz var.

Olan kullanıcılar hem Yani sudoizni ve oldu yapabilirsiniz rootkullanarak sudo bashsistemde her dosya tam erişim hakkına sahip olacak

Göre bu Q ve A içinde SE-Securitydeğiştirebilir mümkün olabilir: SELinuxsınırı için (ki Ubuntu değil) rooterişim:

Sorunuz "Şimdi bunu kolayca ve güvenle yapabilir miyim?" cevap hayır. Cevabınız "SELinux hakkında bilgi almaya hazırım, dağıtımımla kirlenin ve kirlenin ve çalışmayan pek çok şeyle hazır oldum" cevabını veriyorsanız, cevabı ortalama yüklemenizden çok daha fazla kökü sınırlamanız mümkündür. Bununla birlikte, bu sizi hiçbir şekilde istismarlara karşı savunmasız bırakmaz - bir kullanıcının bu ekstra erişim kontrolünü yazılımda veya fiziksel olarak atlatması imkansız değildir.


2
Kökünü apparmor ve selinux ile sınırlayabilirsiniz, ancak tam kök erişimi veya kurtarma kabuğu veya canlı bir CD üzerinden erişimi olan biri, her iki sistemde (apparmor veya selinux) geri değiştirebilir.
Panter

1
SELinux kullanıyorsanız veya hangi kökün doğrudan yapabileceğini sınırlayacak şekilde kullanıyorsanız bile, yine de kullanıcıların kendi çalıştırdıkları yardımcı programları değiştirebilirler. Herhangi bir yükseltme yapabilmeleri gerekiyorsa, sistemdeki ikili dosyaları değiştirmek için erişmeleri gerekir ...
ilkkachu

5

Diğer cevapların daha önce açıkça ifade ettiği şeyi yapmak için: Diğer kullanıcı yalnızca "sizin kadar kök" değildir (Videonun cevabı), aynı zamanda siz de olabilirler (kullanıcı hesabınıza geçin) .

Bunun nedeni, süper kullanıcı ayrıcalıklarıyla herhangi birinin herhangi bir hesaba geçiş yapmasıdır.

Muhtemelen biliyorsun

sudo su

root bir şifre setine sahip değilse bir root kabuğunu açma seçeneğidir (bu yüzden direkt olarak root olarak giriş yapamazsınız).

su"Kullanıcı değiştir" kısaltması. Hangi kullanıcıya geçer? Hiçbiri belirtilmedi, değil mi? Ancak man sayfasından şunu öğrenebiliriz:

Bir kullanıcı adı olmadan çağrılır, varsayılan olarak süper kullanıcı olma Su.

Yani bu etkili

sudo su root

Eğer rootbaşka birşeyi yeniden adlandırmazsan .

Yeni koştuysanız su <someuser>, bir şifre girmeniz istenir. Bu nedenle su root, koşarsanız, kök şifreniz istenir (varsayılan olarak Ubuntu'da mevcut değildir, bu yüzden giriş yapamazsınız (şifre belirlenmemiş olduğunu unutmayın) boş dize olan paroladan farklı)). Ancak sudo su rootkaçarsanız, kendi şifrenizi girmeniz istenir. Ve sadece bunun için istenir sudo. Bir kez sudoşifrenizi alınan, bunun superuser hakları ile parametre olarak alınan komutu çalıştırır. Süper kullanıcı haklarına sahip olduğunuzda herhangi bir hesaba geçilebileceğinden, bir şifre istemi gerekli değildir.

Yani yürüterek

sudo su <yourusername>

, diğer sudoer sizin gibi giriş yapabilir.


+ 1; Evet, bu karışıklığa neden olmadığı için bahsetmedim, bir makineyi uygun şekilde koruma alanı geniş ve üzerinde mücadele edebileceğiniz taşlarla dolu. Halen cevap olarak verilenlere hala iyi bir ek.
Videonauth

Emin değilsiniz, ancak sudo suher zaman varsayılan olarak UID 0 ve GUID 0 olarak değil mi? Eğer evet ise, 'kök' adını nasıl verdiğiniz önemli olmamalıdır.
Videonauth

@Videonauth İkinci yorumun ikinci cümlesinde haklısın. Ancak bu, eleştirdiğiniz cümleyi dahil etmemin asıl nedeni. Eğer adını rootdeğiştirirseniz john, sudo suşimdi eşdeğerdir sudo su johnve artık eşittir sudo su root.
UTF-8

3

Sudoers dosyasını ( /etc/sudoers) düzenleyerek sudo ayrıcalık yükselmesi kullanarak çalıştırılabilecek programları sınırlamak mümkündür .

Daha fazla ayrıntı için ve ayrıca Unix ve Linux'ta bu soruya kabul edilen cevaba bakınız . İçindeki sınırlayıcı ayrıcalıklar hakkında bir öneri için slm tarafından verilen cevaba bakınız ./etc/sudoers

Ayrıca sudoers mansayfasını da yazarak kontrol edin ve man sudoerstest etmeyi unutmayın. Unutulmuş sudo erişimi olan bir kullanıcının başka bir kullanıcıyı tamamen taklit edebileceğini unutmayın. Örneğin, eğer kullanıcı fookomutu çalıştırsa

sudo exec su - bar

daha sonra bartüm bu ayrıcalıklara sahip olarak kullanıcı olarak hareket edebileceklerdi .


6
Belirli geldiğini hatırlatırız sudoersgösterilen hatlar slm en ve mtak en cevapları işe yaramaz o idam etmeleri kullanımı kolay trivially var gibi bazı eylem ve diğerlerini gerçekleştirme olanağı vermek için herhangi bir komut. (Nedeninin ayrıntılı açıklamaları için bu cevapların her birine ilişkin yorumları inceleyin.) Bu cevap, kullanıcıların etkili bir şekilde yöneticileri etkin bir şekilde kullanmadan belirli komutları root olarak kullanmalarını sağlamak için bazen mümkün olmaları nedeniyle kesinlikle yanlış olmayabilir sudo. Fakat bunu doğru yapmak çok zor .
Eliah Kagan

@EliahKagan Doğru. Herhangi bir komutu yerine getirmelerine izin verecek bir mekanizmaya ulaşmalarına izin vermediğinizden emin olmanız gerekir. Tabii ki, diğer kişiye verdiğiniz güven seviyesine bağlıdır.

1
@EliahKagan Dolayısıyla, hem man sayfasını okuyan hem de herhangi bir uygulamayı test etme konusundaki heyecan. Bir kullanıcıyı sudo ayrıcalıklarıyla sınırlamak mümkündür. Ancak, belirttiğiniz gibi, tamamen güvenli bir çözüm değildir ve sudo hakları verilen kullanıcılara bir miktar güven verilmelidir. Özellikle sudo komutunun kapsamını sınırlamak amacıyla tasarlanan mekanizmanın (sudoers dosya girdileri) kullanılmasını öneren bir cevap için aşağı oylar görmek ilginç.
büyücü

Sanırım bir mekanizmada yerleşik bir mekanizma kullanılması önerisi ile ilgili değil, bu yüzden cevabınız için size hangi yapıcı eleştiriyi verebileceğime bakalım. 1) Bazı yazım hataları içeriyor ve zayıf biçimlendirilmiş ve okuduğunuzda kendi içinde çok kolay bir şekilde düzeltilebilecek garip görünüyor. 2) Ubuntu Ask dışında verilen diğer cevapları işaret edersiniz , burada önemli kısımları blok alıntılar olarak almalı ve onları buraya göndermelisiniz, bu da bağlantılarınızı, onlardan aldığınız kaynakları gösterecek şekilde alıntıların bir parçası haline getirmelidir. Umarım bu cevabınızı geliştirmek için yardımcı olacaktır.
Videonauth

Ve önceki yorumumdaki karakterleri tükettiğimden: 3) Açıklamada biraz daha derinlere gidebilir, @EliahKagan 'ın verdiği uyarıları işaret edebilirsiniz.
Videonauth

0

encrypt home folderUbuntu'yu kurarken işaretlediyseniz, önceki cevaplar tam olarak geçerli değildir . Bu, her kullanıcı için şifreli ana klasörleri garanti eder, hatta kök, bu ana klasörün kullanıcısının / sahibinin doğru şifresi olmadan verileri okuyamaz. Meslektaşınızın, farkedilecek dosyaları okumak için şifrenizi değiştirmesi gerekir.

Ve elbette insanlar haklı, makineleri değerli ya da hassas verilerle paylaşıyorlar ve bunun üzerine iş arkadaşlarıyla kök erişimi yapıyorlar, iyi bir fikir değil.

Bu verinin değerine bağlı olarak, kendi makinenizi sormanızı öneririm.


1
Bu, bir kök kullanıcının "su -" veya benzer bir manevra yapmasını "kurban" oturum açtıktan hemen sonra engellemeyebilir ve şifreli bir sürücüyü monte ettiğinde .... bunun için bekleyen bir cron betiği veya başka bir tetikleyici de olabilir. gerçekleşmesi için. Ayrıca, bir kök kullanıcı şifreli ana dizinin kilidini cleartext şifresini depolayan bir sürümle açmak ve şifre beklemekte olan ikili dosyayı kolayca değiştirebilir. Bu tür saldırıları durduran tüm güvenlik mekanizmaları, kurbanın istediği gibi kullanacağı bir ikili dosyayı değiştirerek hala kaldırılabilir.
rackandboneman

5
Bu cevabı yalnızca şifreli bir giriş dizini olarak indirdim, ancak henüz giriş yapmadıysanız yardımcı olur. Giriş yaptığınız anda şifreniz çözülür ve sudo erişimi olan diğer kullanıcılar tarafından kullanılabilir.
Panter

2
Ama neden olmak zorundalar? Eşzamanlı girişler hiçbir zaman uzaktan (örneğin SSH) veya sanal konsollarla yapılmasa bile, iki kullanıcı aynı anda grafik olarak giriş yapamaz ve arasında geçiş yapamaz mı? Lubuntu (LXDE olan) kullanıyorum ve aynı anda birden fazla kullanıcıyla grafiksel olarak hiç giriş yapmadım , ancak izlenimim daha zengin özelliklere sahip masaüstü ortamlarının birkaç yıl boyunca bunu desteklediğini ve varsayılan olarak etkinleştirebildiğimdi. Yanılıyor muyum? Alternatif olarak, dosyalar kilitlendiğinde ve ekran kilitlendiğinde kök tarafından okunamıyor mu?
Eliah Kagan

2
IRRC, kullanıcı şifreleme anahtarları, şifreleme ve şifre çözme sağlamak için makinede açık bir şekilde depolanır; bu nedenle sudo su - <username>, diğer kullanıcıların şifresine ihtiyaç duymaz, normalde diğer kullanıcılar dizininin şifresini çözer. Fakat burada yanlış olabilir, bir VM'de test etmem gerekiyor ve bunu daha sonra yapacağım. Her neyse, tüm davaların% 99'unda şuna varıyor: "Makinenize fiziksel olarak erişebilirsem, hortumlanırsınız!".
Videonauth

1
Süper bir kullanıcı gördüğü kullanıcı adlarını ve şifrelerini kaydetmek için giriş prosedürünü değiştirebilir. Diğer kullanıcı oturum açıp sorun çözülene kadar bekleyin.
Stig Hemmer
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.