본문으로 바로가기

[Linux] 리눅스 파일 소유자 변경하기 - chown

category OS/Linux 2021. 10. 10. 15:25

목차

    1. 리눅스 파일 상세 정보

    • "ll" 또는 "ls -l"로 파일의 상세 정보를 확인할 수 있습니다.
    • alias ll='ls -l --color=auto'
    • 파일 상세 정보(파일 유형, 퍼미션 정보, 링크 수, 소유자, 소유 그룹, 용량, 수정시간, 파일명)
    # ls -l
    합계 0
    lrwxrwxrwx 1 root root 7 10월  9 15:00 ln_file -> test.sh
    drwxr-xr-x 2 root root 6 10월  9 14:59 test
    -rwxr-xr-x 1 root root 12 10월  9 15:35 test.sh
    -rwxr-xr-x 1 root root 12 10월  9 15:35 test.sh

    리눅스 파일 정보

    1. 유형 
      (d 디렉터리, l(소문자 L) 링크 카운터, s 소켓, p 파이프, - 일반, c 특수문자, b 특수 블록)
    2. 파일 권한 (permission)
    3. 링크 수
    4. 소유자
    5. 소유 그룹
    6. 용량 (기본 byte)
    7. 수정 시간
    8. 파일명

     


    2. chown

    # chown [OPTION]... [OWNER][:[GROUP]] FILE..
    
    [options]
    	-c, --changes : 바뀌어지는 파일들에 대해서만 자세하게 보여줍니다.
    	-f, --silent, --quiet : 바뀌어 지지 않는 파일들에 대해서 오류 메시지를 보여주지 않습니다.
    	-v, --verbose : 작업 상태를 자세히 보여줍니다.
    	-R, --recursive : 경로와 그 하위 파일들 모두를 바꿉니다.
    	-H : 심볼릭 링크의 소유자,그룹을 변경할 때 사용합니다. (-R 옵션이 적용된 경우)
    	-L : 심볼릭 링크를 제외하고 소유자, 그룹을 변경할 때 사용합니다. (-R 옵션이 적용된 경우)
    	-P : 심볼릭 링크를 제외하지 않고 소유자, 그룹을 변경할 때 사용합니다. (-R 옵션이 적용된 경우)
    • change the owner of a file
    • 파일이나 디렉터리의 소유자, 그룹을 변경합니다.
    • 사용자 ID, 그룹 ID를 이용해서 변경 가능합니다.
    • root 권한으로 실행되어야 사용 가능합니다.(sudo)

    [예시]

    // 소유자 변경
    # chown guest test.sh
    
    // 그룹 변경
    # chown .guest test.sh
    # chown :guest test.sh
    
    // 소유자, 그룹 변경
    # chown guest.guest test.sh
    # chown guest:guest test.sh
    
    // 소유자ID, 그룹ID를 이용해 변경
    # chown 1000.1000 test.sh
    # chown 1000:1000 test.sh
    
    // 여러 파일 소유자 변경
    # chown guest test.sh test2.sh test3.sh
    
    // 링크파일 소유자 변경
    # chown -h guest test_link
    
    // 특정 디렉터리 내 모든 파일 소유자 변경
    # chown -R test/
    
    // 특정 디렉터리 내 모든 파일 소유자 변경(링크파일 제외)
    # chown -RL test/

     


    3. chgrp

    # chgrp [options] group FILE
    
    [options]
    	-R : 하위 디렉터리에도 적용한다.
    	-v : 변경되는 오브젝트의 이름을 출력한다.
    	-f : 오류가 발생하더라도 다른 오브젝트에 적용을 계속한다.
    	-H : 심볼릭 링크의 소유자,그룹을 변경할 때 사용합니다. (-R 옵션이 적용된 경우)
    	-L : 심볼릭 링크를 제외하고 소유자, 그룹을 변경할 때 사용합니다. (-R 옵션이 적용된 경우)
    	-P : 심볼릭 링크를 제외하지 않고 소유자, 그룹을 변경할 때 사용합니다. (-R 옵션이 적용된 경우)
    • 파일이나 디렉터리의 그룹을 변경합니다.
    • 그룹 ID를 이용해서 변경 가능합니다.

    [예시]

    // 그룹 변경
    # chgrp guest test.sh
    
    // 그룹ID를 이용해 변경
    # chgrp 1000 test.sh
    
    // 여러 파일의 그룹 변경
    # chgrp guest test.sh test2.sh
    
    # 링크 파일 그룹 변경
    # chgrp -h test_link
    
    // 디렉터리 내 모든 파일의 그룹 변경
    # chgrp -R test/
    
    // 디렉터리 내 모든 파일의 그룹 변경(링크 파일 제외)
    # chgrp -RL test/