Yanıtlar:
/etc/passwd
Bir kullanıcının hattında son öğe programı giriş üzerine çalıştırılmak üzere gibi dosya vardır. Normal kullanıcılar için bu genellikle/bin/sh
veya başka bir kabuk (ör. Bash, zsh) .
Geleneksel olarak, kendi süreçler veya dosyaları veya diğer kaynaklara kullanılan kimlikler onların "kabuk" kümesine sahip /bin/false
olduğu gibi
syslog:x:101:102::/home/syslog:/bin/false
Sözde kullanıcı syslog /var/log/syslog
dosyası bu dosya için yazma iznine sahiptir ve çalıştırılacak komut yorumlayıcısı olmadığından kullanıcı syslog dosyası olarak oturum açamaz.
Cevaplamaya çalıştığınız soru ile ilgili olarak:
Etkileşimli bir kabuk almaması gereken bir kullanıcı john oluşturun.
Soru, " john
Bir kabuktan oturum açıp komutları çalıştıramayacak . Etkileşimli, kabuğun çalışma şeklini tanımlar: kullanıcı bir şey yazar ve kabuk buna göre bir şey yapar (kullanıcı ve kabuk arasında bir tür iletişim vardır). "Etkileşimli" kelimesi soruya gerçekten herhangi bir bilgi eklemez, çünkü bir kullanıcı yazma komutları olduğu sürece, kabuk oturumu etkileşimlidir.
Ayrıca, kullanıcının bir dosyada (kabuk komut dosyası adı verilir) çalıştırmak istediği bir dizi komutu kaydettiği ve daha sonra dosyayı yürüttüğü etkileşimli olmayan mod da vardır. Bazı komutlar, kabuğun etkileşimli olarak mı yoksa etkileşimsiz olarak mı çalıştırıldığına bağlı olarak farklı davranır. Burada daha fazlasını okuyabilirsiniz (bu belge içindir bash
, ancak aynı kavram diğer kabuklar için de geçerlidir).
Böyle bir kullanıcının nasıl oluşturulacağı konusunda, eğer oturum açarsanız man useradd
, giriş kabuğunu ayarlama seçeneği vardır -s
veya --shell
. Ayrıca normalde bir kullanıcı oluşturabilirsiniz, yine de istediğiniz zaman (zaten bildiğinizi varsayıyorum?), Sonra msw'nin cevabında olduğu/etc/passwd
gibi düzenleyin .
Evet, bazı programa şifre dosyasındaki kabuk (/ etc / passwd) değiştirmek değil bir kabuk kaçış izin vermez.
Eğer bir bofh / bin / false olmak istiyorsanız tam olarak ne istediğinizi yapacaksınız.