안녕하세요 코이킹입니다 .
오늘은 리눅스의 그룹·유저·권한관련 명령어를 정리하려 합니다.
※ 실습환경은 Amazon Linux 2 AMI 입니다.
1. 그룹 관련명령어
1) 그룹정보 보기
$ vi /etc/group
그룹 정보는 /etc/group 파일에 정리되어 있습니다.
그룹정보는 아래와 같은 형식으로 표현되어 있습니다.
':'으로 정보가 구분되어 있는데 쓰여진 내용은 그룹이름:암호:그룹ID: 을 의미합니다.
2) 현재 계정이 속한 그룹 확인
$ groups
현재 로그인된 유저가 속한그룹이름을 출력해 줍니다.
3) 그룹 등록하기
$ groupadd [옵션] 그룹이름
※ 주요 옵션은 명령어 -help로 확인 가능
(ex) groupid가 142인 그룹 test1을 등록
4) 그룹 정보 수정
$ groupmod [옵션] 그룹이름
(ex) 그룹이름이 test1인 그룹의 groupid를 145로 , 그룹이름을 test2로 변경
5) 그룹에 유저 추가
$ gpasswd -a 유저이름 그룹이름
(ex) 유저ec2-user 를 test2그룹에 추가
6) 그룹에서 유저 제거
$ gpasswd -d 유저이름 그룹이름
(ex) 유저ec2-user 를 test2그룹에서 제거
7) 그룹 삭제
$ groupdel [옵션] 그룹이름
(ex) test2그룹삭제
2. 유저 관련명령어
1) 등록된 유저정보 보기
$ vi /etc/passwd
등록된 유저 정보는 /etc/passwd파일에 정리되어 있습니다.
그룹의 정보와 마찬가지로 사용자의 정보도 1줄로 정리되어 있으며, 형식은 아래와 같습니다.
유저이름:비번:유저ID:그룹ID:설명:홈디렉터리:사용셸
2) 특정 유저의 정보(uid, gid)보기
$ id [옵션] 유저이름
3) 유저 등록
$ useradd [옵션] 유저이름
(ex) g-test3 그룹에 속하고, 홈디렉터리가 /home/test1dir인 유저 u-testuser1 생성
4) 유저 비번 설정
$ passwd 유저이름
-> 비번 입력하기
너무 짧은 비밀번호를 설정하면 경고메시지 출력됩니다.
5) 로그인 유저 변경
$ su - 유저이름
-> 필요시 비번입력
$ exit // 로그아웃
6) 유저 정보 변경
$ usermod [옵션] 유저이름
(ex) 유저 u-testuser1의 유저id를 변경
7) 유저 삭제
$ userdel [옵션] 유저이름
3. 권한 관련명령어
1) 파일·디렉터리의 권한보기
$ ls -la
ls -la 명령어를 통해서 10개의 문자로 구성된 파일·디렉터리의 권한을 확인할 수 있습니다.
1번째 문자는 파일·디렉터리·링크를 구분해 주며
문자의 의미는 아래와 같습니다.
- : 파일
d : 디렉터리
l : 심볼릭 링크
2~4번째 문자는 소유자의 읽기·쓰기·실행권한을 의미합니다.
읽기 권한이 있는 경우 2번째 문자로 r이 권한이 없다면 -이 표시됩니다.
쓰기 권한이 있는 경우 3번째 문자로 w가 권한이 없다면 -이 표시됩니다.
실행 권한이 있는 경우 4번째 문자로 x가 권한이 없다면 -이 표시됩니다.
※ 소유그룹 / 게스트유저의 권한 역시 같은 방식으로 표시됩니다.
5~7번째 문자는 소유그룹의 읽기·쓰기·실행권한을 의미합니다.
8~10번째 문자는 소유자/소유그룹이외의 게스트 유저의 읽기·쓰기·실행권한을 의미합니다.
2) 파일·디렉터리의 권한변경
$ chmod [권한값] 대상 디렉터리 또는 파일
권한은 권한값으로 표현될 수 있습니다.
읽기(r) 권한은 4,
쓰기(w) 권한은 2,
실행(x) 권한은 1로 표현됩니다.
※ 읽기·쓰기·실행권한을 모두 부여한다면 권한값을 7로 지정
chmod 명령어 사용시 부여하는 권한값으로 세자리의 수를 지정해 주어야합니다.
첫번째 자리는 소유자의 권한,
두번째 자리는 소유그룹의 권한,
세번째 자리는 게스트의 권한입니다.
(ex)대상 디렉터리 또는 파일에 대해서 소유자, 소유그룹, 게스트 모두 모든 권한을 부여.
chmod 777 파일 또는 디렉터리
(ex) 소유자는 읽기·쓰기권한을 가지고 그룹은 읽기·실행권한을 게스트는 실행권한을 부여.
chmod 651 파일 또는 디렉터리
3) 파일·디렉터리의 소유자 변경
$ chown [옵션] [유저이름 또는 그룹이름] [파일 또는 폴더]
(ex) 디렉터리의 testdir-1의 소유자를 하위폴더포함해서 test-user2로 변경
4) sudo 권한부여
sudo 권한은 /etc/sudoers 파일에 기술되어 있습니다.
특정 명령어의 sudo 권한을 부여하고자 한다면 /etc/sudoers파일을 수정해주어야하는데,
/etc/sudoers파일은 vi 등의 에디터로 열어서 수정하는 것이 아닌 아래 명령어를 통해서 수정해야합니다.
$ visudo
-> 수정후 :wq
(ex) 유저 ec2-user에게 모든 명령어 사용가능 권한주기
(ex) 그룹 test-group2에게 모든 명령어 사용가능 권한주기
'운영체제 > Linux' 카테고리의 다른 글
【Linux】타임존 설정 (0) | 2022.03.27 |
---|---|
【Linux】인코딩 설정 (0) | 2022.03.27 |
【Linux】네트워크 액세스관련설정 (0) | 2022.03.27 |
【Linux】Shell설정 (0) | 2022.03.27 |
댓글