안녕하세요, MJ 입니다.
계정의 설정에 대해 알아보겠습니다.
"무엇을 설정 할 수 있을까?"
이 물음을 시작으로 무엇을 설정 할 수 있을 지 목록을 작성 해 보겠습니다.
[설정 목록]
- 패스워드 변경
- 홈디렉토리 경로 변경
- 기본 쉘 변경
이정도가 될 것 같습니다.
패스워드 변경은 이전에 했던 내용이지만 상세하게 기록 해 보겠습니다.
패스워드 변경을 작업하기 전에, 어떤 경우에 변경작업이 필요한지 알아야 합니다.
대부분은 설정 된 패스워드를 다른 패스워드로 변경 하는것을 의미하지만
반드시 그렇지는 않습니다.
그렇다면 패스워드 를 변경하는 경우는 어떠한 경우가 있을까?
- 패스워드 변경
1-1) 패스워드를 변경하고싶은 경우(예시 - 1234 를 asdf 로 변경)
1-2) 패스워드를 설정하지 않고싶은 경우(패스워드의 제거)
1-3) 패스워드를 통해서 인증을 할 수 없도록 하고싶은 경우
(올바른 패스워드를 입력해도 인증이 되지 않도록)
이정도가 될 것 같습니다.
1-1) 패스워드를 변경하고싶은 경우(예시 - 1234 를 asdf 로 변경)
또는
- 패스워드 설정을 엔터 1회 입력으로 할 수 있지만, 이 방법은 history 에 모두 기록 되므로, 보안측면에서 권장하지 않는 패스워드 변경 방법입니다.
1-2) 패스워드를 설정하지 않고싶은 경우(패스워드의 제거)
- /etc/shadow 파일에 root 계정의 패스워드 필드의 해시가 확인되고,
패스워드 제거 명령을 수행 후 /etc/shadow 파일의 root 계정의 패스워드 필드의 내용이 텅 빈것이 확인됩니다.
1-3) 패스워드를 통해서 인증을 할 수 없도록 하고싶은 경우
(올바른 패스워드를 입력해도 인증이 되지 않도록)
- 현재 root 계정의 패스워드의 상태를 조회 해보니, Empty 로 패스워드가 텅 빈 상태 확인되고, passwd -l (소문자 L) 로 root 계정의 패스워드를 잠구어보았습니다.
이후 상태를 다시 조회 해 보니, 패스워드가 잠겨있다는 상태 메시지를 확인할 수 있습니다. 다시 password lock 을 해제 하기위해서는 unlink 옵션 (소문자U) 를 사용할 수 있고 또는 root 계정의 패스워드를 설정하면 Locked 상태가 제거 됩니다.
- -u 옵션을 사용하였을 때 unLock 이 되지 않았습니다, 이것은 패스워드를 제거 해 둔 상태였기때문에 패스워드가 존재하지 않아 안전하지 않지만 force 옵션을 주면 되겠지만, 패스워드 재설정으로 lock 이 해제 되는 것을 확인 한 내용 입니다.
- 홈디렉토리 경로 변경
- 홈 디렉토리 경로를 변경하기 위해서는 변경하고자 하는 계정 말고, 다른 계정으로 시스템에 로그인이 필요합니다. 왜냐하면, 로그인 할 때에 이미 홈 디렉토리에 진입을 하게 되는데 그렇게 되면 홈 디렉토리가 이미 사용중인 디렉토리가 되고, 제거 할 수 없는 디렉토리가 되기때문입니다. 제거하지 않고 복사를 수행한다면 가능하겠습니다만 일반적으로 복사를 수행하여 작업하지 않기때문에(용량문제로) 복사를 수행하여 변경이 가능한 경우를 만난다면 운이 좋은 케이스가 되겠습니다.
2-1) tinfra 계정의 홈 디렉토리를 변경
- 변경 전 홈디렉토리 경로: /home/tinfra
- 변경 할 경로: /Users/tinfra
- tinfra 계정의 홈 경로를 변경할 것이기 때문에, root 계정으로 접속하여 작업합니다.
2-1-1) 홈경로 확인 (cat /etc/passwd | grep ^tinfra: | cut -d ':' -f6)
2-1-2) /home 디렉토리와 /home/tinfra 디렉토리의 퍼미션 확인
- /home 디렉토리는 root/root 소유, 퍼미션 755
- tinfra 디렉토리는 tinfra/tinfra 소유, 퍼미션 700
- 그렇다면 /User 는 /home 처럼 만들고, tinfra 디렉토리를 그대로 mv 하면 되겠습니다.
- 이제 /etc/passwd 파일의 내용에서 확인된 홈 디렉토리 경로를 수정 해야하는데
vi 명령어로 (root에서) 수정 할 수 있고, 명령어로도 수정 할 수 있습니다.
명령어로 해보겠습니다.
- 로그인 확인
* 경로 변경이 정상적으로 적용 된 것이 확인됩니다.
- 기본 쉘 변경
사용 하는 쉘을 변경하기위해 변경 할 수 있는 쉘이 무엇이 있는지, 내가 사용하고 있는 쉘은 무엇인지 알아야 할 것입니다.
- 이렇게 확인 할 수 있습니다.
- 시스템에 설정 된 tinfra 계정의 기본 쉘 정보를 확인.
- /etc/passwd 파일을 수정하거나, 명령어로 쉘 변경을 할 수 있습니다.
명령어로 해 보겠습니다.
- 변경하고
- 확인합니다.
변경할 수 있는 계정 설정에 대해 3가지 알아보았습니다.
내용이 별게 없어보이지만, 스크립트에 활용 할 수 있는 문자열 필터 명령어들과, 시스템 정보 확인을 위한 내용에 대해 여러가지로 알아가실 수 있는 내용이 아니었을까 생각해봅니다.
감사합니다.
댓글
댓글 쓰기