root 로그인
$ sudo -i
여기서부터는 root에서 작업한다고 가정한다.
유저 추가
$ useradd [username]
유저 홈 디렉토리 변경
$ usermod -d [newhome] [username]
유저를 그룹에 추가
$ usermod -a -G [group] [username]
유저 비밀번호 변경
$ passwd [username]
유저 변환
$ su [username]
변환과 동시에 설정한 홈 디렉토리로 이동
$ su - [username]
Bash 설정 추가
첫 접속시 아래와 같이 뜨게 된다.
$ -bash-4.2$
$ cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
HOME=/home
: 사용자를 처음 생성했을 때 해당 계정의 홈 디렉토리를 지정
SKEL=/etc/skel
: 사용자를 처음 생성했을 때 해당 계정의 홈 디렉토리에 기본으로 들어가는 파일을 지정
홈 디렉토리에서 숨겨진 파일까지 보기위해 아래 명령어를 실행하면 아무파일도 나오지 않는다.
$ ls -al
.
..
나는 홈 디렉토리를 /data2/home/[username] 으로 변경했기 때문에 /etc/skel 내의 파일이 home에 들어있지 않다. 따라서 복사해서 쓰도록 할 것이다.
$ sudo cp -r /etc/skel/. [userhome]
아직 사용자와 그룹 소유권이 모두 root인데,
$ ls -al
total 16
drwxr-xr-x 3 root root 92 Dec 13 11:19 .
drwxr-xr-x. 5 root root 52 Dec 13 11:06 ..
-rw-r--r-- 1 root root 18 Dec 13 11:19 .bash_logout
-rw-r--r-- 1 root root 193 Dec 13 11:19 .bash_profile
-rw-r--r-- 1 root root 231 Dec 13 11:19 .bashrc
drwxr-xr-x 4 root root 39 Dec 13 11:19 .mozilla
-rw-r--r-- 1 root root 658 Dec 13 11:19 .zshrc
둘다 username으로 바꾸도록 한다. (소유권 변경은 root 사용자만 가능) 참고
# [userhome] 디렉터리 이하 모든 파일 및 디렉터리에 대하여 사용자는 [username], 그룹은 [username]으로 소유자 변경
$ sudo chown -R [username]:[username] [userhome]
.bashrc를 적용
$ source .bashrc
+ 쉘 프롬프트 설정
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
PS1='$(if [[ $? == 0 ]]; then printf "\xF0\x9F\x8E\x85"; else printf "\xF0\x9F\x94\xA5"; fi)\[\e[0m\] [\u@\h] \w $ '
쉘 프롬프트에 이모티콘을 넣는 법은 위와 같이 PS1 변수에서 설정할 수 있으며, $? 는 가장 최근에 실행된 명령의 종료 상태를 의미한다. 값이 0이면 성공, 아니면 실패이다.
따라서 첫 번째 자리에 성공시 이모티콘 값과, 두 번째 자리에 실패시 이모티콘 값을 넣어준다. 나는 여기에서 산타와 불 이모티콘을 사용했는데, Bytes 에 해당하는 부분에 위의 코드처럼 \x를 붙여주면 된다.
'Server' 카테고리의 다른 글
[VsCode] ssh 원격에 연결할 수 없습니다 (0) | 2023.02.11 |
---|---|
[AWS] EC2 서버에 MariaDB 설치 (0) | 2021.09.05 |
[AWS] EC2 인스턴스와 SSH를 연결할 때 "Connection timed out" 에러 (0) | 2021.09.04 |
[AWS] SSH를 사용하여 EC2 인스턴스에 접속하기 (0) | 2021.08.31 |