2025. 5. 7. 18:14ㆍ리눅스
사용자 생성 명령어
사용자 계정 생성: useradd
계정이란 시스템에 ID(Identity)와 암호(Password)를 생성하여 사용권을 부여하는 것을 말합니다.
이때 사용자의 ID를 생성하는 명령어 useradd입니다.
root 권한자가 root권한자가 root 이외의 사용자를 생성할때 사용하는 명령어로 adduser라고 입력해도 됩니다.
#useradd [option] 사용자계정이름
주요 옵션
옵션 | 의미 |
-p | 사용자의 암호를 추가 시에 지정할 수 있다. 현재 리눅스에서는 암호화된 값을 사용하므로 암호화된 값으로 지정해야 한다. |
-d | 홈 디렉터리를 지정할 때 씀. 최종 디렉터리만 생성하므로 중간 경로가 있는 경우에는 미리 생성해야 한다. |
-g | 그룹을 지정할 때 사용하는데, 지정할 그룹이 미리 생성되어 있어야 한다. 이 옵션을 지정하지 않으면 레드햇 계열에서는 아이디와 동일한 그룹이 생성되어 포함시키고, 다른 배포판에서는 users에 포함시킨다. |
-G | 기본그룹이외에 추가로 그룹에 속하게 할 경우에 쓴다. (--groups) |
-c | 사용자 생성 시 사용자에 대한 설명을 설정한다. |
-s | 사용자 생성 시 사용자가 사용할 셸을 지정한다. |
-D | /etc/default/useradd에 설정된 유저추가와 관련된 기본 사항들을 보여준다. |
-m | 사용자를 생성할 때 홈 디렉터리를 생성해주는 옵션으로, 레드햇 계열에서는 이 옵션 없이도 홈 디렉터리가 생성되지만 다른 배포판에서는 생성되지 않으므로 지정해야 한다. 보통 -k 옵션과 함께 사용하여 /etc/skel에 있는 기본 파일을 복사할 디렉터리를 지정할 때 쓴다. |
-k | 사용자 생성 시 복사할 환경 파일들이 들어 있는 디렉터리를 지정할 때 쓴다. 기본값은 /etc/skel이다. |
-f | 패스워드 만료 후 계정이 잠기기 전까지의 유예 기간(그레이스 기간)을 일수로 지정한다. |
-e | 계정 만료일을 YYYY-MM-DD 형식으로 지정한다. |
-u | 사용자 생성 시 부여할 UID 값을 직접 지정한다. |
사용 예
→ dongwok이라는 계정을 생성한다.
→ dongwok 이라는 사용자를 생성하면서 홈 디렉터리의 경로 및 그룹을 지정한다. 물론 해당 디렉터리(/home/terran)와 해당 그룹(terran)은 미리 생성되어 있어야 한다.
예 위의 명령 실행 전에 아래와 같은 명령을 수행해서 미리 디렉터리와 그룹을 생성해야 한다.
# mkdir /home/terran
# groupadd terran
# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
➜ 사용자 생성 시 기본적으로 적용되는 정보를 확인한다. 해당 정보 파일은 /etc/default/useradd이다.
사용자 암호 부여: passwd
등록된 사용자의 암호를 지정하거나 변경하는 명령어이다. 리눅스에서는 useradd로 계정 생성 후에 암호를 지정하지 않으면 로그인이 되지 않으므로 반드시 지정해야 한다. passwd만 입력하면 현재 로그인 사용자만의 암호가 변경되고, root만 다른 사용자의 암호를 변경할 수 있다.
사용법
$ passwd [사용자명]
사용 예
[dongwok@www ~]$ passwd
→ 현재 로그인한 posein 사용자 본인의 암호를 변경한다.
→ dongwok 라는 사용자의 암호를 변경한다.
사용자 전환: su
su(substitute user)는 대리 사용자라는 뜻의 약어로,
시스템에 로그인되어 있는 상태에서 다른 사용자의 권한으로 셸(Shell)을 실행할 수 있도록 전환하는 명령어이다.
대부분의 리눅스 배포판에서는 텔넷과 같이 원격에서 접속할 때 직접 root 계정으로 로그인이 불가능하도록 설정되어 있다.
따라서 관리자라고 하더라도 일반 사용자로 로그인한 뒤에 root로 전환해야 하는데, 이 때 필요한 명령어가 su이다.
사용법
$ su [option] [사용자명]
→ 사용자명을 입력하지 않으면 root로 사용자 전환을 한다. 사용자 전환 시 해당 사용자의 패스워드를 입력해야 하며,
root에서 다른 사용자로 전환 시에는 패스워드를 묻지 않는다.
또한 su를 이용해 다른 사용자로 전환한 후에 원래 사용자로 돌아가려면 exit를 입력하면 된다.
주요 옵션
옵션 | 의미 |
- , -l | su 명령을 옵션 없이 실행하면 로그인한 사용자의 환경변수 값을 가지고 다른 사람의 권한만 갖는다. 전환하려는 사용자가 실제 로그인한 것처럼 셸을 이용하려면 반드시 이 옵션을 지정해야 한다. 특히, root로 전환하는 경우 root 권한의 셸을 이용하기 위해서는 반드시 필요하다. (--login) |
-c | 사용자를 전환하지 않고 다른 사용자의 권한으로 명령을 일시적으로 수행할 때 사용한다. (--command) |
사용 예
→ root 사용자로 사용자를 전환한다. root로 권한자만 바꾸지만 환경변수 등은 기존 사용자 dongwok 의 환경으로 적용되어 실제 root 권한을 수행하기에는 제약이 따른다.
→ root 사용자로 전환한다. 실제 root로 로그인한 것처럼 권한, 환경변수 등 모든 환경이 root의 상태가 된다.
→ 사용자를 전환하지 않고 일회적으로 명령을 내릴 때 -c 옵션을 사용한다.
[root@www ~]# su - dongwok
→ dongwok 사용자로 전환한다. root인 경우에는 다른 사용자로 전환 시 패스워드를 묻지 않는다.
'리눅스' 카테고리의 다른 글
리눅스 마스터 2급 - 리눅스 명령어 (사용자 패스워드 관리) (0) | 2025.05.08 |
---|---|
리눅스 마스터 2급 - 리눅스 명령어(사용자 계정 관리 및 삭제) (2) | 2025.05.08 |
리눅스 마스터 2급 - 리눅스 명령어의 개요 (0) | 2025.05.06 |
리눅스 마스터 2급 - 리눅스의 철학 (0) | 2025.05.06 |
리눅스 마스터 2급 - 리눅스의 역사 (1) | 2025.05.06 |