[Unix/Linux][유닉스/리눅스] chmod [권한변경] /bin/chmod

파일의 권한을 변경하는 명령어
 

01.사용법 : chmod [옵션] 모드 파일명
02.모드 : 새로운 모드(permissions)
03.파일명 : 모드를 변경하고 싶은 파일 이름
04.-c, --changes : 변경된 파일들에 대한 정보를 보여준다.
05.-f, --silent, --quiet : chmod로 변경되지 않는 파일에 대한 에러를 보여주지 않는다.
06.--help : 도움말을 보여준다.
07.-R, --recursive : 하위 디렉토리에 있는 모든 디렉토리/파일에 대해 적용 변경한다.
08.--reference=filename : 지정한 파일을 참조하여 퍼미션을 변경한다.
09.-v, --verbose : 각 파일에 대해 변경에 대한 정보나 변경되지 않은 정보를 상세히 보여준다.
10.--version : 버전정보를 보여준다.


chmod 명령어는 파일이나 디렉토리를 새로운 권한으로 변경하는 명령어이다. 파일의 소유자나 시스템 관리자만이 chmod를 사용할 수 있으며 파일의 소유자, 파일의 그룹, 다른 사용자로 나누어 설정할 수 있다.
chmod를 이용한 파일/디렉토리의 권한 변경은 8진수를 이용 변경법과 기호에 의한 변경법이 있다. 방법이 달라도 같은 변경된 결과를 구할 수 있다.

모드 보기
파일이나 디렉토리는 모두 각각의 권한을 가지고 있다. 파일이나 디렉토리의 권한은 ls명령어를 이용하여 볼 수 있다.
출력된 내용은 다음과 같이 생각할 수 있다.
 

1.모드              파일소유자 파일그룹 용량 파일생성시간   파일명
2.drwxrwxrw- 1 songsari   fish      46    JAN 21 18:23   dir
3.-rw-r----x 1 songsari   fish      46    JAN 21 18:23   test.txt


모드는 파일을 사용할 수 있는 상태를 뜻한다.
 

01.모드           설명                                               8진수표현
02.d--------- 파일/디렉토리 구분 (파일:-,디렉토리:d)   
03.-r-------- 파일/디렉토리 소유자가 읽기 권한이 있다    400
04.--w------- 파일/디렉토리 소유자가 쓰기 권한이 있다   200
05.---x------ 파일/디렉토리 소유자가 실행 권한이 있다    100
06.----r----- 파일/디렉토리 그룹이 읽기 권한이 있다         40
07.-----w---- 파일/디렉토리 그룹이 쓰기 권한이 있다        20
08.------x--- 파일/디렉토리 그룹이 실행 권한이 있다         10
09.-------r-- 다른 사용자가 읽기 권한이 있다                    4
10.--------w- 다른 사용자가 쓰기 권한이 있다                   2
11.---------x 다른 사용자가 실행 권한이 있다                    1


기호 모드에 의한 파일 권한변경
기호에 의한 변경밥업은 주요 기능의 기호화한 조합으로 설정할 수 있다. 사용자 기호 는 파일/디렉토리를 사용하려는 사용자에 따른 구분이다. 파일/디렉토리에 소유자나 그룹 그 외의 사용자에 다른 권한을 줄 수 있다. 설정하고 싶은 권한을 퍼미션 기호에서 정하여 설정기호를 이용해 조합하여 사용한다. 예로 test.txt 라는 파일을 다른 사용자가 읽을 수 있는 권한을 준다면 다음과 같이 입력한다.
 

1.# chmod o+r test.txt


test.txt파일에 소유자와 그룹에 읽기 쓰기 권한을 주고 다른 사용자의 읽기 권한을 금지하고자 한다면 다음과 같이 입력한다.
 

1.# chmod ug+rw,o-r test.txt


이 경우 쉼표(,)를 이용해 한번에 중복 설정할 수 있다.
[b]사용자 기호
u : user-파일/디렉토리의 소유자
g : group-파일/디렉토리의 그룹
o : other-다른 사용자
a : all-소유자, 그룹, 다른 사용자 모두(아무 표시 안할 경우 기본으로 설정됨)
퍼미션 기호
r : read-파일/디렉토리에 읽기 권한을 준다.
w : write-파일/디렉토리에 쓰기 권한을 준다
x : execute-파일/디렉토리에 실행 권한을 준다.
s : set user(group) ID-파일 실행 시 파일의 소유자 혹은 그룹 권한으로 실행된다.
t : sticky bit-Sticky 비트를 설정한다.
u : user-현재 소유자의 퍼미션 설정과 같은 내용으로 변경된다.
g : group-현재 그룹의 퍼미션 설정과 같은 내용으로 변경된다.
o : other-현재 다른 사용자의 퍼미션 설정과 같은 내용으로 변경된다.
l : locking-강제로 파일을 잠근다.
설정기호
+ : 퍼미션 허가-지정한 퍼미션을 허가한다.
- : 퍼미션 금지-지정된 퍼미션을 금지시킨다.
= : 퍼미션 지정-지정된 퍼미션만 허가하고 나머지는 금지 시킨다.
8진수를 이용한 권한 변경
네 자리의 8진수를 이용하여 파일/디렉토리의 권한을 변경한다. 기본 8진수 테이블에 있는 숫자를 더해서 사용한다.
예로 test.txt 라는 파일에 소유자는 읽기 쓰기 실행 권한을 그룹은 읽기 실행 권한을 다른 사용자는 읽을 수 있는 권한을 준다면
 

1.# chmod 754 test.txt


파일 소유자 위치에 일기(4), 쓰기(2), 실행(1)을 더하여 7을 넣는다. 그룹에는 읽기(4), 실행(1)을 더해서 5를 다른 사용자 위치에는 읽기 권한만 주어 4를 넣어 준다.
8진수 모드 변경
파일/디렉토리 소유자
0400 -파일/디렉토리의 소유자에게 읽기 권한을 준다
0200 -파일/디렉토리의 소유자에게 쓰기 권한을 준다
0100 -파일/디렉토리의 소유자에게 실행 권한을 준다
파일/디렉토리 그룹
0040 -파일/디렉토리의 그룹에게 읽기 권한을 준다
0020 -파일/디렉토리의 그룹에게 쓰기 권한을 준다
0010 -파일/디렉토리의 그룹에게 실행 권한을 준다
다른사용자
0004 -다른 사용자에게 읽기 권한을준다
0002 -다른 사용자에게 쓰기 권한을준다
0001 -다른 사용자에게 실행 권한을준다

4000 -파일 실행 시 파일의 소유자 혹은 그룹 권한으로 실행된다.
2000 -파일 실행 시 파일의 소유자 혹은 그룹 권한으로 실행된다.
1000 -Sticky 비트

파일 정보를 보기 위해 ls를 사용한다.
 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

1.# ls -al
2.drwxr-x---    6 root     root         4096 Mar 29 23:02 .
3.drwx-----x   19 root     root         4096 Mar 17 09:23 ..
4.-rwxr-xr-x   19 root     root        14096 Mar 17 09:23 test1.bmp
5.drwxr-xr-x   19 root     fish         4096 Mar 17 09:23 songsari


test1.bmp 파일을 소유자는 "읽기 쓰기 실행" 그룹은 "읽기 쓰기" 다른 사용자는 "실행으로 변경 해보자.

기호 모드로 변경
현재 소유자는 읽기 쓰기 실행 권한으로 되어 있어서 수정할 필요가 없으며 구룹은 읽기 실행 권한으로 되어 있으므로 실행 권한을 금지시키고 쓰기 권한을 주며 다른 사용자는 일기 실행 권한으로 되어 있으므로 읽기 권한을 금지시키며 된다.
그룹(u)에 실행(x)권한 금지, 쓰기(w)권한 주기 : u-x+w
다른 사용자(o)에 읽기(r)권한 금지 : o-r
 

1.# chmod u-x+w,o-r test1.bmp


8진수 모드로 변경
소유자의 일기(400) 쓰기(200) 실행(100)권한을 그룹에 읽기(40) 쓰기(20) 다른 사용자는 실행(1) 권한을 준다.
소유자 읽기 쓰기 실행 : 400+200+100 : 700
그룹 읽기 쓰기 : 40+20 : 60
다른 사용자 실행 : 1 : 1
 

1.# chmod 761 test1.bmp


[관련 명령어]
chfn 사용자 정보 변경
chgrp 그룹변경
chown 소유자 변경
chsh 셀 변경

[출처] Think IT (Linux) :: chmod [권한변경] /bin/chmod

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
20 [visual c++] 오류 D8016 '/ZI'과(와) '/Gy-' 명령줄 옵션이 호환되지 않습니다. file 졸리운_곰 2023.11.19 322
19 [visual studio] Bring Your MFC Application to the Web mfc 어플리케인 web 구동 file 졸리운_곰 2023.03.20 279
18 [visual studio] [borland c] Using the WinBGIm Graphics Library with Visual Studio 2005/2008 2010 file 졸리운_곰 2023.02.05 315
17 [Visual Studio][boost c++] [C++] boost 설치 및 visual studio 설정 file 졸리운_곰 2021.11.18 464
16 winbgi Borland Turbo C routines in MS Visual C++ file 졸리운_곰 2017.03.04 290
15 VS 프로젝트 이름 변경 졸리운_곰 2017.02.12 355
14 Retrieving CPU Load Percent total in Windows with C++ 졸리운_곰 2016.12.31 487
13 Cpu 사용율 알아내는 소스 졸리운_곰 2016.12.31 471
12 [MFC] Find local network hosts ip, 로컬네트워크의 IP 주소 알아내기 졸리운_곰 2014.08.27 766
11 (Unicode) CString <==> const char* 졸리운_곰 2014.08.27 640
10 Creating a Child Process with Redirected Input and Output 졸리운_곰 2014.08.17 573
9 C++로 짠 간단한 윈도우 서비스 file 졸리운_곰 2014.05.27 1003
8 VC++ 파일에서 한 라인씩 읽기 졸리운_곰 2014.03.02 1199
7 Search Title Of Opened Windows file 졸리운_곰 2014.02.27 978
6 MFC VC++ 파일의 존재유무 체크 졸리운_곰 2014.02.18 1587
5 MFC VC++ : windows tcpip socket Send() function example 졸리운_곰 2014.02.18 1593
4 Check whether one specific process is running on windows with C++ 졸리운_곰 2014.02.18 1099
3 VC++ : Win32 console App run as to be hide (background) 졸리운_곰 2014.02.18 1245
2 VC++ : Win32 console App run as to be hide (background) 졸리운_곰 2014.02.18 1256
1 VC++ : windows : TCPIP SOCKET SERVER and CLIENT 졸리운_곰 2014.02.18 1097
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED