728x90
반응형
"/sbin/nologin"란?
로그인이 안되는 계정을 의미한다. 보통은 일반계정은 생성을 하면 "/bin/sh"이 할당된다.
보안상의 이유로 nologin계정을 이용하는데, 예를 들어서 http 데몬인 apache의 경우 uid가 48로 되어 있다. 이 httpd를 root의 uid로 돌릴 경우 apache의 보안 취약점이 발견되어 apache를 해킹당할 경우 공격자에게 root 계정을 바로 내어주게 된다.
하지만 apache라는 계정으로 돌렸을 때 같은 상황이 발생한다면 비록 공격을 당하더라도 root를 바로 내어주는 것이 아니고 apache라는 user 계정을 내어주게 된다. 공격당한 계정이 root인가 아닌가는 큰 차이점이 있다!
일반적으로 로그인해서 사용하는 일반 사용자 계정을 경우 useradd 명령등으로 생성하면 uid가 500부터 붙게 되는데, 일반적으로 uid 500이상은 일반 사용자가 사용을 하게 되고 1~499까지의 uid는 위와 같은 데몬들을 돌리기 위해서 사용하는 uid이다.
useradd -s /sbin/nologin apache
grep apache /etc/passwd
* 참고
로그인 쉘에는 대표적으로 /sbin/login , /bin/false , /bin/bash가 있다.
- /bin/bash
사용자 계정에 로그인 했을 때 기본적으로 사용할 쉘 - /bin/false
shell, ssh 접근 및 홈디렉토리는 제공 등 모든 것에 제한이 되는 쉘 - /sbin/nologin
shell, ssh 접근 및 홈디렉토리는 제공하지 않음. 보안상의 이유로 사용
728x90
728x90
'OS > Linux' 카테고리의 다른 글
[Linux] hosts.allow 와 hosts.deny 란? (0) | 2021.09.13 |
---|---|
[Linux] passwd 명령으로 패스워드 변경 안될 시 (chage명령어 이용) (0) | 2021.09.09 |
[Linux 명령어] Linux에서 OS 버전 확인 (0) | 2021.09.08 |
[Linux 명령어] useradd 옵션 설명 (0) | 2021.09.08 |
CentOS 7.3 - WildFly 24.0.1 설치 (0) | 2021.09.08 |