Monday, August 26, 2013

WireShark'ı Root Yetkileri Olmadan Çalıştırma

Uyarı Mesajı : "There are no interfaces on which a capture can be done"

Linux'da wireshark'ı yeni kurup, paketleri dinlemeye başlayacaktım ki yukarıdaki uyarı mesajı beni karşıladı.

Sorun WireShark'ın mesaj trafiğini dinlemesi için Linux üzerinde yeterli yetkilerinin olmaması, yani Root yetkileri ile çalıştırdığınızda bu sorun ortada kalkmış oluyor. Fakat WireShark 1.5 milyon satır kaynak koda sahip devasa bir program ve Root yetkileri ile çalıştırmak sisteminizi beklenmedik tehlikelere atacağı için kesinlikle tavsiye edilen birşey değil.

Bunun yerine kendi kendi kullanıcınıza belli yetkiler vererek bunu halledebilirisiniz. WireShark paket trafiğini izlemek için "dumcap" adlı ayrı bir program kullanıyor. Kendi kullanıcınıza "dumcap" için gerekli izinleri verdiğiniz taktirde WireShark'ı root yetkilerini kullanmaksızın açabilirsiniz.

 

Nasıl yapılıyor?

WireShark için dumpcap'i çalıştırmak üzere bir yetki grubu tanımlıyoruz ve bu yetki grubuna kendi kullanıcımızı dahil ediyoruz :  

$ sudo -s
# groupadd wireshark
# usermod -a -G wireshark kullanıcı_adı
# chgrp wireshark /usr/bin/dumpcap
# chmod 4750 /usr/bin/dumpcap

Yukarıda kullanıcı_adı kısmına mevcut kullanmakta olduğunuz kullanıcı hesabına ait ismi girmeniz gerekiyor. Kullanıcı isminizin ne olduğundan emin değilseniz, root terminalinden çıkıp, aşağıda belirtilen :  
>echo "$USER"
komutu ile mevcut kullacı adın öğrenebilirsiniz.

Bu komutları çalıştırdıktan sonra mevcut kullanıcınızdan çıkıp tekrar login olmanız gerekiyor.

Faydalı bağlantılar :

https://blog.wireshark.org/2010/02/running-wireshark-as-you/
http://packetlife.net/blog/2010/mar/19/sniffing-wireshark-non-root-user/

Linux'da ekran parlaklık ayarı problemi

Geçen hafta kurduğum Debian üzerinde böyle bir sorunla karşılaşmıştım. Ekran parlaklığı hiç bir şekilde değiştirilemiyordu. Bir süre araştırma yaptım ve bu sorunun sıkça karşılaşıldığını gördüm. Sorun bilgisayar açılırken işletim sistemini yükleyen GRUB bootloader'dan kaynaklanıyormuş. Çözüm basit. Üç adet terminal komutunu çalıştırdıktan sonra bilgisayarınızı tekrar açarak (reboot yaptırarak) halledilebiliyor. Aşağıda en basit şekilde anlatmaya çalıştım.

  • Terminali açın ve altaki komut'u komut satırına kopyalayıp-yapıştırın, enter'a basın.
    sudo sed "s/\(GRUB_CMDLINE_LINUX=\)\"\"/\1\"acpi_osi=Linux acpi_backlight=vendor\"/" /etc/default/grub -i 
  • Şifrenizi girin ve tekrar enterlayın. (Root Terminal'deyseniz bu adıma gerek yok)
  • Ardından aşağıdaki komutu yapıştırıp, enterlayın.
    sudo update-grub
  • Son olarak alltaki komutu çalıştırın ve işletim sisteminin tekrar yüklenmesini bekleyin.
    sudo reboot