chmod (ch모드, 치모드)
chmod는 파일 모드를 변경하여 권한을 변경하는 데 사용됩니다.
모든 사용자 혹은 그룹 구성원에 대한 액세스 권한을 변경할 수 있습니다.
chmod mode file
chmod를 사용하여 모드를 변경할 때, 기호 혹은 팔진법을 사용할 수 있습니다.
기호 표기법
chmod 기호표기법을 사용할 때는 아래 사항을 기재해야 합니다.
- 누구의 권한을 변경할지
u - user 사용자, 파일의 주인
g - group 그룹, 소유자 그룹의 멤버
o - other 제3자
a - all 모든 사람 - 변경할 권한을 추가하는지 제거하는지
- 권한 제거
+ 권한 부여
= 유일한 퍼미션으로 설정하고 다른 퍼미션을 제거 - 무슨 권한을 변경할지
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 사용자명 그룹명
단, 그룹 할당을 변경하고 해당 할당을 적용하려면, 실행중인 세션을 로그아웃해야 할 수 있습니다.
'OS' 카테고리의 다른 글
[Linux Command Line] Bash Scripts 배쉬 스크립트 (0) | 2024.01.11 |
---|---|
[Linux Command Line] environment variables, alias(환경 변수와 에일리어스) (0) | 2024.01.09 |
[Linux Command Line] 권한 기초 (2) | 2024.01.08 |
[Linux Command Line] grep (1) | 2024.01.05 |
[Linux Command Line] Timestamps 와 찾기(locate find) (1) | 2024.01.04 |