리눅스 / chown, chmod / 파일 또는 디렉토리 소유자, 소유그룹, 권한 설정

chown과 chmod는 파일 및 디렉토리의 권한과 소유자를 관리하는 데 사용되는 Linux 명령어입니다.

정보 확인

  • ls 명령어에 -l 옵션을 붙여서 파일 또는 디렉토리의 권한과 소유자(그룹)을 확인할 수 있습니다.
  • 제일 앞에 있는 문자는 디렉토리인지 파일인지는 나타냅니다. d는 디렉토리라는 뜻이고, -는 파일이라는 뜻입니다.
  • 그 다음 3개의 문자열은 소유자의 권한을, 그 다음 3개의 문자열은 소유그룹의 권한을, 그 다음 3개의 문자열은 소유자(그룹) 이외의 권한을 나타냅니다.
  • 처음 나오는 jb는 소유자, 그 다음 나오는 jb는 소유그룹입니다.
# ls -l
drwxrwxr-x 2 jb jb 4096 Feb 16 22:28 test_directory
-rw-rw-r-- 1 jb jb    4 Feb 16 22:34 test_file

chown

chown은 파일 또는 디렉토리의 소유자와 소유그룹을 정하는 명령어입니다.

  • test_file의 소유자를 jb, 소유그룹을 hs로 정합니다.
# chown jb:hs test_file
  • 소유그룹은 그대로 둔 채 소유자만 jb로 변경합니다.
# chown jb test_file
  • 소유자는 그대로 둔 채 소유그룹만 hs로 변경합니다.
# chown :hs test_file
  • data라는 디렉토리가 있을 때 다음과 같이 명령하면, data 디렉토리와 그 안에 있는 파일 또는 디렉토리의 소유자를 jb, 소유 그룹을 hs로 만듭니다.
chown -R jb:hs data

chmod

chmod은 파일이나 디렉토리의 접근 권한을 변경하는 명령어입니다.

  • r은 읽기(read) 권한, w는 쓰기(write) 권한, x는 실행(excute) 권한입니다.
  • 다음을 해석하면, test_file의 소유자는 jb, 소유그룹은 jb이고, 소유자는 읽고 쓰기 가능, 소유그룹은 읽고 쓰기 가능, 나머지는 읽기 가능입니다.
-rw-rw-r-- 1 jb jb 4 Feb 16 22:34 test_file
  • r은 4, w는 2, x는 1입니다. 따라서 7은 rwx, 6은 rw-, 5는 r-x, 4는 r--을 뜻합니다.
  • 따라서 다음은 소유자, 소유그룹, 다른 사용자 모두에게 읽기, 쓰기, 실행 권한을 주는 것입니다.
chmod 777 test_file
  • 다음은 rwxr-x---로 만드는 것입니다.
chmod 750 test_file
  • u는 소유자, g는 소유그룹, o는 다른 사용자이고, +는 추가, -는 제거를 뜻합니다.
  • 따라서 다음은 소유자에게 실행 권한을 추가하는 것입니다.
chmod u+x test_file
  • 다음은 소유그룹에서 쓰기 권한을 제거하는 것입니다.
chmod g-w test_file
  • a는 전체를 뜻하므로, 다음은 소유자, 소유그룹, 다른 사용자의 읽기 권한을 제거하는 것입니다.
chmod a-r test_file
  • data라는 디렉토리가 있을 때 다음과 같이 명령하면, data 디렉토리와 그 안에 있는 파일 또는 디렉토리의 권한을 777로 만듭니다.
# chmod -R 777 data
같은 카테고리의 다른 글
Ubuntu Server / Let’s Encrypt 무료 SSL 인증서 발급 받기

Ubuntu Server / Let’s Encrypt 무료 SSL 인증서 발급 받기

Ubuntu Server에서 Apache Web Server를 사용하는 경우 Let’s Encrypt 인증서 발급 받는 방법입니다. Apache용 Certbot 설치 Ubuntu Server 20.04, Ubuntu Server 22.04 # snap install core # snap refresh core # snap install --classic certbot # ln -s /snap/bin/certbot /usr/bin/certbot Ubuntu Server 18.04 # apt install software-properties-common # add-apt-repository universe # add-apt-repository ppa:certbot/certbot # apt update # apt upgrade # apt install certbot ...

워드프레스 / 테마 만들기 / 등록하고 활성화 하기

워드프레스 / 테마 만들기 / 등록하고 활성화 하기

테마를 등록할 수 있는 최소한의 조건은 style.css와 index.php 두 개의 파일이다. 두 파일만 있으면 테마 목록에 나오고 활성화할 수 있다. style.css에 테마 정보가 들어가고, index.php로 내용을 출력하는데, index.php에 아무런 내용이 없어도 등록과 활성화는 가능하다. 디렉토리 만들기 테마가 저장되는 위치는 /wp-content/themes이다. 그 디렉토리 안에 적당한 이름의 디렉토리를 만든다. 예를 들어 my-theme이라는 디렉토리를 만들었다면 /wp-content/themes/my-theme 안에 ...

당구 / 시스템 / 일출일몰 시스템

당구 / 시스템 / 일출일몰 시스템

비껴치기로 3쿠션을 칠 때 사용하는 시스템이다. 공이 배치에 따라 회전을 조절하는 것으로, 당점의 변화를 이으면 해가 뜨고 지는 것과 비슷하다 하여 일출일몰 시스템이라 부른다. 파란색이 수구 포인트, 주황색이 1쿠션 포인트, 초록색이 3쿠션 포인트이다. 포인트들을 다 더하여 당점을 정한다. 수구 포인트 + 1쿠션 포인트 + 3쿠션 포인트 = 팁 수 아래의 경우 2팁으로 친다. ...

Sizer 4 / 윈도우 창 크기와 위치를 설정하는 프로그램

Sizer 4 / 윈도우 창 크기와 위치를 설정하는 프로그램

윈도우에서 창은 마우스로 드래그하여 크기를 변경할 수 있습니다. 보통의 상황에서는 대충 원하는 크기로 만듭니다. 하지만, 윈도우 창 크기를 정확하게 만들어야 할 때가 있습니다. 만약 창 크기를 픽셀 단위로 정확히 만들고, 원하는 위치에 정확히 배치하고 싶다면 Sizer를 사용해보세요. 무료이지만 강력한 기능을 제공합니다.

KT UHD 셋톱박스 / 외장하드 연결하여 동영상 보는 방법

KT UHD 셋톱박스 / 외장하드 연결하여 동영상 보는 방법

UHD 셋톱박스 올레 기가 UHD TV를 이용하고 있습니다. TV가 FHD지만 셋톱박스 성능이 좋다고 해서, 여러 기능이 있다고 해서 UHD TV를 이용합니다. (스마트 셋톱박스 정도면 충분하기는 한데, KT에서 단종이라고 하네요.) UHD 셋톱박스라고 해서 모든 게 좋아진 것은 아닙니다. 가장 불편한 것은 LAN 포트입니다. 구형은 LAN 포트가 두개였는데, 한 개로 줄었습니다. 즉, 수신만 하고 중계는 못하는 것이죠. 그것 ...

삼성 SSD / 삼성 매지션으로 펌웨어 업그레이드하는 방법

삼성 SSD / 삼성 매지션으로 펌웨어 업그레이드하는 방법

삼성 SSD 850을 사용하고 있습니다. 구입한지는 꽤 되었습니다. 구입 당시 사용하던 메인보드가 AHCI를 지원하지 않아서 성능에서 손해를 좀 보고 있었죠. 이번에 메인보드를 교체하면서 제대로 SSD를 사용해보자라고 마음 먹었습니다. 제일 먼저 한 것은 삼성 매지션 설치입니다. 삼성 매지션은 삼성 SSD 관리를 위한 소프트웨어로, 벤치마크, 최적화, 데이터 완전 삭제 등을 할 수 있습니다. 다운로드는 여기에서 ...

Ubuntu Server / do-release-upgrade / 버전 업그레이드 명령어

Ubuntu Server / do-release-upgrade / 버전 업그레이드 명령어

Ubuntu 새 버전이 나오면 어떻게 업그레이드를 할까? 새로 설치하고 다시 설정하는 게 제일 좋지만, 설정할 게 많다면 바로 업그레이드를 할 수도 있다. 업그레이드는 do-release-upgrade 명령어로 한다. do-release-upgrade -h Usage: do-release-upgrade Options: -h, --help show this help message and exit -V, ...

가비아 / DNS 관리하는 방법

가비아 / DNS 관리하는 방법

도메인으로 웹서버, 메일 서버 등을 운영한다면 도메인의 DNS에 레코드를 등록해야 한다. 가비아에서는 무료로 네임 서버와 DNS를 관리할 수 있는 툴을 제공한다. DNS를 관리하고 싶다면 My 가비아로 접속한 후 을 클릭하거나, https://dns.gabia.com/로 바로 접속하면 된다. 도메인 목록 옆에 있는 을 클릭하면... 레코드 목록이 나오고, 을 클릭하면... DNS 레코드를 추가, 수정, 삭제할 수 있는 ...

엣지 / 초기화 하는 방법

엣지 / 초기화 하는 방법

초기화는 브라우저를 안정화하고 성능을 개선하는 데 도움이 됩니다. 다만 초기화 전 중요한 데이터(예: 북마크, 비밀번호)는 백업하는 것이 좋습니다. 엣지를 초기화하는 방법 두 가지를 소개합니다.

리눅스 / 명령어 / touch / 빈 파일 만들기, 최종 수정 시간 변경하기

리눅스 / 명령어 / touch / 빈 파일 만들기, 최종 수정 시간 변경하기

touch는 빈 파일 만들거나 파일의 최종 수정 시간을 현재 시간으로 바꾸는 명령어이다. abc.txt 파일이 없다면, 내용이 없는 abc.txt 파일을 만듭니다. abc.txt 파일이 있다면, 파일의 최종 수정 시간을 현재로 변경합니다. # touch abc.txt