티스토리 뷰
CentOS 강좌 PART 1. 5 사용자 권한
명령어 요약
사용자 그룹 관련 명령어
groups "username" 사용자계정이 포함된 그룹 출력
groupadd "groupname" 그룹추가
gpasswd "groupname" 그룹 패스워드 생성
gpasswd -A "username" "groupname" 특정 사용자 계정을 그룹관리자로 지정.
tail -n 5 /etc/group 생성된 그룹 확인
tail -n 5 /etc/gshadow 생성된 그룹 확인
gpasswd -a "username" "groupname" 특정사용자 계정을 특정그룹에 포함.
gpasswd -d "username" "groupname" 특정사용자 계정을 특정그룹에서 제외.
groupdel "groupname" 그룹삭제
|
파일 권한,소유권 관련 명령어
ls -al 파일 정보에 대한 분석
chmod 파일, 디렉토리 권한 변경
chown 파일, 디렉토리 소유권 변경
|
사용자 계정 관련 명령어
useradd -m 사용자계정 추가
passwd "username" 비밀번호 생성
tail -n 5 /etc/passwd 생성된 사용자 유저 확인
tail -n 5 /etc/shadow 생성된 사용자 유저 확인
adduser "username" 사용자 계정 추가
userdel -r "username" 사용자 계정 삭제
adduser test2 -g user2 새로운 계정을 생성하고, 존재하는 그룹에 포함 시킴
|
[파일 정보 및 권한에 대한 분석]
파일에 대한 정보를 출력해 주는 "ls" 명령의 옵션 "-ㅣ"은 파일들에 대한 접근권한, 링크, 소유자, 소유그룹, 파일 크기, 최종 변경한 날짜와 시간, 파일 이름등 다양한 정보를 출력한다.
특히 접근권한, 소유자, 소유그룹 등은 사용자의 권한을 정의하는 데 매우 중요한 정보들이다.
[whchoi@CentOS153 cp_test]$ ls -al
total 12
drwxrwxr-x. 2 whchoi whchoi 93 Mar 6 15:38 .
drwx------. 17 whchoi whchoi 4096 Mar 6 19:26 ..
-rw-rw-r--. 1 whchoi whchoi 11 Mar 6 15:38 backup1.txt
-rw-rw-r--. 1 whchoi whchoi 11 Mar 6 15:38 test1.txt
-rw-rw-r--. 1 whchoi whchoi 0 Mar 6 15:37 test2.txt
-rw-rw-r--. 1 whchoi whchoi 0 Mar 6 15:37 test3.txt
-rw-rw-r--. 1 whchoi whchoi 0 Mar 6 15:37 test4.txt
# -rw-rw-r-- : 접근권한을 나타낸다.
# 1 : 링크를 의미한다.
# whchoi : 파일 소유자를 의미한다.
# whchoi : 파일 소유그룹을 의미한다.
# 11 : 파일 크기를 나타낸다.
# Mar 6 15:38 : 최종변경한 날짜와 시간을 의미한다.
# test1.txt : 파일이름을 의미한다.
|
특히 접근 권한은 아래와 같은 정보를 담고 있다.
d rwx rwx r-x
d - 파일 종류 ( "d"는 디렉토리를 의미하며, "-"는 일반 파일을 의미한다.)
rwx - 파일 소유자 권한.
rwx - 파일 소유그룹 권한.
r-x - 다른 모든 사용자.
("r"은 read 권한을 , "w"는 write 권한을 , "x"는 excute 권한을 "-" 권한이 없음을 의미한다.)
|
특히 접근 권한은 아래와 같은 정보를 담고 있다. 이러한 접근권한은 실제 2진수로 구성이 되어 있다.
아래는 권한 rwx rwx rwx , 10진수 777로 구성될 때의 예를 표현한 것이다.
User |
Group |
Others |
||||||
r (read) |
w (write) |
e (excute) |
r (read) |
w (write) |
e (excute) |
r (read) |
w (write) |
e (excute) |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
10 진수 : 7 |
10진수 : 7 |
10 진수 : 7 |
[사용자 관리를 위한 방법]
centos에서는 아래와 같이 명령어 기반으로 사용자계정을 추가하거나 삭제가 가능하다.
새로운 계정의 추가 방법에 대해서 살펴본다.
[whchoi@CentOS153 ~]$ sudo useradd -m user1
# user1 이라는 새로운 사용자 계정을 추가. "-m" 옵션을 적용하면 자동으로 home dir을 생성
[whchoi@CentOS153 ~]$ tail -n 5 /etc/passwd
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
whchoi:x:1000:1000:whchoi:/home/whchoi:/bin/bash
user1:x:1001:1001::/home/user1:/bin/bash
# passwd 파일에 user1이 등록되었는지 확인.
[whchoi@CentOS153 ~]$ ls -al /home/
total 4
drwxr-xr-x. 4 root root 33 Mar 6 21:24 .
dr-xr-xr-x. 17 root root 224 Mar 5 04:02 ..
drwx------. 2 user1 user1 62 Mar 6 21:24 user1
drwx------. 17 whchoi whchoi 4096 Mar 6 19:26 whchoi
# user1 의 홈디렉토리가 정상적으로 등록된 것을 확인 할 수 있다.
[whchoi@CentOS153 ~]$ ls -al /home/user1/
ls: cannot open directory /home/user1/: Permission denied
# whchoi 계정은 권한 문제로 인해 user1 계정을 조회할 수 없다.
[whchoi@CentOS153 ~]$ sudo ls -al /home/user1/
total 12
drwx------. 2 user1 user1 62 Mar 6 21:24 .
drwxr-xr-x. 4 root root 33 Mar 6 21:24 ..
-rw-r--r--. 1 user1 user1 18 Oct 31 02:07 .bash_logout
-rw-r--r--. 1 user1 user1 193 Oct 31 02:07 .bash_profile
-rw-r--r--. 1 user1 user1 231 Oct 31 02:07 .bashrc
# root 관리자 계정을 통해서 조회가 가능.
[whchoi@CentOS153 ~]$ sudo adduser user2
# useradd 와 같은 기능을 하지만 옵션이 필요없이 홈디렉토리를 자동 생성해 준다.
[whchoi@CentOS153 ~]$ tail -n 5 /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
whchoi:x:1000:1000:whchoi:/home/whchoi:/bin/bash
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash
# user2가 정상적으로 계정이 생성된 것을 확인할 수 있다.
[whchoi@CentOS153 ~]$ ls -al /home/
total 4
drwxr-xr-x. 5 root root 46 Mar 6 23:48 .
dr-xr-xr-x. 17 root root 224 Mar 5 04:02 ..
drwx------. 2 user1 user1 62 Mar 6 21:24 user1
drwx------. 2 user2 user2 62 Mar 6 23:48 user2
drwx------. 17 whchoi whchoi 4096 Mar 6 19:26 whchoi
|
생성된 사용자 계정을 삭제하는 방법을 살펴 본다.
[whchoi@CentOS153 ~]$ sudo userdel -r user1
# 기존 사용자 계정을 삭제한다. "-r" 옵션은 사용자계정의 홈디렉토리를 자동 삭제해 준다.
[whchoi@CentOS153 ~]$ tail -n 5 /etc/passwd
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
whchoi:x:1000:1000:whchoi:/home/whchoi:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash
# user2가 정상적으로 계정이 삭제된 것을 확인할 수 있다.
[whchoi@CentOS153 ~]$ ls -al /home/
total 4
drwxr-xr-x. 4 root root 33 Mar 6 23:51 .
dr-xr-xr-x. 17 root root 224 Mar 5 04:02 ..
drwx------. 2 user2 user2 62 Mar 6 23:48 user2
drwx------. 17 whchoi whchoi 4096 Mar 6 19:26 whchoi
# 정상적으로 디렉토리가 삭제된 것을 확인할 수 있다.
|
[파일 권한,소유권 변경]
사용자 계정과 파일들의 권한과 소유권에 따라 읽기, 쓰기, 실행의 권한이 모두 다르므로, 파일이나 디렉토리 속성을 살펴보는 것이 매우 중요하다.
[root@CentOS153 home]# ls -al
total 4
drwxr-xr-x. 5 root root 46 Mar 6 23:57 .
dr-xr-xr-x. 17 root root 224 Mar 5 04:02 ..
drwx------. 2 user1 user1 62 Mar 6 23:57 user1
drwx------. 2 user2 user2 62 Mar 6 23:48 user2
drwx------. 17 whchoi whchoi 4096 Mar 6 19:26 whchoi
[root@CentOS153 home]# chown user1:whchoi /home/user1/
# user1 디렉토리의 Group을 user1 에서 whchoi로 변경한다.
[root@CentOS153 home]# ls -al
total 4
drwxr-xr-x. 5 root root 46 Mar 6 23:57 .
dr-xr-xr-x. 17 root root 224 Mar 5 04:02 ..
drwx------. 2 user1 whchoi 62 Mar 6 23:57 user1
drwx------. 2 user2 user2 62 Mar 6 23:48 user2
drwx------. 17 whchoi whchoi 4096 Mar 6 19:26 whchoi
# user1 directory의 Group이 정상적으로 whchoi Group으로 변경된 것을 확인.
# 하지만 여전히 user1은 User외에는 Group과 Others에 Read, Write, Excute 권한이 없음.
[root@CentOS153 home]# chmod 750 /home/user1
# chmod 권한 변경을 통해 user1 directory의 whchoi Group에 속한 사용자들에게 Read와 Excute 권한을 부여한다.
[root@CentOS153 home]# ls -al
total 4
drwxr-xr-x. 5 root root 46 Mar 6 23:57 .
dr-xr-xr-x. 17 root root 224 Mar 5 04:02 ..
drwxr-x---. 2 user1 whchoi 62 Mar 6 23:57 user1
drwx------. 2 user2 user2 62 Mar 6 23:48 user2
drwx------. 17 whchoi whchoi 4096 Mar 6 19:26 whchoi
# user1의 디렉토리 권한이 whchoi Group에게도 Read, Excute 가 부여된 것을 확인.
[whchoi@CentOS153 ~]$ ls -al /home/user2
ls: cannot open directory /home/user2: Permission denied
# user2 directory는 권한이 700 (소유자에게만 모든 권한이 있음) 이므로 ls 는 권한이 없음.
[whchoi@CentOS153 ~]$ ls -al /home/user1
total 12
drwxr-x---. 2 user1 whchoi 62 Mar 6 23:57 .
drwxr-xr-x. 5 root root 46 Mar 6 23:57 ..
-rw-r--r--. 1 user1 user1 18 Oct 31 02:07 .bash_logout
-rw-r--r--. 1 user1 user1 193 Oct 31 02:07 .bash_profile
-rw-r--r--. 1 user1 user1 231 Oct 31 02:07 .bashrc
# whchoi 사용자는 user1 directory의 ls 명령은 정상적으로 수행됨.
[root@CentOS153 whchoi]# ls -al /home/
total 4
drwxr-xr-x. 5 root root 46 Mar 6 23:57 .
dr-xr-xr-x. 17 root root 224 Mar 5 04:02 ..
drwxr-x---. 2 user1 whchoi 62 Mar 6 23:57 user1
drwx------. 2 user2 user2 62 Mar 6 23:48 user2
drwx------. 17 whchoi whchoi 4096 Mar 6 19:26 whchoi
[root@CentOS153 whchoi]# chmod u+rw- /home/user2
# user2 directory는 10진수로 권한 변경이 아닌 rwx로 변경
# user2 directory를 소유자에게도 read, excute 권한만 부여
[root@CentOS153 whchoi]# chmod ugo+rwx /home/user1
# user1 directory에게 모든 사용자에게 권한 부여.
[root@CentOS153 whchoi]# ls -al /home/
total 4
drwxr-xr-x. 5 root root 46 Mar 6 23:57 .
dr-xr-xr-x. 17 root root 224 Mar 5 04:02 ..
drwxrwxrwx. 2 user1 whchoi 62 Mar 6 23:57 user1
drw-------. 2 user2 user2 62 Mar 6 23:48 user2
drwx------. 17 whchoi whchoi 4096 Mar 6 19:26 whchoi
# user1 directory에 777 모드 (read,write,excute) 권한이 설정된 것을 확인.
[root@CentOS153 whchoi]# chmod o-rwx /home/user1
# user1 directory에 others 사용자에게 모든 권한을 제거함.
[root@CentOS153 whchoi]# ls -al /home/
total 4
drwxr-xr-x. 5 root root 46 Mar 6 23:57 .
dr-xr-xr-x. 17 root root 224 Mar 5 04:02 ..
drwxrwx---. 2 user1 whchoi 62 Mar 6 23:57 user1
drw-------. 2 user2 user2 62 Mar 6 23:48 user2
drwx------. 17 whchoi whchoi 4096 Mar 6 19:26 whchoi
# 정상적으로 user1 directory에서 others를 제외하고, Read,Write,Excute 권한이 부여.
[root@CentOS153 whchoi]# whoami
root
[root@CentOS153 whchoi]# su - user1
[user1@CentOS153 ~]$ touch test1.txt
# user1 으로 login 하여 파일을 만든다.
[root@CentOS153 whchoi]# ls -al /home/user1
total 16
drwxrwx---. 2 user1 whchoi 100 Mar 7 00:13 .
drwxr-xr-x. 5 root root 46 Mar 6 23:57 ..
-rw-------. 1 user1 user1 52 Mar 7 00:13 .bash_history
-rw-r--r--. 1 user1 user1 18 Oct 31 02:07 .bash_logout
-rw-r--r--. 1 user1 user1 193 Oct 31 02:07 .bash_profile
-rw-r--r--. 1 user1 user1 231 Oct 31 02:07 .bashrc
-rw-rw-r--. 1 user1 user1 0 Mar 7 00:13 test1.txt
# chmod에서 -R 옵션을 주지 않은 상태에서 directory 권한을 변경하면 종속되지 않는다.
[root@CentOS153 whchoi]# chmod -R 750 /home/user1
# chmod "-R" 옵션을 부여하여 directory 밑에 모든 파일에 750 권한을 부여
# others 사용자를 제외한 소유권자에게는 Read,Write,Excute를 부여
# 같은 그룹에게는 Read, Excute 권한을 부여
[root@CentOS153 whchoi]# ls -al /home/user1
total 16
drwxr-x---. 2 user1 whchoi 100 Mar 7 00:13 .
drwxr-xr-x. 5 root root 46 Mar 6 23:57 ..
-rwxr-x---. 1 user1 user1 52 Mar 7 00:13 .bash_history
-rwxr-x---. 1 user1 user1 18 Oct 31 02:07 .bash_logout
-rwxr-x---. 1 user1 user1 193 Oct 31 02:07 .bash_profile
-rwxr-x---. 1 user1 user1 231 Oct 31 02:07 .bashrc
-rwxr-x---. 1 user1 user1 0 Mar 7 00:13 test1.txt
# 하위 디렉토리에 정상적으로 구성되었는지 확인.
|
[사용자 그룹 관리를 위한 방법]
centos에서는 아래와 같이 명령어 기반으로 사용자계정을 추가하거나 삭제가 가능하다.
새로운 계정의 추가 방법에 대해서 살펴본다.
[root@CentOS153 whchoi]# groups user1
user1 : user1
[root@CentOS153 whchoi]# groups user2
user2 : user2
[root@CentOS153 whchoi]# groups whchoi
whchoi : whchoi wheel
# 사용자 계정이 속한 그룹 정보를 출력해 준다.
[root@CentOS153 whchoi]# groupadd test
# 새로운 그룹 생성
[root@CentOS153 whchoi]# gpasswd test
# 그룹 패스워드를 구성.
[root@CentOS153 whchoi]# adduser test -g test
# 신규 사용자를 특정 그룹에 배속
[root@CentOS153 whchoi]# tail -n 5 /etc/group
postfix:x:89:
whchoi:x:1000:whchoi
user2:x:1002:
user1:x:1003:
test:x:1004:
# 신규 그룹 생성 여부 확인
[root@CentOS153 whchoi]# ls -al /home/
total 4
drwxr-xr-x. 6 root root 58 Mar 7 00:39 .
dr-xr-xr-x. 17 root root 224 Mar 5 04:02 ..
drwx------. 2 test test 62 Mar 7 00:39 test
drwxr-x---. 2 user1 whchoi 100 Mar 7 00:13 user1
drw-------. 2 user2 user2 62 Mar 6 23:48 user2
drwx------. 17 whchoi whchoi 4096 Mar 6 19:26 whchoi
# 신규그룹과 사용자 정상적으로 생성되었는지 확인.
[root@CentOS153 whchoi]# adduser test2 -g user2
# 생성된 그룹에 신규 사용자 계정을 포함하고, 자동으로 홈 디렉토리를 생성.
|
'운영체제 > CentOS 강좌' 카테고리의 다른 글
CentOS 강좌 PART 1. 7 네트워크 구성 (0) | 2019.03.08 |
---|---|
CentOS 강좌 PART 1. 6 시스템 프로세스와 자원 (0) | 2019.03.07 |
CentOS 강좌 PART 1. 4 리눅스 기본 명령어 3편 (0) | 2019.03.06 |
CentOS 강좌 PART 1. 3 리눅스 기본 명령어 2편 (0) | 2019.03.06 |
CentOS 강좌 PART 1. 2 리눅스 기본 명령어 1편 (0) | 2019.03.06 |
공지사항