Konto użytkownika Centos nologin, ale można je uwzględnić

12

Jestem nowy w CentOS (z systemem CentOS 6). Mam wcześniejsze doświadczenie z OpenSuse.

Próbuję skonfigurować konto dla użytkownika. Nie chcę, aby konto było dostępne do logowania przez ssh lub przez ekran logowania. Ale nadal chcę mieć możliwość zalogowania się do użytkownika za pomocą polecenia su. To pozwala mi uruchamiać niektóre aplikacje jako użytkownik z ograniczonym dostępem. Użytkownik nie jest superużytkownikiem, więc nie może wpływać na aplikacje innych użytkowników.

Każda pomoc byłaby bardzo mile widziana. Zasadniczo chcę tego użyć do uruchomienia serwera Glassfish itp.

jak nikt inny
źródło
Jak to rozwiązałeś w OpenSuSE?
Nils,

Odpowiedzi:

15

W centosie konfigurowałbyś z użytkownikiem bez powłoki, używając / sbin / nologin:

[root@localhost ~]# grep named /etc/passwd
named:x:25:25:Named:/var/named:/sbin/nologin
[root@localhost ~]# 

Jeśli chcesz to zrobić, użyj parametru -s i ustaw jako argument wybraną powłokę:

[root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ 

Zauważ, że jeśli użyjesz bash, najpierw przeczyta ustawienia z / etc / profile i przywróci te ustawienia, jeśli w katalogu osobistym użytkownika nie ma pliku .bash_profile, .bash_login lub .profile. Oczywiście, jeśli chcesz użyć istniejących ustawień środowiska istniejących w katalogu głównym, możesz po prostu usunąć myślnik:

wyjście [

root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
-bash-4.1$ exit
logout
[root@localhost ~]# su named -s /bin/bash
bash-4.1$ echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
bash-4.1$ 
Rilindo
źródło
0

Jednym z powszechnych sposobów jest ustawienie powłoki użytkownika na /bin/false

unbeli
źródło
Próbowałem ustawić go na / bin / false, ale wygląda na to, że centOS 6 nie ma tej opcji. Ma opcję bin / nologin, ale nie pozwala mi to na zalogowanie się na konto użytkownika.
trysu -m username
unbeli
Jeśli ustawię użytkownika na / sbin / nologin i spróbuję su z opcją -m, powie mi to, że konto nie jest obecnie dostępne. Próbowałem również dodać plik / bin / false do pliku powłoki. Kiedy to robię, polecenie su po prostu nie przełącza się na użytkownika.
ok, NIE dodawaj / bin / false do pliku powłoki. Ustaw powłokę użytkownika na / bin / false. Użyj su -m.
unbeli,
Usunąłem go z pliku / etc / shells i ustawiłem powłokę użytkownika na / bin / false za pomocą komendy usermod. Jeśli teraz spróbuję su -m nazwa użytkownika, to powie mi, że nie mam uprawnień do .bashrc. Jestem zalogowany jako root. Jeśli teraz to zrobię: su - nazwa użytkownika nie daje mi żadnego błędu, ale nadal jestem postrzegany jako root. Czy to normalne w Centos?
0

Zazwyczaj umieszczam „x” w polu zaszyfrowanego hasła takich „technicznych” użytkowników. Dlatego użytkownik nie będzie miał żadnego możliwego hasła. Jeśli teraz jest także klucz publiczny w uprawnionych kluczach tego użytkownika, to konto powinno być całkiem bezpieczne.

Nils
źródło