티스토리 뷰
CentOS7 리눅스에서 사용자의 셸, 홈 디렉터리, 그룹, UID, GID 등 사용자 관련 대부분의 정보를 변경하는 명령어 usermod 와 다른 사용자의 권한을 할당하여 작업진행이 가능한 su 에 대해서 알아보도록 하자. 자격증 검정에도 많이 나오는 내용이기도 하다.
[2023][자격증취득 안내][초보][취업][리눅스마스터가 뭔가요]
[사용자 관련 명령어]
useradd | 사용자 계정 생성 |
userdel | 사용자 계정 삭제 |
usermod | 사용자의 정보를 대부분 변경 가능 |
su | 특정 사용자로 권한 전환 |
[3. usermod]
- 사용자 관련 대부분의 정보를 변경하는 관리자 명령어이다.
- root 권한이 있는 사용자만 사용할 수 있음
- root 권한자가 root 포함 사용자 정보를 변경할 때 사용하는 명령어
- 사용 방법
usermod [options] 사용자계정이름
- 많이 사용되는 주요 옵션
-d | 사용자의 홈 디렉터리 변경 (--home) |
-m | 홈 디렉터리 변경 시 기존의 파일 및 디렉터리도 함께 옮겨준다. -d옵션과 함께 사용 (--move-home) |
-g | 사용자의 그룹 변경 (--gid) |
-G | 기본 그룹 외의 추가로 속하게 할 그룹 지정 (--groups) |
-s | 사용자 셀 변경 (--shell) |
-e | 계정의 만기일을 YYYY-MM-DD 또는 MM-DD-YY 형식으로 지정 (--expiredate) |
-l | 사용자 아이디 변경 (--login) |
- 그 외 주요 옵션
-c 'comment'
--comment=comment
|
사용자 계정에 대한 간단한 정보를 입력하거나 변경
usermod -c '테스트용' 사용자계정
|
-p 'password'
--password=password
|
사용자 계정의 암호를 설정
※ 리눅스에서는 암호화된 값을 사용하므로 암호화된 값으로 지정해야하기 때문에 추천하지 않음
|
-d HOME_DIR
--home=HOME_DIR
|
사용자 계정의 홈 디렉터리 설정
※ 사용하지 않으면 기본 홈 디렉토리는 /home/username
|
-e date
--expiredate date
|
계정의 만료일 설정(YYYY-MM-DD)
※ 기본값은 /etc/default/useradd 파일에서 EXPIRE 변수의 값(보통 무기한)
|
-g group
--gid=group
|
사용자의 그룹을 변경
※ 그룹은 /etc/group 파일에 이미 존재해야 함
※ 기본적으로 사용자 계정 및 UID와 같은 값을 가지는 그룹 계정과 GID가 만들어짐
usermod -g root 계정
|
-G group_list
--groups group_list
|
계정이 속할 부 그룹을 지정
※ 여러 개를 지정하려면 콤마로 구분하여 설정
|
-s shell
--shell=shell
|
사용자의 기본 쉘 설정
usermod -s /bin/bash 계정
|
-u uid
--uid=uid
|
사용자의 UID를 변경 |
-l 계정
--login=계정
|
사용자 계정의 아이디를 변경
usermod -l 변경후아이디 변경전아이디
|
-L
--lock
|
사용자의 패스워드에 LOCK을 걸어 로그인을 막음
usermod -L 계정
|
-U
--unlock
|
사용자의 패스워드에 걸린 LOCK 품
usermod -U 계정
|
- 사용 예
# 계정 변경 : 계정만 변경, 홈 디렉터리는 변경 X
예시) usermod -l 변경후아이디 변경전아이디
실제) usermod -l tuser6 tuser5
# 홈 디렉터리 변경
예시) usermod -d /home/username
실제) # usermod -l tuser6 -d /home/tuser2 -m tuser5
-> tuser5 이라는 아이디의 홈 디렉터리 /home/tuser5를 /home/tuser2로 변경, 기존 사용하던 파일과 디렉터리도 옮긴다.
[4. su 명령어]
- Switch User의 약자로 현재 계정을 로그아웃 하지 않고 다른 계정으로 전환하는 명령어이다.
- 시스템에 로그인되어 있는 상태에서 다른 사용자의 권한으로 셸을 실행할 수 있도록 전환하는 명령
- 사용자를 생략하는 경우 root 사용자로 로그인
- su 사용자 : 현재 쉘로 로그인, 작업 디렉토리 바뀌지 않음
- su - 사용자 혹은 su -l 사용자 : 지정된 사용자의 로그인 쉘로 로그인, 작업 디렉토리 변경, 사용자 환경 변수
- 옵션없이 사용하면 전환하려는 사람의 환경변수 값은 갖지 않고 권한만 갖는다.
- exit: su를 이용해 다른 사용자 전환 후 다시 원래 사용자로 돌아가기
- 사용방법
# su [option] 사용자명
- 많이 사용되는 주요 옵션
-c 'command' --command=command |
쉘을 실행하지 않고 1개의 쉘 명령을 root 계정으로 실행하는 명령어 - root 암호를 알아야 함 |
su -c 'command' : 사용자를 전환하지 않고 다른 사용자의 권한으로 일시적으로 명령 수행 |
|
- | 지정된 사용자의 로그인 쉘로 로그인 |
-l --login |
전환하려는 사용자가 실제 로그인 한 것처럼 권한, 환경변수 등 모든 권한을 갖는다 |
-s 'shell' --shell='shell' |
지정된 쉘로 로그인 |
[5. sudo 명령어]
- SuperUser DO의 약자로 root 또는 다른 사용자의 권한으로 명령을 실행하기 위한 명령어이다.
- 특정 사용자나 그룹 별로 세세한 권한을 부여할 수 있음
- 본인의 암호만 필요하며, root 계정의 암호를 요구하지 않음
- /etc/sudoers 파일에 누가/어디서/어떤 명령을 수행할 수 있는지 설정
- /etc/sudoers 파일
- sudo라는 명령어를 통해서 임시적으로 다른 사용자의 권한을 가지기 위해서는 sudoers 파일에 설정이 되어 있어야 함.
- root 사용자가 visudo 또는 vi 등의 편집기를 사용하여 편집
- 기본 문법 : user MACHINE=COMMANDS
sudoers 파일 내용 // gildong 계정이 어디서든 useradd 명령과 usermod 명령을 사용할 수 있음 gildong ALL=/user/sbin/useradd, /user/sbin/usermod // 사용자 Alias 설정 // user1,user2,user3 계정들은 어디서든 모든 권한 수행 User_Alias ADMINUSER=user1,user2,user3 ADMINUSER ALL=NOPASSWD:ALL |
- 사용 방법
sudo [-u username] command
// root 사용자 권한으로 사용하기
sudo command
// 다른 사용자 권한으로 사용하기
sudo -u username command
- 주요 옵션
-u user --other-user=user |
특정 유저의 권한으로 command를 수행하고자 하는 경우 사용하는 옵션 |
-l --list |
자신에게 sudo를 통해 허용된 명령을 확인하는 옵션 sudo -l |
+ 도움 되는 다른 내용도 살펴보세요.
'이슈.Issue.IT' 카테고리의 다른 글
[초보자를 위한 유니티 입문(개정2판)][유니티로 게임 만들기의 ABC][한빛미디어][나는리뷰어다] (34) | 2023.05.29 |
---|---|
[2023][카톡감옥][단톡방 조용히나가기][드디어된다][카톡업데이트] (60) | 2023.05.12 |
[인공지능][챗봇][챗GPT][확바뀐 뤼튼2.0][GPT4기본탑재][올인원AI플랫폼] (8) | 2023.04.08 |
[2023][카톡감옥][단톡방감옥][카톡업데이트.'초대거절'기능추가] (10) | 2023.04.04 |
[2023][인증허점.북해킹][이니세이프][확인및재설치][총정리] (13) | 2023.03.30 |