티스토리 뷰

Goal 

 - 리눅스에서 사용자를 추가하는 이유에 대해 알아본다

 - 사용자 추가명령어를 알아본다

 - 사용자와 그룹을 추가하는 실습을 해본다.

1. 사용자를 추가하는 이유

예를들어 자바를 이용해서 웹 어플리케이션을 만든다고 했을 때, 협업이 이루어질 수 있기 때문에 관련된 자료들을 이용할 수 있도록 다른 사용자에게 역할을 부여하는 작업이 필요하다. 

2. 사용자 추가 명령어

 1) useradd - 사용자추가

 2) usermod - 사용자 변경

 3) userdel - 사용자 삭제

 

2-1 dragon 사용자 추가하기

 1) useradd dragon 입력

 2) cat /etc/passwd 또는 tail -n2 /etc/passwd 입력 : 사용자가 추가되었는지 확인하기 위한 명령어, 명령어를 입력하면 밑의 사진과 같이 추가된 사용자의 정보를 확인할 수 있다. (* tail -n2 해당 정보의 뒤에서 2번째 줄 까지만 보여줌)

*etc : root디렉터리안에 있는 설정을 나타내는 디렉터리.

  - dragon : 추가한 사용자의 이름

  - 1001:1001 : 사용자를 식별하는 숫자(컴퓨터는 숫자만 식별가능, dragon이라는 사용자 이름은 컴퓨터를 사용하는 사람을 위한 UI), 오른쪽의 1001은 그룹을 나타내는 ID. (groups dragon 명령어를 통해 dragon이 소속된 그룹에 있는 사용자를 확인할 수 있음, etc/group 명령어는 그룹의 식별정보를 알려줌)

  - /home/dragon : 사용자가 기본적으로 login하게되는 home 디렉터리

3) sudo passwd dragon : dragon 사용자의 password를 지정한다. 

 

3. 사용자 추가 실습

3-1 home 디렉터리 생성

 - 사용자를 생성하고 접속을 하면, 기본 디렉터리가 root로 설정되어 있고 No directory, logging in with HOME=~이라는 문구가 보인다.

 - 이는 홈디렉터리 없이 사용자를 추가 했기 때문인데, 다른 계정으로 접속하여 sudo mkdir /home/사용자명 명령어를 통해 사용자명에 해당하는 home 디렉터리를 만들어 주어야 한다. 

 - 디렉터리를 만들었으면 ls -l /home 명령어를 입력하여 정상적으로 홈 디렉터리가 생성됐는지 확인한다.

3-2 home 디렉터리 소유권 변경

 - 홈 디렉터리를 생성하고, 다시 새로 만든 유저를 통해 접속하면 pwd 명령어를 통해 접속 시에 홈 디렉터리에서 시작하는 것을 확인할 수 있다.

 - 홈 디렉터리가 완성되고, touch test와 같이 파일을 만드는 작업을 실행하려 하는데, permission denied문구가 발생한다

 - 이는 생성한 디렉터리의 소유권을 dragon으로 변경하지 않았기 때문이다. ls -l /home 명령어를 실행해보면 생성한 dragon유저의 디렉토리의 소유자가 root인 것을 확인할 수 있다. (dragon 폴더를 만들 때, sudo 코드를 이용하여 만드는데, 폴더의 소유권은 그 폴더를 만든 사용자가 갖게 된다. 따라서 root유저가 해당 폴더의 소유권을 갖고 있다)

1) 소유자 변경하기

 - sudo chown(change owner) dragon ../dragon : ../dragon 디렉터리에 대한 소유권은 dragon에게 주겠다는 의미의 명령어. (../ 부분은 현재 명령어를 실행하는 디렉터리의 위치에 따라 다르다, 절대 경로로 지정하고 싶다면 home/dragon으로 명령어를 실행하면 된다)

 - 명령어를 실행한 뒤 ls -l ../을 통해 home 디렉터리를 확인하면 소유자가 변경된 것을 확인할 수 있다.

 - 소유자가 변경되었지만 아직 소유 그룹은 root이다.

2) 소유그룹 변경하기

 - sudo chown(change owner) dragon:dragon ../dragon : 일반적으로 소유자를 변경할 때 :dragon처럼 소유 그룹을 추가하여 같이 변경한다. 

 

- 유용한 개념 

* Alt + F1 ~ F6

 - 다른 가상환경 창을 띄울 수 있다.

 - 새로운 계정을 생성하고, 해당 계정을 테스트해보고 싶을 때 사용하면 유용하다.

 

* cannot lock /etc/passwd; try again later. 에러 해결

 - sudo 코드로 생성하기.

댓글