Bu konu, bir Linux ECS örneğinde SSH hizmetini başlatırken "must be owned by root and not group or world-writable" hatasının neden oluştuğunu ve bu sorunun nasıl çözüleceğini açıklar.
Belirtiler
Bir Linux ECS örneğinde SSH hizmeti başlatılamıyor. Sistem günlüklerinde aşağıdakine benzer hata kayıtları bulunur:
May 17 17:31:57 ecs-centos72-test systemd: Failed to start OpenSSH server daemon.
May 17 17:31:57 ecs-centos72-test systemd: Unit sshd.service entered failed state.
May 17 17:31:57 ecs-centos72-test systemd: sshd.service failed.
May 17 17:32:39 ecs-centos72-test systemd: sshd.service holdoff time over, scheduling restart.
May 17 17:32:39 ecs-centos72-test systemd: Starting OpenSSH server daemon...
May 17 17:32:39 ecs-centos72-test sshd: /var/empty/sshd must be owned by root and not group or world-writable.
May 17 17:32:39 ecs-centos72-test systemd: sshd.service: main process exited, code=exited, status=255/n/a
May 17 17:32:39 ecs-centos72-test systemd: Failed to start OpenSSH server daemon.
May 17 17:32:39 ecs-centos72-test systemd: Unit sshd.service entered failed state.
May 17 17:32:39 ecs-centos72-test systemd: sshd.service failed.
Neden
SSH hizmeti, güvenlik amacıyla ilgili dizinlerin ve dosyaların belirli izinlere ve sahiplik ayarlarına sahip olmasını gerektirir. /var/empty/sshd dizini farklı bir kullanıcı veya gruba aitse bu hata oluşur.
Çözüm
Bu sorunu çözmek için /var/empty/sshd dizininin sahibi ve grubunu düzeltin.
-
VNC uzak bağlantısı kullanarak ECS örneğine bağlanın.
Daha fazla bilgi için bkz. Bağlantı yöntemlerine genel bakış.
-
/var/empty/sshd dizininin izinlerini kontrol etmek için aşağıdaki komutu çalıştırın.
ll /var/empty/Aşağıdaki çıktı, /var/empty/sshd dizininin
linuxkullanıcısına ait olduğunu velinuxgrubunda bulunduğunu gösterir. Sahibi ve gruburootolarak değiştirmeniz gerekir.[xxx@xxx xxx]# ll /var/empty/ total 4 drwx--x--x. 2 linux linux 4096 Oct 20 2017 sshd -
Varsayılan yapılandırmayı geri yüklemek için aşağıdaki komutları çalıştırın.
ÖnemliBu örnekteki
chmodkomutu CentOS 7'ye özeldir. /var/empty/sshd dizini için gereken izinler Linux dağıtımına göre değişebilir. Doğru izinleri bulmak için aynı Linux dağıtımını kullanan başka bir örneğin yapılandırmasını kontrol edin.chown -R root:root /var/empty/sshd chmod -R 711 /var/empty/sshd -
SSH hizmetini yeniden başlatmak için aşağıdaki komutu çalıştırın.
systemctl restart sshd.service