OS

[Linux Command Line] 권한 변경

ride-dev 2024. 1. 8. 21:19

chmod (ch모드, 치모드)

chmod는 파일 모드를 변경하여 권한을 변경하는 데 사용됩니다.

모든 사용자 혹은 그룹 구성원에 대한 액세스 권한을 변경할 수 있습니다.

 

chmod mode file

chmod를 사용하여 모드를 변경할 때, 기호 혹은 팔진법을 사용할 수 있습니다.

기호 표기법

chmod 기호표기법을 사용할 때는 아래 사항을 기재해야 합니다.

  1. 누구의 권한을 변경할지
    u - user 사용자, 파일의 주인
    g - group 그룹, 소유자 그룹의 멤버
    o - other 제3자
    a - all 모든 사람
  2. 변경할 권한을 추가하는지 제거하는지
    - 권한 제거
    + 권한 부여
    = 유일한 퍼미션으로 설정하고 다른 퍼미션을 제거
  3. 무슨 권한을 변경할지
    r - read 읽기
    w - wrtie 쓰기
    x - execute 실행하기

따라서 아래와 같이 file.txt파일에 대해, 사용자의 권한을 추가할 수 있습니다.

chmod u+x file.txt
chmod u+rx file.txt

모든 사람들의 권한을 제거하고 읽기 권한만 가지게할 수 있습니다.

chmod a=r file.txt

 

팔진법

팔진수는 이진수를 기반으로 3개의 이진수를 사용합니다.

chmod 팔진법을 사용할 때, 3개의 권한과 팔진수의 각 자릿수를 매핑하여 사용합니다.

각 자리수는 100의 자리부터 소유자, 그룹 소유자, 제3자 순입니다.

팔진법은 기호 표기법보다 짧습니다.

Octal Binary File Mode
0 000 - - -
1 001 - - x
2 010 - w -
3 011 - w x
4 100 r - -
5 101 r - x
6 110 r w -
7 111 r w x

소유자의 권한을 모두 허용(7)하고, 그룹과 제3자의 권한을 읽기(4) 및 실행하기(1)로 설정할 수 있습니다.

chmod 755 file.txt

su 대체 사용자

su를 사용하면 대체 사용자 및 그룹 ID로 명령어를 실행할 수 있으며,

대체할 사용자를 지정할 수 있습니다.

su - 사용자이름

대체에 성공하면, 위치와 환경을 변경합니다.

exit을 입력하면 돌아옵니다.

exit

- 대시를 사용하지 않고 su 명령어를 사용할 수도 있지만,

디렉토리가 변경되지 않습니다.

su 사용자이름

항상 - 대시를 사용하는 것을 권장합니다.

디렉토리가 변경되어, 사용자 정보 및 환경 변수의 일부가 섞이는 것을 방지할 수 있기 때문입니다.

Root User 루트 사용자

루트 사용자는

모든 커맨드에 액세스할 수 있고,

모든 커맨드를 실행할 수 있고,

모든 파일에 액세스할 수 있습니다.

일반 사용자가 할 수 없는 작업을 수행할 수 있는 특수 계정 또는 특수 사용자 계정을 의미합니다.

루트 사용자는 많은 권한을 가지고 있으며, 루트 사용자의 권한을 갖기 위해 접근할 수 있는 매커니즘이 있습니다.

sudo 입니다.

sudo (수도, 수두)

sudo는 사용자가, 사용자의 비밀번호를 사용하여,

루트 사용자로 다른 커맨드를 실행할 수 있게 합니다.

sudo를 활용하면 실제 수퍼 사용자나 루트 사용자가 아니더라도,

수퍼 사용자 권한을 사용하여 커맨드를 실행할 수 있습니다.

sudo 명령어

루트 사용자의 권한으로 명령어를 의도적으로 실행할 수 있습니다.

sudo를 사용할 때, 터미너별 자격 증명을 캐시합니다.

기본적으로 15분 동안 지속됩니다.

chown (초운)

chown을 사용하여 파일이나 디렉토리의 소유자 또는 그룹 소유자를 변경할 수 있습니다.

(소유권을 변경할 수 있습니다)

권한 수준에 따라 sudo가 필요할 수 있습니다.

파일의 실제 소유자를 변경할 때는 sudo가 필요할 수 있으나,

실소유자가 group 소유자를 변경할 때는 sudo를 사용하지 않아도 됩니다.

chown USER FILE(s)
chown USER[:GROUP] FILE(s)

sudo chown ride file.txt
chown :ride file.txt
sudo chown ride:ride file.txt

그룹 활용

gorups 명령어를 통해 사용자가 속한 그룹을 확인할 수 있습니다.

groups

특정 사용자의 그룹을 확인할 수 있습니다.

groups 사용자명

루트 권한으로 그룹을 생성할 수 있습니다.

sudo addgroup 그룹명

루트 권한으로 그룹에 사용자를 추가할 수 있습니다.

sudo adduser 사용자명 그룹명

단, 그룹 할당을 변경하고 해당 할당을 적용하려면, 실행중인 세션을 로그아웃해야 할 수 있습니다.

728x90