본문 바로가기
리눅스공부/명령어와 필수 작동법

[작동방법 / 명령어] 리눅스 사용자 관리와 파일 속성

by 으노으뇨 2022. 12. 7.
728x90
반응형
SMALL

리눅스는 다중 사용자 시스템이다. 

즉 1대의 리눅스에 사용자 여러명이 동시에 접속해서 사용할 수 있는 시스템

그래서 우리가 리눅스를 하다보면 root 라는 계정이있는데 이 계정은 모든 권한이 있는 슈퍼계정이다.
> root 계정
root계정에는 시스템의 모든 작업을 실행 할 수 있는 권한이 있다. 또한 시스템에 접속할 수 있는 사용자를 생성할 수 있는 권한이 있다.

우선 gedit이나 vi로  /etc/passwd 파일을 열면

여러명의 사용자가 보인다. 제일위의 root 사용자부터 ubuntu 사용자를 제외하면 리눅스에서 기본적으로 존재하는 표준 사용자이다. 각 행의 의미는 다음과 같다.

사용자 이름 : 암호 : 사용자 ID : 사용자가 소속된 그룹 ID : 추가 정보 : 홈 디렉터리 : 기본 셀

그리고 vi /etc/group 파일을 확인해봅시다.

각 행의 의미는 다음과 같다.

그룹 이름 : 비밀번호 : 그룹 Id : 그룹에 속한 사용자 이름

사용자 및 그룹과 관련된 명령어는 다음과 같다. 중요한 내용이므로 사용 예와 함꼐 잘 기억해보자.


1. 사용자 및 그룹과 관련된 명령어

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

사용예

adduser newuser1
새 UNIX 암호 입력 : 
새 UNIX 비번 재입력 :
이름 :
방넘버 [ ]
사무실 전화번호 [ ] 
집전화번호 [ ] 
기타 [ ] 
정보가 올바릅니까 ? [y/n]
> newuser1 이라는 사용자 생성
> 암호생성
> 다시입력
> 전체 이름 입력 (생략가능)
> 사무실 호칭 (생략가능)
> 회사 전번 (생략가능)
> 집 전번 (생략가능)
> 기타 내용 (생략가능)
> 확인 (엔터누르면됨)
adduser --uid 1111 newuser2 newuser2 사용자를 생성하면서 그룹아이디가 1111로 지정
adduser --gid 1000 newuser3 newuser3 사용자를 생성하면서 그룹 아이디가 1000인 그룹에 newuser3 사용자를 포함시킴
adduser --home /newhome newuser4 newuser4 사용자를 생성하면서 홈 디렉터리를 /newhome으로 지정
adduser --shell /bin/csh newuser5 newuser5 사용자를 생성하면서 기본 셸을 /bin/csh 로 지정
passwd
사용자의 비빌번호를 변경한다.
passwd user1 user1의 사용자의 비밀번호 지정 및 변경
usermod
사용자의 속성을 변경한다.
usermod --shell /bin/csh user1 user1 사용자 기본 셸을 /bin/csh로 변경
usermod --groups ubuntu user1 user1 사용자의 보조 그룹에 ubuntu 그룹 추가
userdel
사용자를 삭제한다.
userdel user2 user2 사용자 삭제, 단 홈디렉터리는 삭제되지 않음
userdel -r user2 user2 삭제, 홈디렉터리도 삭제
chage
사용자의 암호를 주기적으로 변경하도록 설정한다.(Change Age의 약자이다.)
chage -l user user 사용자에 설정된 사항 확인
chage -m 2 user user 사용자에 설정한 암호를 사용해야
chage -M 30 user user 사용자에 설정한 암호를 사용할 수 있는 최대 일자
chage -E 2022/12/12 user user  사용자 설정한 암호가 만료되는 날짜
chage -W 10 user user  사용자에 설정한 암호가 만료되기 전에 경고하는 기간, 지정하지 않을 경우 기본값은 7일
groups
사용자가 소속된 그룹을 보여준다.
groups 현재 사용자가 소속된 그룹을 보여준다.
groups user1 user1  사용자가 소속된 그룹을 보여준다.
groupadd
새로운 그룹을 생성한다.
groupadd group1 group1그룹 생성
groupadd --gid 2222 group1 group1 그룹을 생성하면서 그룹 ID를 2222로 지정
groupmod
그룹의 속성을 변경한다.
groupmod --new-name -mygroup1 group1mygroup1 그룹 이름을 group1로 변경
groupdel
그룹을 삭제한다.
groupdel group1 group1 그룹 삭제 ( 단, 해당 그룹을 주요 그룹으로 지정한 사용자가 없어야한다.)
gpasswd
그룹의 암호를 설정하거나 그룹관리를 수행한다.
gpasswd group1 group1 그룹의 암호 지정
gpasswd -A group1 group2 group1 사용자를 group2 그룹의 관리자로 지정
gpasswd -a group1 group2 group1 사용자를 group2 그룹의 사용자로 추가
gpasswd -d group1 group2 group1 사용자를 group2 그룹의 사용자에서 제가

간단한 실습

[1] 사용자 추가

adduser user1
해당 명령어로 새 계정을 추가한 모습/ 비밀번호는 1234로 지정함

tai /etc/passwd

user1이 추가된모습
제일 마지막 행에 사용자가 추가된 것을 볼 수 있다. 그리고 user1:x:1001 으로 되어있는데 이때 1001은 앞에서 생성한 ubuntu의 사용자의 1000번째에 자동으로 1을 더해서 할당 된 것이다.
그룹도 마찬가지다. 사용자의 홈디렉터리도 /bin/bash로 지정되어있다.

[2] 그룹 생성, 다수 사용자 관리

groupadd ubuntuGroup
tail -5 /etc/group 명령으로 실행한모습

새로운 그룹이 1002 그룹으로 생성되었다.
adduser --gid 그룹ID 사용자

유저 2개를 추가한 모습

tail -5 /etc/passwd

유저2, 유저3은 1002으로 되어있다.

?? : 새로 만든 사용자 홈디렉터리는 어떤 근거에서 나오는가?

사용자 홈 디렉터리와 /etc/skel 디렉터리를 비교

앞으로 생성하는 사용자에게 특정한 파일 등을 배포하고 싶다면 /etc/skel 디렉터리에 넣어 두면 된다.

 

728x90
반응형
LIST

댓글