Soru Bir kullanıcının sisteme giriş yapmasını engellemek, ancak “su - user” ye izin vermek nasıl?


Kullanıcının oturum açmasına nasıl izin veriyorsunuz? "su -  kullanıcı"fakat kullanıcının SSH'yi kullanarak giriş yapmasını engelliyor mu?

Kabuğunu /bin/false ama ne zaman deniyorum su işe yaramıyor.

Sadece girişlere izin vermenin birkaç yolu var mı su?

SSH'ler AllowUser gidilecek yol? (eğer giderse nasıl yapardım)


86
2018-06-09 15:13


Menşei




Cevaplar:


Kullanabilirsiniz AllowUsers / AllowGroups ssh yoluyla giriş yapmanıza izin verilen yalnızca birkaç kullanıcı / grubunuz varsa veya DenyUsers / DenyGroups sadece birkaç kullanıcı / grubunuz varsa değil giriş yapmasına izin verildi. Bunun sadece ssh ile giriş yapmayı kısıtladığını, diğer giriş yolları (konsol, ftp, ...) hala mümkün olduğunu unutmayın. Bu seçenekleri sizin listenize eklemeniz gerekir. / Etc / SSH / sshd_config çoğu ssh yüklemeleri için dosya.

Giriş kabuğunu / Bin / yanlış kullanabilirsiniz su -s /bin/bash user (replace / Bin / bash seçtiğiniz kabuk ile)


108
2018-06-09 15:40



herkese çok teşekkürler. Soruma 2+ upvotes almayı beklemiyordum :) "su ..." çok inşa ve konsol / ftp iyi bir nokta. Gerçekten "su -s" gibi bir şeyden sonraydım. - NoozNooz42
Su süsü altındır. Sistem hesapları için her zaman kullanıyorum, örneğin apache, hiç kimse, vb. İçin izinlerimi test etmem gerekiyor. Genellikle su - user -s / bin / bash. İsteğe bağlı argüman - kullanıcının doğrudan oturum açmış olmasını beklediği şeye benzer bir ortam sağlamak için kullanılabilir. - dmourati
Yüklenecek ortam değişkenlerine (ör. / Etc / profile) gereksiniminiz varsa, ekstra bir çizgi geçmek bunu yapar: su - -s /bin/bash user - Leons


Eğer hala su istiyorsan, kullanabilirsin sudo -u [username] veya geçmek -s /bin/bash geçici bir kabuk olarak sulanmak. İkisi de bir kabuğun yokluğunda aynı şeyi yaparlar. /etc/passwd.


13
2018-02-18 10:04





Bir hesabın şifresi yoksa (passwd -d kullanıcı adı) etkileşimli olarak oturum açamazlar (konsol, SSH, vb.). Geçerli bir kabukları varsa, su hala çalışacak. Bununla birlikte, "etkileşimli" olduğuna dikkat edin; Birisi hesap için bir SSH keypair kurmaya karar verirse, işe yarayacaktır!


7
2018-06-09 15:53



Kullanıcının su için geçerli bir kabuk olması gerekir mi? Başka bir kullanıcıya su verdikten sonra hala aynı orijinal kabuğun içinde olduğunuza eminim ... aslında diğer kullanıcı olarak LOG IN değilsiniz ... Yani, kabuğu / dev / null olarak ayarlayabilirim. lutfen. - Brian Postow
Evet, hala geçerli bir kabuk gerekiyor: [root @ localhost ~] # su daemon Bu hesap şu anda kullanılamıyor. [root @ localhost ~] # su - daemon Bu hesap şu anda kullanılamıyor. (RHEL sistemi, daemonun kabuğu / sbin / nologin) - astrostl


Sshd_config satırında ekle DenyUser [username]

Bunun, kullanıcının konsol üzerinden giriş yapmasını engellemeyeceğini unutmayın.


3
2018-06-09 15:28



O olmalı DenyUsersbir 's' ile. - David G


Yukarıda belirtilenlere ek olarak (kullanıcı şifresini devre dışı bırakma ve / veya ayarlama), pam_access modülü (pam_access ve access.conf'taki man sayfalarına bakın) giriş erişimini kontrol etmek için kullanılabilir.


2
2017-09-27 22:16





diğerleri gibi söylediler;

DenyUser username veya DenyGroup groupname içinde sshd_config ssh yoluyla keypair / şifre girişini engeller.

genellikle ben gibi bir şey yapsam AllowGroup ssh veya bu satırlardaki bir şey ve açıkça bu gruba ssh erişimi olan kullanıcıları ekleyin.

o zaman diğerlerinin dediği gibi yapabilirsin: passwd -d username Kullanıcı şifresini boşaltmak için konsolda veya başka bir şekilde oturum açamazlar. ya da daha iyisi passwd -l username hesabı 'kilitlemek'. ssh, anahtarlarla bile kilitli bir hesaba erişimi reddedebilir, ancak pozitif değilim.


1
2018-06-09 16:15



Aslında ssh, hesap şifresi kilitli olduğunda bile anahtar kimlik doğrulaması kullanarak oturum açmanıza izin verecektir. - Richard Holloway
Bilinmesi iyi, açıklama için teşekkürler ... - cpbills


Bir yorumda belirttiğim gibi, geçersiz bir kabuk içeren bir hesaba girebileceğinizi düşünüyorum. Yani, kullanıcının kabuğunu / dev / null olarak ayarlarsanız veya kutunun kabuğu ne olursa olsun, hala bu kullanıcının içine su girebilmelisiniz ... ama herhangi bir şekilde giriş yapmak için herhangi bir girişimde bulunmanız ...


1
2018-06-09 16:26





ekleyerek / etc / shadow düzenleyin! şifre karma başlangıcına kadar.

username:!<hash>:#####:#:#####:#:::

Yeni bir yükleme güvenliğini sağladığımızda bu, sudo'yu yükledikten sonra yaptığım ilk şeydir, böylece sisteme giriş yapmak veya sisteme ssh yapmak için root kullanıcısını kullanamaz, sudo kullanıcıları hala root kullanıcısı olarak çalıştırılabilir.


1
2017-12-31 01:38





Kullanıcı için giriş yapmasına veya silmesine izin verilmeyen bir parola belirtmeyin.

# passwd -d myuser

0
2018-06-09 15:50





Yalnızca root kullanıcısı hesabını kullanmanız ve diğer tüm erişimi devre dışı bırakmanız gerektiğini varsayalım:

Bunu kullan (root olarak çalıştır):

usermod -e 1 -L user

Bu, şifre girişini devre dışı bırakır (diğer birçok cevapta olduğu gibi), ama aynı zamanda hesabı da geçer. Süresi dolmuş bir hesaba giriş yapamazsınız, ör. SSH tuşları ile. Hala yapabilirsin su userAncak, hesabın süresinin dolduğuna dair bir bildirim gösterecektir.


0
2017-11-18 13:49