Benim içinde /etc/passwd
dosyanın, bunu görebiliyorum www-data
Apache tarafından kullanılan kullanıcı, hem de sistem kullanıcıları her türlü durumda bulunacaktır /usr/sbin/nologin
ya /bin/false
da giriş kabuğu olarak. Örneğin, burada satırların bir seçim:
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin games:x:5:60:games:/usr/games:/usr/sbin/nologin www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin syslog:x:101:104::/home/syslog:/bin/false whoopsie:x:109:116::/nonexistent:/bin/false mark:x:1000:1000:mark,,,:/home/mark:/bin/bash
Sonuç olarak, bu kullanıcılardan herhangi biriyle takas etmeye çalışırsam (bazen izinlerini anlamamı kontrol etmek istiyorum ve muhtemelen en azından yarıdan beri aklı başında nedenleri olan başkaları var), başarısız olurum:
mark@lunchbox:~$ sudo su www-data
This account is currently not available.
mark@lunchbox:~$ sudo su syslog
mark@lunchbox:~$
Tabii ki, bu pek sıkıntı verici bir durum değil, çünkü bunun gibi bir yöntemle onlar için bir kabuk açabilirim:
mark@lunchbox:~$ sudo -u www-data /bin/bash
www-data@lunchbox:~$
Ancak bu sadece bu kullanıcıların bir giriş kabuğu olduğunu inkar ederek hangi amaca hizmet edildiğini merak etmemi sağlıyor . Bir açıklama için internete bakarken, birçok insan bunun güvenlikle ilgisi olduğunu iddia ediyor ve herkes bu kullanıcıların giriş kabukları değiştirmenin bir şekilde kötü bir fikir olacağı konusunda hemfikir gibi görünüyor. İşte bir alıntı koleksiyonu:
Apache kullanıcısının kabuğunu etkileşimli olmayan bir şeye ayarlamak genellikle iyi bir güvenlik uygulamasıdır (gerçekten etkileşimli olarak giriş yapması gerekmeyen tüm servis kullanıcılarının kabukları etkileşimli olmayan bir şeye ayarlanmış olmalıdır).
- https://serverfault.com/a/559315/147556
www-data kullanıcısı için kabuk / usr / sbin / nologin değerine ayarlanır ve çok iyi bir sebepten dolayı ayarlanır .
- https://askubuntu.com/a/486661/119754
[sistem hesapları] , özellikle kabukları etkinleştirilmişse güvenlik delikleri olabilir :
Kötü
bin:x:1:1:bin:/bin:/bin/sh
İyi
bin:x:1:1:bin:/bin:/sbin/nologin
- https://unix.stackexchange.com/a/78996/29001
Güvenlik nedeniyle Tomcat sunucusunu çalıştırmak için giriş kabuğu olmayan bir kullanıcı hesabı oluşturdum:
# groupadd tomcat # useradd -g tomcat -s /usr/sbin/nologin -m -d /home/tomcat tomcat
- http://www.puschitz.com/InstallingTomcat.html
Bu mesajlar, sistem kullanıcılarına gerçek giriş kabukları vermeme konusunda oybirliği ile kabul edilmekle birlikte, güvenlik için iyidir, bunlardan biri bu iddiayı haklı çıkarmaz ve bunun hiçbir açıklamasını bulamıyorum.
Bu kullanıcılara gerçek giriş kabukları vermeyerek kendimizi korumak için hangi saldırıya çalışıyoruz?