Hangi çok kullanıcılı işletim sistemleri, kullanıcının diğer kullanıcıların geçerli komut satırını görmesine izin verir?


13

Okuyordum manpage unzipve aşağıdakilere rastladım

-P password
       use password to decrypt encrypted zipfile entries (if  any).   THIS
       IS  INSECURE!   Many  multi-user operating systems provide ways for
       any user to see the current command line of any other user; even on
       stand-alone systems there is always the threat of over-the-shoulder
       peeking.

Parolaları açık metin olarak yazmama güvenlik önlemi (ve son olarak kabuk geçmişine sahip olmaları) elbette doğru olsa da, orada işletim sistemlerinin olduğuna inanmakta zorlanıyorum. herhangi bir kullanıcı komut satırını görebilirsiniz başka bir kullanıcı . Birisi bana bir örnek verebilir mi (eski sistemler dahil)?


inanıyorum ps, top, vb UNIX için cevaptır.


klavye sürücüsü)
STTR

@STTR Donanım hakkında çok az şey biliyorum, bu yüzden klavye sürücüsünün tüm kullanıcılara eşit ve tam erişim sağlayıp sağlamadığından emin değilim, ancak bu kesinlikle bir işletim sistemi değil ve buna bağlı hiçbir tty yok.
4ae1e1

1
Sadece bir not, eğer komutun bash geçmişine girmesini engellemek istiyorsanız, komuttan önce bir boşluk bırakılmalıdır.
joshreesjones

Yanıtlar:


4

Tahminim, kullanan Unix / Linux sistemlerinde olacaktır. lsof potansiyel olarak kullanıcı etkileşimi gösterebilir. Mantık bu olmak lsof sistemdeki açık dosyaların bir listesini gösterir. Ve eğer biri büyük bir dosyayı açıyorsa, o zaman birisinin farkına varması ve ardından etkinliğe göz atması için yeterince açık olacaktır. Heck, devam eden bir açık dosya etkinliği günlüğü toplamak için bir Bash betiği yazmak ve onu her dakika veya bir cron işi aracılığıyla çalıştırmak oldukça önemsizdir.

Ama bu hala bana yanlış geliyor. Demek istediğim lsof potansiyel olarak bu şekilde satır içi MySQL şifreleri gibi bir şey ortaya çıkarır. Ama normal bir kullanıcı olup olmadığına göre% 100 değilim sudo / root hakları görebilecektir lsof bunun gibi diğer kullanıcıların faaliyetleri.


3
Kesinlikle doğru yoldasın. bence lsof diğer kullanıcıların açık dosyalarını gösterir ve daha yüksek bir ayrıcalık gerekmez (kurumumun sunucusunda test edilmiştir). Benzer şekilde, ps ve top diğer kullanıcıların komut satırlarını gösterir.
4ae1e1

1
'Nin man sayfalarını da kontrol ettim ps, top ve lsof ve ayrıcalıktan bahsetmedi. Bu soru da var: Bir işlem diğer kullanıcılar tarafından görünmez hale getirilmeli? . Bu yüzden komut satırı UNIX sistemlerindeki herkes tarafından görülebilir. Hmm, büyük sürpriz.
4ae1e1

Öğrendim ttysnoop ve conspy Ancak, kök izinleri gerektirip gerektirmediklerinden emin değilim.
Vinayak

Hangi seçeneklere geçmek için lsof komut satırı parametresini görmek için izin verir? ör. lsof -a +c0 /dev/null Uzun komut adını görebiliyorum ancak komuta iletilen parametreyi göremiyorum. Ne kaçırdım? :-)
Hastur

4

Unix "ps" ye izin verir. Ayrıca, Unix genellikle hangi kullanıcıların çalıştığını gösterecek olan "w" komutuna sahiptir. "w" genellikle terminal boyutuna göre komutları kesebilir, ancak bu geçersiz kılınabilir. (Kolay bir yol, daha geniş bir terminal kullanmak olabilir.)

Bu muhtemelen birden fazla Unix benzeri sistemi de etkileyecektir (Linux, BSD sistemleri, Solaris vb.)

Microsoft Windows'un bunu Görev Yöneticisi'nde de göstereceğine inanıyorum. Belki de, Kullanıcı Hesabı Denetimi gerekebileceğinden, bu Windows Vista ve Kullanıcı Hesabı Denetimi ile daha az yaygındır. Ancak WinXP / Server2003 ve önceki günlerde, bu tür kısıtlamalar daha gevşek olabilirdi. NET USE'nin bir yıldız işaretini desteklemesinin ve ardından kullanıcıdan bir şifre istemesinin bir nedeni var. İle:

WMIC /NODE:ComputerName PROCESS LIST

Bir kullanıcının muhtemelen çalışan bir komutu görmek için aynı bilgisayarda olması gerekmez. Sonuçta, TaskList, TList ve PSList'in çoğunun (tümü Microsoft tarafından serbestçe dağıtılmış) muhtemelen, hangi kullanıcının çalıştığından bağımsız olarak ne olduğunu görebilme yeteneğini desteklediğinden şüpheleniyorum. En azından, Vista öncesi işletim sistemlerinde daha yaygın olan Yönetici ayrıcalıklarına sahip kullanıcılar. (Win9x'te genel standart, tüm kullanıcıların Yönetici benzeri yeteneklere sahip olmasıydı.) Alıntı yaptığınız belgeler olan Info-Zip'in WinXP'den biraz daha eski olduğunu unutmayın. Sonuçta ben Win95'ten daha eski olduğunu düşünüyorum.

Eski çok kullanıcılı sistemlerde, gizlilik bir endişe kadar büyük değildi. Bilgisayarın ne yaptığını görebilmek, diğer kullanıcıların ne çalıştırdığı komutları da dahil olmak üzere muhtemelen güvenlik açısından olumsuz bir ihlal değil, olumlu bir özellik olarak görülüyordu. Belki de daha uygulanabilir bir soru şudur: Kullanıcıların bilgisayarda hangi komutların çalıştırıldığını görebilmelerini desteklemeyen herhangi bir çok kullanıcılı işletim sistemi var mı?

Daha güvenli olan yaklaşım hiçbir zaman komut satırına hassas şifreler koymamaktır. Başka bir seçenek de şifreleri bir dosyaya koymak ve daha sonra bu dosyayı komut satırında belirtmek olabilir. Örneğin.:

type pwfile | command

En azından bu şekilde, dosya sistemi uygulamasına dayalı izinler büyük olasılıkla bir miktar koruma sağlayacaktır.


1
Başka bir kullanıcının Windows'taki işlemlerini görmek için yönetici olmanız gerekir.
Moshe Katz

4

Bazıları (ve hepsine inanmıyorum) komutu görmenin Linux yolu zip -PThat_Password ... başka bir kullanıcının kök ayrıcalıkları :

  • cat /proc/24695/cmdline PID 24695 ise ...

    fermuar P That_Password

    Not: Boşluksuz ancak şifreyi tahmin etmek mümkün

  • grep -H -e "zip" /proc/[0-9]*/cmdline

    İkili dosya / proc / 24695 / cmdline eşleşmesi

    iyi çalışıyorsa cat her şey çalışıyor Metin merkezli ...

  • pgrep -a zip -a seçeneği tam komut satırının yanı sıra işlem kimliğini de listeler. (her zaman eski sürümünde [ör. & <; 2008] pgrep )

    24695 zip -P That_Password

ve tabii ki op adı geçen

  • ps -aux | grep zip

    That_User 24695 1.9 0.0 15012 1192 puan / 40 T 12:37 0:45 zip-P That_Password

  • top -c -b -n 1 | grep zip Bu gibi bir şeyle cevap

    24695 That_User 20 0 15012 1192 820 T 0.0 0.0 0: 45.12 zip -P That_Password


@JakeGould En azından sistemlerimdeki gibi komut cat /proc/24695/cmdline boşluksuz çıktı ver ...
Hastur

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.