◽ CentOS

[Linux CentOS] "/sbin/nologin"란 무슨 의미인가?

결론부터 말하면 
로그인이 안되는 계정을 의미한다. 보통은 일반계정은 생성을 하면 "/bin/sh"이 할당된다.


보안상의 이유이다.
예를 들어서 http 데몬인 apache의 경우 uid가 48로 되어 있습니다. 이 httpd를 root의 uid로 돌릴 경우 apache의 보안 취약점이 발견되어 apache를 해킹당할 경우 공격자에게 root 계정을 바로 내어주게 됩니다.

하지만 apache라는 계정으로 돌렸을 때 같은 상황이 발생한다면 비록 공격을 당하더라도 root를 바로 내어주는 것이 아니고 apache라는 user 계정을 내어주게 됩니다. 공격당한 계정이 root인가 아닌가는 큰 차이점이 있다는 것은 아실껍니다.

첨언하자면.. 일반적으로 로그인해서 사용하는 일반 사용자 계정을 경우 useradd 명령등으로 생성하면 uid가 500부터 붙게 됩니다. 강제적으로 이렇게 해야 하는 것은 아니지만 일반적으로 uid 500이상은 일반 사용자가 사용을 하게 되고 1~499까지의 uid는 위와 같은 데몬들을 돌리기 위해서 사용하는 uid입니다.

푸터바