Bu kullanıcılar ne zaman oluşturuldu?
Bahsettiğiniz durumlarda, sistem kurulumunda oluşturuldular. Bu kullanıcı hesapları gelenekseldir, bazıları on yıllara dayanır. Ayrıca standartlaştırılmıştır. Linux Standard Base bunları Linux'a ayırır:
- Gerekli standart kullanıcı, hesapları
root
, bin
ve daemon
; ve
- İsteğe bağlı standart kullanıcı hesapları
adm
, lp
, sync
, shutdown
, halt
, mail
, news
, uucp
, operator
, man
, venobody
Burada sözü edilen diğer kullanıcı hesapları - pulse
, avahi
, colord
, ve Debian-exim
(py4on şifresinin dosyadan biri almaya) - Bir sonraki soruya bize getir.
Bunlar yüklenen yeni programlarla nasıl ilişkilidir?
Standart olmayan kullanıcı hesapları, çeşitli paketler için "sürdürücü komut dosyaları" tarafından oluşturulur ve yok edilir. Paketin , kullanıcı hesabının zaten var olup olmadığını ve var olup olmadığını görmek için postinst
çalışan sürdürücü komut dosyası tarafından bir kullanıcı hesabı oluşturulur . Teoride, paketin sözde sürdürücü komut dosyası tarafından silinerek çalışacaktı .getent
useradd
postrm
userdel
Uygulamada, paketler için kullanıcı hesapları silinmez. Fedora wiki (qv) bunun zorluklarla dolu olacağını açıklıyor. Bkz Debian hata # 646175 basitçe karar verilir eyleminde bu mantığı, bir örneği için değil silmek için rabbitmq
bu hesabın himayesi altında çalışan devam eden bir servistir bir sorunu çözmek için, paket tasfiye edildiğinde kullanıcı hesabı.
Bu programlar farklı UID'lerle nasıl başladı?
Unix ve Linux altında, süper kullanıcının himayesinde çalışan bir işlem, kullanıcı hesabını başka bir şeye değiştirebilir ve aynı programı çalıştırmaya devam edebilir, ancak bunun tersine izin verilmez. (Birisi set-UID mekanizmasını kullanmalıdır.)
Dæmon yönetim sistemi süper kullanıcı olarak çalışır. Yapılandırma verileri, belirli dæmons'ların belirli kullanıcı hesaplarının gözetimi altında çalıştığını belirtir:
- Sistem 5 ile
rc
komut dosyası /etc/init.d
gibi kullanımlar bir yardımcı alet start-stop-daemon
ve --chuid
opsiyon.
- Bir daemontools aile hizmeti yöneticisi ile,
run
komut çağrıları setuidgid
, s6-setuidgid
, chpst
veya runuid
kullanıcı hesabı adı. Buna , kullanıcı hesabını ayarlayan /unix//a/179798/5132 adresinde örnekler verilebilir nagios
.
setuid
Uptart ile bir iş dosyasında kullanıcı hesabını belirten bir stanza bulunur. Bu özellikle ince taneli değildir ve bazen /superuser//a/723333/38062 adresinde açıklanan şeyi ister .
- Systemd ile
User=
, servis birimi dosyasında kullanıcı hesabını belirten bir ayar bulunur.
Dæmon yönetim sistemi dæmon olmak için bir süreç oluşturduğunda, bu mekanizmalar süper kullanıcı ayrıcalıklarını düşürür, böylece dæmon süreci ayrıcalıklı olmayan kullanıcı hesabının himayesinde çalışmaya devam eder.
İyi deopmon yönetiminin neden bu şekilde yapıldığına dair oldukça uzun bir açıklama var . Ama nedenini sormadınız; sadece ne zaman, nasıl ve nerede. ☺ Bu nedenle çok kısa bir karar:
Unix ve Linux işletim sistemleri, farklı kullanıcı hesaplarının himayesinde çalışan işlemleri birbirinden yalıtır. Tarihsel olarak, kişi süper kullanıcı olarak çalışan bir dæmon'u devralabilseydi, sevdiği her şeyi yapabilirdi. Öte yandan, ayrıcalıksız bir hesabın himayesinde çalışan bir dæmon, yalnızca ayrıcalıklı hesabın yapabileceği dosyalara, dizinlere, cihazlara ve işlemlere erişebilir. Farklı kullanıcı hesaplarının gözetiminde çalışan ve birbirlerinin (dahili, güvenilir) dosyalarına / dizinlerine / işlemlerine / cihazlarına erişemeyen / kontrol edemeyen , karşılıklı olarak güvenmeyen bir programlar programı , bu nedenle, kırılması çok daha zordur.
daha fazla okuma