Post

Linux 권한 설정

Linux 권한 설정

1. 접근 권한(chmod)

기존 파일 또는 디렉터리에 대한 접근 권한을 변경할때 사용하고, 파일 소유자나 슈퍼 유저만 변경 가능하다. 파일모드는 문자나 8진수로 지정한다.

img001

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진수 표기파일 모드권한
0000권한 없음
1001–x읽기(첫번째 비트)
2010-w-쓰기(두번째 비트)
3011-wx실행(세번째 비트)
4100r–쓰기(두번째 비트), 실행(세번째 비트)
5101r-x읽기(첫번째 비트), 실행(세번째 비트)
6110rw-읽기(첫번째 비트), 쓰기(두번째 비트)
7111rwx읽기, 쓰기, 실행(첫번째, 두번째, 세번째 비트)

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.