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 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$ 

0

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


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.