- rw- -rw- r-- user1 user1
유형, owner, group, others, 소유자, 소유그룹
모든 파일에는 소유자가 있다. 소유자는 접근 권한을 자유롭게 설정할 수 있다.
소유자 / 소유 그룹 을 나타낸다. 그룹 안에는 여러 사용자가 있다.
그룹 : 사용자들을 묶은 그룹이다.
예) 시스템 관리를 수행하는 wheel이라는 그룹을 만들어 여러 사용자를 해당 그룹에 소속시켜 간단하게 관리.
한 사용자는 여러 그룹에 소속될 수 있다.
최소한 한 그룹에는 속해있다.
사용자를 처음 만들 때 특별히 소속될 그룹을 정하지 않으면 사용자 이름과 동일한 그룹에 소속된다.
groups : 현재 사용자가 어떤 그룹에 속하는지 보여준다.
whoami : 현재 로그인 사용자가 누군지 알려준다.
각 파일에 누구에게 어떤 권한을 허가할 지에 대한 정보가 설정되어있다.
9글자로 3등분 한다.
rwx r-x r-x
owner group others 권한을 나타낸다.
read, write, execute
소유자 : 읽기 실행 쓰기 가능
그룹 : 읽고 실행만 가능. 쓰기 불가능. 수정 불가능.
other : 읽고 실행만 가능. 쓰기 불가능. 수정 불가능.
실행은 모두 가능하다.
inode라는 공간이 각 파일마다 생긴다. 그 inode에 정보가 다 들어 있다.
/etc/crontab 을 명령하여 실행하면 허가 거부가 뜬다. 실행이 불가능 하기 때문이다.
쓰기가 불가한 파일을 수정하면 저장할 수 없다. 저장하지 않고 나가야 한다.
d rwx rwx r-x : 디렉토리의 rwx와 파일의 rwx의 의미가 다르다.
ls -l directory : 디렉 내부를 보여준다.
ls -ld : 디렉토리 자체의 정보를 확인할 수 있다. (ls의 d옵션)
r: 디렉터리에 포함된 파일 리스트 취득 가능w: 디렉터리 **하위에 파일 및 디렉터리 작성 및 삭제 가능.x: 디렉터리로 이동 가능
ls -ld dir2
d -wx -wx --x인 경우
ls dir2명령을 내리면, 허가 거부가 뜬다. read권한이 없기 때문에 확인할 수 없다.
chmod u-r dir2 : dir2의 owner의 r권한을 없애라.
chmod u-w dir2 : dir2의 쓰기 권한을 없애라.
dir2 내부에서 touch f2.txt 를 하면 허가 거부가 난다.
rm f2.txt 도 허가 거부가 난다.
- 삭제도 w권한이 있어야 가능하다.
- 파일을 지울 수 있는지 여부가 디렉터리의 퍼미션에 의해 결정된다는 점에 주의해야 한다.
- 파일을 지우지 못 하게 하려면 디렉터리의 w권한을 없애야 한다.
파일의 w권한이 없어도 파일은 삭제가 가능하다.
디렉터리의 x권한이 없다면 cd가 불가능하다.
다른 사용자가 볼 수 있게 하려면 보통
rwx r-x r-x라고 설정한다.
- 소유자는 모든 권한, 나머지는 cd로 읽을 수 있다. 파일 생성,삭제는 불가능하다.
rwx --- --- : 다른 사용자가 해당 디렉의 내용을 일절 볼 수 없다.파일 모드 변경 : 파일 소유자, 슈퍼 사용자만 가능하다.
+숫자 : 수치 모드
+기호 : 기호 모드
사용법
chmod [ugoa] [+-=] [rwx] <파일명>
chmod u+x dir2 : u에게 x권한을 준다는 의미이다.
chmod g+x dir2 : group에게 x권한을 준다는 의미이다.
u: 소유자g: 소유 그룹o: othera: ugo 모두
이때 사용자를 지정하지 않으면, a로 간주한다. 생략하면 기타 사용자는 w에 대해서는 다르게 동작한다. +w 라고만 지정하면 others에는 w가 추가되지 않는다.
생략한 경우에는 w,r,x가 다르게 작동한다. 생략하지 않는 편이 좋다.
chmod o+w f1.txt : others에 w권한을 주겠다는 의미이다.
= : 지정한 퍼미션과 같게 한다.
u=rw : 소유자 권한에 rw는 주고 x는 제거하라는 의미이다.
u=r : 소유자 권한에 r은 주고 wx는 제거하라는 의미이다.
소유 그룹과 other의 권한을 한꺼번에 지정할 수 있다.
go=r : g, o에 r만 주고 다른 건 다 없애겠다는 의미이다.8진수 숫자를 이용한다.
chmod 754 f1.txt
7 --> 이진수로111 --> rwx 권한을 의미한다.
5 --> 이진수로 101 --> r-x 권한을 의미한다.
4 --> 이진수로 100 --> r-- 권한을 의미한다.
755 :
owner : rwx
group : r-x
other : r-x
rw- r-- r--
110, 100, 100
6, 4, 4
chmod 644 f1.txt 를 통해 변경할 수 있다.
root 라는 이름을 사용한다.
cd root : 허가 거부
rwx --- --- 권한을 가진다. root만 들어갈 수 있다.시스템 설정 파일을 바꾸거나 새로운 애플리케이션을 설치할 수 있다.
파일에 설정된 퍼미션을 무시하고 모든 파일을 읽고 수정하고 삭제할 수 있다.
위험한 명령어도 실행할 수 있으므로 필요한 상황에만 root로 사용하는 것이 좋다.
su : 슈퍼 사용자로 전환한다. root 암호를 입력해야 한다.
su - : 슈퍼 사용자의 환경으로 초기화하고 실행한다. 붙이는 것이 좋다.
exit : 일반 사용자로 전환한다.
sudo passwd root : 슈퍼 사용자의 암호를 설정한다.
암호 설정 후 슈퍼 사용자를 사용해야 한다.
sudo : 명령어를 다른 사용자가 되어 실행한다.
sudo는 한 명령어만 슈퍼 사용자로 실행하기 위한 명령어이다.
현재 사용자의 암호를 입력해야 한다.
jisu에게 sudo의 권한을 부여하려면 root가 /etc/sudoers 파일에 jisu ALL=(ALL) ALL 을 기재한다.
sudo visudo : sudoers 파일 편집
/etc/sudoers를 직접 편집하는 것은 위험하다.
visudo는 안전하게 편집하기 위한 명령어이다.
슈퍼 권한이 필요하므로 sudo 또는 su를 사용하여 실행한다.
엔터를 누르고 수정하려면 e, 그냥 나가려면 x, 저장후 나가려면 q, 강제 저장 종료하려면 w를 선택한다.
jisu ALL=(ALL) ALL 기재하면 jisu사용자가 sudo를 사용할 수 있게 된다.
sudo가 안전하므로 권장된다.