Linux 권한 설정
1. 접근 권한(chmod)
기존 파일 또는 디렉터리에 대한 접근 권한을 변경할때 사용하고, 파일 소유자나 슈퍼 유저만 변경 가능하다. 파일모드는 문자나 8진수로 지정한다.
1) chmod 도움말
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@localhost ~]# chmod --help
사용법: chmod [옵션]... MODE[,MODE]... FILE...
또는: chmod [옵션]... 8진수-MODE FILE...
또는: chmod [옵션]... --reference=RFILE FILE...
Change the mode of each FILE to MODE.
With --reference, change the mode of each FILE to that of RFILE.
-c, --changes like verbose but report only when a change is made
-f, --silent, --quiet suppress most error messages
-v, --verbose output a diagnostic for every file processed
--no-preserve-root do not treat '/' specially (the default)
--preserve-root fail to operate recursively on '/'
--reference=RFILE use RFILE's mode instead of MODE values
-R, --recursive change files and directories recursively
--help 이 도움말을 표시하고 끝냅니다
--version 버전 정보를 출력하고 끝냅니다
Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Report chmod translation bugs to <http://translationproject.org/team/>
For complete documentation, run: info coreutils 'chmod invocation'
- 주요 옵션
- -R: 하위 디렉터리와 파일의 권한까지 변경
2) 문자 표현
문자 표기법은 변경할 사용자(대상), 수행 명령(연산), 설정 퍼미션(접근 권한) 세 부분으로 분류 된다.
- 사용자(대상)
- u: user의 약자로 파일이나 디렉터리 소유자
- g: 그룹 소유자
- o: other의 약자로 기타 소유자, 그룹 멤버를 제외
- a: all의 약자로 u, g, o를 합친 전체
- 수행 명령(연산)
- +: 허가권 추가
- -: 허가권 제거
- =: 허가권 지정, 기존의 속성 값은 사라짐
- 설정 퍼미션(접근 권한)
- r: 읽기
- w: 쓰기
- x: 실행
3) 숫자 표현
8진수 표기 | 2진수 표기 | 파일 모드 | 권한 |
---|---|---|---|
0 | 000 | — | 권한 없음 |
1 | 001 | –x | 읽기(첫번째 비트) |
2 | 010 | -w- | 쓰기(두번째 비트) |
3 | 011 | -wx | 실행(세번째 비트) |
4 | 100 | r– | 쓰기(두번째 비트), 실행(세번째 비트) |
5 | 101 | r-x | 읽기(첫번째 비트), 실행(세번째 비트) |
6 | 110 | rw- | 읽기(첫번째 비트), 쓰기(두번째 비트) |
7 | 111 | rwx | 읽기, 쓰기, 실행(첫번째, 두번째, 세번째 비트) |
4) 사용방법
chmod
[소유자 권한]
[그룹 권한]
[일반사용자 권한]
파일명예: test.txt 파일명의 소유자 권한은
[읽기, 쓰기, 실행]
, 그룹 권한은[읽기, 쓰기]
, 일반사용자[읽기, 쓰기]
로 변경
1
[root@localhost ~]# chmod 766 test.txt
2. 소유권 및 그룹(chown)
파일이나 디렉터리 소유주나 그룹을 변경할 때 사용한다. 명령을 실행하면 이전 소유주는 해당 파일에 이 명령을 다시 시행할 수 없다. 명령어를 사용하기 위해서는 슈퍼유저 권한이 필요하다.
1) chown 도움말
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
[root@localhost ~]# chown --help
Usage: chown [OPTION]... [OWNER][:[GROUP]] FILE...
or: chown [OPTION]... --reference=RFILE FILE...
Change the owner and/or group of each FILE to OWNER and/or GROUP.
With --reference, change the owner and group of each FILE to those of RFILE.
-c, --changes like verbose but report only when a change is made
-f, --silent, --quiet suppress most error messages
-v, --verbose output a diagnostic for every file processed
--dereference affect the referent of each symbolic link (this is
the default), rather than the symbolic link itself
-h, --no-dereference affect symbolic links instead of any referenced file
(useful only on systems that can change the
ownership of a symlink)
--from=CURRENT_OWNER:CURRENT_GROUP
change the owner and/or group of each file only if
its current owner and/or group match those specified
here. Either may be omitted, in which case a match
is not required for the omitted attribute
--no-preserve-root do not treat '/' specially (the default)
--preserve-root fail to operate recursively on '/'
--reference=RFILE use RFILE's owner and group rather than
specifying OWNER:GROUP values
-R, --recursive operate on files and directories recursively
The following options modify how a hierarchy is traversed when the -R
option is also specified. If more than one is specified, only the final
one takes effect.
-H if a command line argument is a symbolic link
to a directory, traverse it
-L traverse every symbolic link to a directory
encountered
-P do not traverse any symbolic links (default)
--help 이 도움말을 표시하고 끝냅니다
--version 버전 정보를 출력하고 끝냅니다
Owner is unchanged if missing. Group is unchanged if missing, but changed
to login group if implied by a ':' following a symbolic OWNER.
OWNER and GROUP may be numeric as well as symbolic.
Examples:
chown root /u Change the owner of /u to "root".
chown root:staff /u Likewise, but also change its group to "staff".
chown -hR root /u Change the owner of /u and subfiles to "root".
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Report chown translation bugs to <http://translationproject.org/team/>
For complete documentation, run: info coreutils 'chown invocation'
- 주요 옵션
- -h: 심볼릭 링크 파일 소유권이나 그룹 변경
- -R: 하위 디렉터리와 하위 모든 파일의 소유권 변경
2) 사용방법
chown
[소유권자]:[그룹식별자] [소유권을 변경하고 싶은 파일명]
예: text.txt 파일명의 소유권자를
[aaa]
로 하고, 그룹식별자를[bbb]
로 변경
1
[root@localhost ~]# chmod aaa:bbb text.txt
[출처 및 참고]
This post is licensed under CC BY 4.0 by the author.