출처 : 대전국제 IT교육센터 정성재 강사
1. chmod(change mode)
(1)
설명: 모든 파일에는 접근할 수 있는 허가권이 있는데 이 허가권을 설정하거나 해제하는 명령어
이다.
(2) 사용법
chmod [option] mode file(s)
(3) option
-R : 서브 디렉토리까지
설정된다.
(4) mode
1) 문자모드(symbolic mode) : 특정문자를 사용하여 허가권을 설정하는 방법으로 유연성있게
권한
을 설정할 수 있다.
ㄱ. 기본권한과 문자의
의미
기본권한 | file인 경우 | directory인 경우 |
r 읽기 | 파일의 내용을 볼 수 있는 권한 | 디렉토리안의 파일을 볼 수 있는 권한 |
w 쓰기 | 파일의 내용을 수정할 수 있는 권한 | 디렉토리안의 파일을 삭제/생성할 수 있는 권한 |
x 실행 | 실행파일을 실행시킬수 있는 권한 | 디렉토리안으로 접근할 수 있는 권한 |
ㄴ. 사용자와 문자
u : 파일의 소유자(user)
g
: 그룹(group)
o : 다른 사용자(other)
a : 전체(all) - 소유자, 그룹, 다른 사용자
전부를 가리킨다.
ㄷ. 권한지정문자
+ : 설정
- : 해제
= : 지정된 계층에서
해당권한만 설정하고 나머지는 해제시킴
2) 숫자모드(numberic mode) : 숫자(4,2,1,0)를 조합하여 8진수형태의 값을
만들어 권한을 설정한
다. 기본계층이 3계층이므로 숫자 3자리(예를 들면 755)로
부여하는
데 앞에서부터 각각 소유자(100의 자리), 소유 그룹(10의 자리),
다른사용자(1의 자리)의 접근 권한을 나타낸다.
ㄱ. 숫자와
권한
4 : 읽기
2 : 쓰기
1 : 실행
0 : 어떠한 권한도 부여하지
않음
ㄴ. 중복권한: 두가지 이상의 권한을 같이 설정하려면 각 숫자를 더한 값을 지정하면 된다.
예) 7 :
읽기, 쓰기, 실행
6 : 읽기, 쓰기
5 : 읽기, 실행
(5) 사용예
1)
chmod ugo+rwx aa.txt : 모든 사용자에게 모든 권한을 준다.
= chmod a+rwx aa.txt , chmod
777 aa.txt
2) chmod 755 aa.txt
=> aa.txt라는 파일에 대해 소유자는 읽기, 쓰기,
실행이 가능하고 그룹과 기타 사용자는
읽기와 실행만 가능하게 설정된다.
3) chmod o-r,o-w
*
= chmod o-rw *
=> 현재 디렉토리 안의 모든 파일을 다른 사용자가 읽지도 쓰지도 못하게
만든다.
4) chmod a+r *.txt
=> *.txt로 끝나는 모든 파일을 모든 사용자가 읽을 수 있게
만든다.
5) chmod o=r /etc/lilo.conf
=> /etc/lilo.conf라는 파일을 다른
사용자가 읽을 수만 있게 만든다.
6) chmod -R go-rwx *
=> 현재 디렉토리의 모든 파일과 서브
디렉토리의 모든 파일에 대해 그룹과 다른 사용자가 아무
것도 할 수 없게 만든다.
2. chown(change owner)
(1) 설명: 파일의 소유자를 바꾼다. 이 명령은 누구나
실행가능하지만, root가 아닌 경우에는
제약이 많다.
(2) 사용법
chown [option]
newowner file(s)
=> 파일 이름 대신 디렉토리 이름도 가능. newowner에서 사용자의 ID나 사용자 번호를
쓸 수
있다.
(3) option
-R : 서브 디렉토리까지 바꾼다.
(4) 사용예
chown
-R posein * => 현재 디렉토리의 모든 파일과 서브 디렉토리의 모든 파일의 소유자를
posein로 바꾼다.
(5) 참고 : chown명령을 통해서 파일의 소유권과 그룹의
소유권을 동시에 변경할 수 있다. 이를
위해서는 다음과 같이 동시에 써준다.
예) chown
medic.terran /home/prehee/data => /home/prehee/data의 파일 소유권은 medic에,
그룹
소유권은 terran이 된다.
chown 500.500 * => 현재 디렉토리의 모든 파일의 소유자는 UID가 500인 사용자에게,
소유그룹
은 500인 그룹으로 넘긴다.
3.
chgrp(change group)
(1) 설명: 파일의 소유 그룹을 바꾼다. root가 아니면 거의 쓸모가
없다.
(2) 사용법
chgrp [option] newgroup file(s)
=> 사용법은 option은
chown과 비슷하다.
(3) 옵션
-R : 한 디렉토리내의 모든 파일이나 하위 디렉토리의 그룹소유권을 바꾼다.
(4)
사용예
chgrp eles logo.gif => logo.gif라는 파일의 소유그룹을 eles로 바꾼다.
(참고)
사용자 번호
모든 사용자는 사용자 번호를 가지고 있으며, 파일들의 소유자도 사용자 번호로 기록되어 있다.
ls 명령등에서
파일의 소유자를 사용자 ID로 보여주는 것은 /etc/passwd 파일 안에 사용자 번호와
사용자의 ID가 기록되어 있으므로 유닉스가
참조하여 사용자번호 대신에 사용자 ID를 보여주는 것
이다. 사용자 번호는 처음 계정을 만들때 시스템이 임의로 부여한다. (대부분
사용자번호는 500부
터 부여가 됨) 어떤 파일의 소유자가 /etc/passwd파일 안에 등록되어 있지 않은 경우 ls명령을
실
행하여 파일의 소유자를 프린트하게 한다면 사용자 ID대신에 파일의 소유자 번호를 보여주게 된다.
파일의 소유 그룹도 비슷한
방식으로 관리되며, 그룹번호와 그룹이름에 대한 정보는 /etc/group에
들어 있다.