[Linux] 리눅스(CentOS7)

[Linux] 허가권과 소유권_2

ITsubin 2022. 3. 7. 20:30

1. ls명령어 : x 권한이 없으면 사용 불가(디렉터리)

2. 관리자는 모든 권한 무시

3. 소유권 (User / Group / Other) > 허가권 (rwx) => 확인 우선순위

 

[ chmod ] 명령어

- 권한 변경 명령어

- CHange + MODify => chmod (허가권에 관여)

- 형식 : chmod [권한] [대상 : 파일 또는 디렉터리]

- ex) chmod 755 test11 => rwxr-xr-x

 

u +- rwx USER

g +- rwx GROUP

o +- rwx OTHER

a +- rwx ALL(UID/GID/OTHER)

 

ex) 소유주의 권한에 읽기, 쓰기, 추가 => chmod u+rw test11

 

ex) chmod 777 test.txt (numberic 방식)

chmod u+rwx,g+rwx,o+rwx test.txt (symbolic 방식) => 리눅스마스터 2급 문제...

chmod a+rwx test.txt

 

ex) chmod 540 test.txt

chmod u+rx,g+r test.txt

 

ex) 453(r--r-x-wx) -> 546(r-xr--rw-) 권한 변경

chmod u+x,g-x,o+r,o-x test.txt

chmod a+rwx,u-w,g-wx,o-x test.txt

 

[ chown ] 명령어

- 권한 변경 명령어

- CHange + OWNership => chown (소유권에 관여)

- 형식 : chown [변경할 소유주] [대상 : 파일 또는 디렉터리]

- ex) chown centos test11

 

: ==> Unix , Linux 겸용 명령

. ==> Linux 전용 명령

 

[chown 연습]

/test/chown 디렉터리를 생성한 후 다음과 같은 명령을 쓰세요

 

mkdir -p /test/chown

cd /test/chown

touch a1 b2 c3 d4 e5 f6 g7 h8

 

useradd user1

useradd korea2

 

chown korea2 a1

chown user1: b2 => 소유주 , 그룹 모두 user1으로 변경

chown :user1 c3 => 그룹만 user1 로 변경

chown user1:korea2 d4 --> 소유주는 user1 , 그룹은 korea2로 변경

chown user1 e5 --> 소유주를 user1으로 변경

chown user1. f6 --> 소유주, 그룹 모두 user1 user1으로 변경

chown .korea2 g7 --> 그룹만 korea2 으로 변경

chown korea2.user1 h8 --> 소유주는 korea2 , 그룹은 user1로 변경

 

[ chgrp ] 명령어

- 그룹 변경 명령어

- CHange + GRouP => chgrp

- 형식 : chgrp [그룹명] [대상: 파일 또는 디렉터리]

 

[chmod , chown 연습]

 

chown을 소유주/그룹 변경 시 user1user1 계정으로 접근하여 내용 확인하세요~ ( touch , ls , cd )

 

[UID] [GID] [OTHER]

/test1 rwx r-x r-x root user1 ==> GID : r-x , cd(ok) , touch(X) , ls(ok)

 

/test2 rwx --- r-x root root ==> OTHER : r-x , cd(ok) , touch(X) , ls(ok)

 

/test3 --- --- --x user1 root ==> UID : --- , cd(X) , touch(X) , ls(X)

 

/test4 --x rw- -wx root root ==> OTHER : cd(ok) , touch(ok) , ls(X)

 

/test5 rw- rw- --x user1 user1

 

/test6 r-x rwx r-x root user1

 

/test7 --- rwx rwx user1 user1

 

[ chmod 연습문제 ] ((답은 아래에))

 

1. 한 줄 명령을 통해 /permission/chmod 디렉터리를 생성한 후 위치로 이동하시오.

 

2. 한 줄 명령을 통해 빈 파일 [c1, c2, c3]를 현재 위치에 생성한 후 현재 디렉터리의 리스트 자세히 보기를 하시오.

 

3. 파일의 권한을 아래 표와 같이 수정하시오.

(, c1c2numberic 방식으로, c3symbolic 방식으로 변경하시오)


c1 c2 c3
UID read [O]
write [X]
excute [O]
read [X]
write [X]
excute [O]
read [O]
write [X]
excute [X]
GID read [X]
write [X]
excute [O]
read [X]
write [O]
excute [X]
read [O]
write [X]
excute [X]
OTHER read [O]
write [O]
excute [O]
read [O]
write [X]
excute [O]
read [X]
write [O]
excute [X]

 

4. 현재 위치에 C 디렉터리 생성 후 이 디렉터리의 읽기, 쓰기, 실행 권한은 소유주만이 갖게 변경하시오.

 

[ chmod 연습문제 답 ]

 

1. 한 줄 명령을 통해 /permission/chmod 디렉터리를 생성한 후 위치로 이동하시오.

[root@localhost /]# mkdir -p /permission/chmod ; cd /permission/chmod
[root@localhost chmod]#

 

2. 한 줄 명령을 통해 빈 파일 [c1, c2, c3]를 현재 위치에 생성한 후 현재 디렉터리의 리스트 자세히 보기를 하시오.

[root@localhost chmod]# touch c1 c2 c3 ; ll
합계 0
-rw-r--r--. 1 root root 0 37 19:45 c1
-rw-r--r--. 1 root root 0 37 19:45 c2
-rw-r--r--. 1 root root 0 37 19:45 c3
[root@localhost chmod]#

 

3. 파일의 권한을 아래 표와 같이 수정하시오.

(, c1c2numberic 방식으로, c3symbolic 방식으로 변경하시오)


c1 c2 c3
UID read [O]
write [X]
excute [O]
read [X]
write [X]
excute [O]
read [O]
write [X]
excute [X]
GID read [X]
write [X]
excute [O]
read [X]
write [O]
excute [X]
read [O]
write [X]
excute [X]
OTHER read [O]
write [O]
excute [O]
read [O]
write [X]
excute [O]
read [X]
write [O]
excute [X]
[root@localhost chmod]# chmod 517 c1 ; chmod 125 c2 ; chmod u-w,o-r+w c3 ; ll
합계 0
-r-x--xrwx. 1 root root 0 37 20:00 c1
---x-w-r-x. 1 root root 0 37 20:00 c2
-r--r---w-. 1 root root 0 37 20:00 c3
[root@localhost chmod]#

 

4. 현재 위치에 C 디렉터리 생성 후 이 디렉터리의 읽기, 쓰기, 실행 권한은 소유주만이 갖게 변경하시오.

[root@localhost chmod]# mkdir C ; chmod 700 C ; ll | grep C
drwx------. 2 root root 4096 37 20:07 C
[root@localhost chmod]#
또는
[root@localhost chmod]# mkdir C ; chmod u+rwx,g-rwx,o-rwx C ; ll | grep C
drwx------. 2 root root 4096 37 20:09 C
[root@localhost chmod]#