글 작성자: nouu

http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791162243589&orderClick=LEa&Kc= 

 

이것이 우분투 리눅스다 - 교보문고

우분투 리눅스 설치부터 네트워크와 서버 구축, 운영까지 | 이런 독자에게 권합니다.▣ 리눅스 실무 분야로 취업을 준비하고 있다.▣ 리눅스 공부를 시작했지만 명령어만 외우다가 포기했다.▣

www.kyobobook.co.kr

 

해당 서적을 바탕으로 작성하였습니다. 

 

 

 

주경야독 : '낮에는 밭을 갈고, 저녁에는 책을 읽는다.' 일을 하고나면 피곤하지만 자기 계발을 위해서는 피할 수 없는 길이므로 헤쳐 나가야 된다. 

 

리눅스에서 디렉토리와 파일을 관리하기 위해서는 사용자 관리와 파일 속성에 관한 지식을 쌓아야한다. 

리눅스는 우리가 흔히 사용하는 윈도우와는 달리 다중 사용자 시스템이며 영어로 Multi-user System이라고 한다. 

 

1대의 리눅스에서 여러 사람이 동시에 접속해서 사용할 수 있는 시스템이다. (참고로 여러 사람이 동시에 접속하는 방법은 가상 접속을 이용한다. ctrl + alt + F1 ~ F6 ) 

 

리눅스를 설치한다면 초기에 기본적으로 root와 자신이 만든 사용자 이름 두가지의 계정이 주어진다. 특히 root는 시스템의 모든 작업을 실행할 수 있는 Super User 이기 때문에 해당 계정을 사용하는 관리자라면 정말 신중히 사용해야 한다. 

 

vi /etc/passwd 명령어나 cat /etc/passwd 로 etc 디렉토리 내에 있는 passwd 파일에 접근해보자. 

 

 

여려 사용자들이 보일테지만 실질적인 사용자는 두가지인 root와 ubuntu 사용자 계정이다. root 사용자와 ubuntu 사용자를 제외한 나머지는 모두 리눅스에서 기본적으로 존재하는 표준 사용자라고 지칭함.

 

해당 한 행, 그러니까 하나의 사용자의 정보는 다음과 같다. (ubuntu 계정에 대해서 서술함) 

 

 

암호가 x인 이유는 /etc/shadow에 해당 비밀번호가 있다는 뜻이며, shadow 파일에 접근을 해도 평문이 아닌 암호화가 되어 있기 때문에 암호를 알아낼 수 없다.

 

[추가정보]는  adduser 명령을 사용하여 이름, 사무실 호수, 직장 전화번호, 집 전화번호 등 다양한 신상정보를 쓸 수 있지만 모두 생략이 가능하다. (사실 관리자가 이것을 쓰는지도 의문이다...) 

 

사용자를 생성하면 홈 디렉토리는 /home/사용자이름으로 디렉토리가 만들어지며 위에서 알수 있듯이 유저 이름이 ubuntu 이기 때문에 /home/ubuntu 디렉토리가 생겼다. 마지막으로 /bin/bash는 default 셸이며, 우분투는 기본적으로 bash shell을 기반으로 한다.

 

 

 

이번에는 vi /etc/group을 열어 사용자가 속한 group들을 보자! 

 

 

 

위와 같이 그룹의 행의 의미는 다음과 같으며, 마지막 그룹에 속한 사용자 이름이 아무것도 쓰여있지 않았다고 해도 그룹에 소속된 사용자가 반드시 없다는 것은 아니다. 

 

/etc/passwd 파일에 ubuntu의 그룹 ID가 1000번 이었으니 ubuntu 라는 그룹에 ubuntu 사용자가 속해있는 것이다. 

 

즉! 다음과 같은 조건이 만족하면 같은 특정 그룹에 특정 사용자가 속해있다는 것이다.

 

 

 

 

 

 

사용자 및 그룹 관련한 명령어를 살펴보자. 

 

adduser : 새로운 사용자 추가. 해당 명령을 실행하면 /etc/passwd, /etc/shadow, /etc/group 파일에 새로운 행이 추가가 된다.

 

1. adduser choi // choi라는 이름의 사용자가 생성된다. 

 

 

/etc/passwd, /etc/shadow, /etc/group 파일이 자동으로 추가되며, 추가 정보인 Full Name, Room Number, Work phone 등의 정보를 입력하라고 나온다. 필자는 위와 같이 적었으며 사용자인 'choi'를 생성했다. 이제 choi에 대한 정보를 /etc/passwd를 통해 볼까?? 

 

맨 밑에 사용자 choi가 생성되면서 사용자와 그룹 아이디가 ubuntu 사용자 id + 1인 1001이 된 것을 확인됐다. 특히 우리가 그동안 보이지 않았던 추가 정보까지 생성된 것을 볼 수 있다.

 

 

 

1-1. adduser --uid 1111 choi2 : choi2 유저를 생성하며 사용자 ID를 1111로 지정한다. 

 

1-2. adduser --gid 1000 choi3 : choi 유저를 생성하며 그룹 ID를 1000으로 한다. 어?! 1000이면 위에서 등록한 ubuntu 그룹 아니야? 맞다. 그러니까 정리하자면... choi3를 ubuntu group에 넣으라는 명령어로 해석하면 된다.

 

 

1-3. adduser --home /newchoi choi4 : choi4 라는 유저를 생성하며 홈 디렉토리를 home/choi4가 아닌 /newchoi로 지정한다.

 

 

중간 choi4 : x : 1003 : 1002 ~~~ : /newchoi:/bin/bash 행을 보면 choi4 사용자는 홈 디렉토리가 /newchoi 로 등록된 것을 확인할 수 있으며, 루트 경로인 / 아래에 newchoi 경로가 있는 것을 볼 수 있다. 

 

 

1-4. adduser --shell /bin/csh choi5 : choi5 사용자를 생성하며 bash 쉘이 아닌 c쉘을 지정한다.

 

 

 

 

2. passwd : 사용자의 비밀번호를 변경한다.

 

2-1 passwd choi1 : choi1의 비밀번호를 지정 또는 변경한다. 

 

 

 

 

 

3. userdel : 사용자를 삭제한다. 

 

3-1 userdel choi2 : choi2 사용자를 삭제한다. 단, 홈 디렉토리는 삭제되지 않는다. 

3-2 userdel -r choi2 : choi2 사용자를 삭제한다. 홈 디렉토리도 같이 삭제한다. 

 

 

 

 

4. chage(CHAnge + AGE 약자)

4-1. chage -l choi1 : choi1 사용자에 대한 설정된 사항들을 확인 가능하다. 

4-2. chage -m 2 choi2 : choi2의 사용자에 대해 암호를 사용해야하는 최소 일자를 지정한다. 비밀번호를 passwd 키워드로 설정 후에 최소 2일은 사용해야 된다.

 

4-3. chage -M 30 choi3 : choi3 사용자에 설정한 암호를 사용할 수 있는 최대 일자(변경 후 최대 30일 동안 사용이 가능하다.) 

4-4. chage -E 2021/12/25 choi4 : choi4 사용자에 설정한 암호가 만료되는 날짜이다. 2021/12/25 까지 사용할 수 있다.

 

 

 

 

5. groups : 사용자가 소속된 그룹을 보여준다. 

 

현재 접속한 ubuntu 계정의 groups를 살펴보면 ubuntu, admin, cdrom, sudo, dip, plugdev, lxd 그룹에도 속한다고 나온다.

 

 

5-1. groups choi1 : choi1의 소속된 그룹을 보여준다. 

 

 

 

 

6. groupadd : 새로운 그룹을 생성한다. 

 

7. groupmode : 그룹의 속성을 변경한다. 

 

8. groupdel : 그룹을 삭제한다. (단 그룹을 삭제할 때는 해당 그룹을 주요 그룹으로 지정한 사용자가 없어야 된다. 하나의 사용자라도 삭제할 그룹에 있으면 안된다는 뜻이다.)

 

9. gpasswd : 그룹의 암호를 설정하거나 그룹 관리를 수행한다.