Systemd, özellikle aşağıdakilerden biri olan çeşitli servis tiplerini idare edebilir.
simple
- Kendini arka planlamasın ve kabuğa bağlı kalan uzun süren bir işlem.
forking
- Kendisini çalıştıran süreçten ayırmasını, etkili bir şekilde arka plana çıkmasını zorlayan tipik bir servistir.
oneshot
- Çıkması beklenen kısa ömürlü bir süreç.
dbus
- Basit gibi, ancak işlemlerin başlangıç bitirme bildirimi dbus üzerinden gönderilir.
notify
- Basit gibi, ancak işlemlerin başlangıç bitirme bildirimi inotify üzerinden gönderilir.
idle
- Basit gibi, ancak ikili iş gönderildikten sonra başlatılır.
Sizin durumunuzda Type=forking
seçtiniz ki bu, systemd'in sürecin kendisini çatallamasını ve ana sürecin bitmesini beklediğini, bu sürecin başarıyla başladığının bir göstergesi olarak alıyor demektir. Ancak, işleminiz bunu yapmıyor - ön planda kalıyor ve bu nedenle systemctl start
süresiz olarak veya işlemler çökene kadar askıda kalıyor .
Bunun yerine, istediğiniz Type=simple
varsayılanı seçin, böylece aynı efekti elde etmek için çizgiyi tamamen kaldırabilirsiniz. Bu modda sistemd işlemlerin başlamasını beklemiyor (ne zaman gerçekleştiğini bilmediği için) ve böylece hizmetleri derhal yürütmeye ve bağımlı kılmaya devam ediyor. Senin durumunda hiç yok bu yüzden önemli değil.
Güvenlik hakkında küçük bir not:
Hizmeti kök olarak çalıştırıyorsunuz, bu ayrıcalıklı olmayan bir kullanıcı olarak çalıştırılmasından daha az güvenli olduğu için önerilmez. Bunun nedeni , jekyll'de bir şekilde komutların yürütülmesine izin veren bir güvenlik açığı varsa (muhtemelen ayrıştırma koduyla), saldırganın sisteminize tamamen sahip olmak için başka hiçbir şey yapmaması gerektiğidir. Öte yandan, ayrıcalıklı olmayan bir kullanıcı olarak çalıştırılırsa, saldırgan yalnızca bu kullanıcı kadar zarar verebilir ve şimdi sisteminize tamamen sahip olmak için kök ayrıcalıkları kazanmaya çalışmalıdır. Basit bir şekilde saldırganların saldırması gereken ekstra bir katman olduğunu da ekliyor.
Basitçe web sunucunuzu çalıştıran aynı kullanıcı olarak çalıştırabilirsiniz, ancak bu sizi başka bir potansiyel saldırıya açık bırakır. Web sunucunuzda, kullanıcının sisteminizdeki dosyaları yönetmesine izin veren bir güvenlik açığı varsa, oluşturulan html dosyalarını değiştirebilir veya kaynak dosyaları en kötü durumda bırakabilir ve sunucunuzun istediği her şeyi yapmasına neden olabilir. Ancak, oluşturulan dosyalar ve kaynak dosyalar yalnızca web sunucusu tarafından okunabiliyorsa ve yazılabilir başka bir ayrıcalıklı kullanıcı değilse, web sunucusuna saldırarak bunları kolayca değiştiremezler.
Ancak, bu sunucudan yalnızca statik dosyalar sunuyorsanız ve sunucuyu güncel tutuyorsanız, bu saldırılar çok düşük bir ihtimaldir - ancak yine de mümkündür. Sisteminizin ne kadar kritik olduğuna bağlı olarak kurmanın genel masraflarına karşı riskleri tartmak sizin sorumluluğunuzdadır, ancak bu ipuçlarının her ikisi de kurulumu çok kolaydır ve bakım masrafları yoktur.
Type=forking
. Dahası,execStart
kabuk genişlemesi olarak çalışmayacak , böylece&
sonunda asla bir arka plan bayrağı olarak anlaşılmayacaktır.