생활코딩 생활코딩 리눅스 강좌 내용을 들으면서 정리하는 노트
•
1. 다중 사용자
•
유닉스 계열 운영체제는 여러 명이 함께 사용할 수 있는 기능을 가지고 있음
•
다중 사용자 시스템이 되면 시스템의 복잡도가 높아짐
•
$ id: uid(유저아이디), gid(그룹아이디)
•
$ who: 현재 접속한 사용자 리스트
2. 관리자와 일반 사용자 (Superuser vs. User)
•
관리자: superuser(root user)
•
$ sudo [명령어]: 일시적으로 super user의 권한으로 명령 실행
•
super user 되는 방법
◦
$ sudo passwd -u root: unlock
◦
$ sudo passwd -l root: lock
◦
$ su -root: superuser 되기
▪
root user의 홈디렉토리는 /root (일반사용자의 홈디렉토리는 /home/username)
◦
$ exit: logout
3. 사용자의 추가 (Add User)
•
$ sudo useradd -m username: username으로 사용자 추가
◦
m: 홈 디렉토리를 같이 만들어줌 (`/home/username)
•
$ sudo passwd username: username의 password 지정
•
$ su -username: username으로 접속
•
$ sudo usermod -a -G sudo username: (sudo 가능한 유저로 접속해서 실행할 것) username이 sudo 명령을 할 수 있도록 지정
◦
sudo group에 username을 추가하는 것
•
sudo deluser username sudo: username의 sudo 권한을 삭제하기
4. 권한 (Permission)
•
User가 파일/디렉토리에 대해 읽기/쓰기/실행을 할 수 있는 권한을 지정
•
ls -l: 파일의 권한, 소유자 등의 정보 확인 가능
•
권한: rw-rw-r--와 같은 형태 (10자리가 아래와 같이 나눠짐)
◦
첫번째 자리=type: -(파일) d(디렉토리)
◦
다음 세자리=owner의 access mode: r(읽기), w(쓰기), x(실행)
◦
다음 세자리=group의 access mode: r(읽기), w(쓰기), x(실행)
◦
다음 세자리=other의 access mode: r(읽기), w(쓰기), x(실행)
•
권한 변경: chmod 명령어 사용
◦
$ chmod [options] mode file 형태
◦
$ chmod o-r [filename]: [filename]에 대해 other의 read 권한을 빼기
◦
$ chmod o+r [filename]: [filename]에 대해 other의 read 권한을 추가하기
◦
$ chmod o+w [filename]: [filename]에 대해 other의 write 권한을 추가하기
◦
$ chmod u-r [filename]: [filename]에 대해 user(소유자)의 read 권한을 빼기
◦
$ chmod u+r [filename]: [filename]에 대해 user(소유자)의 read 권한을 추가하기
•
실행(execute) 권한
◦
$ chmod u+x [filename]: user가 해석기 프로그램 없이 [filename]을 바로 실행할 수 있게 함
•
directory에 대한 권한
◦
read 권한: 해당 디렉토리 안의 파일/디렉토리를 볼 수 있는가
◦
write 권한: 해당 디렉토리 안에 파일/디렉토리를 생성/삭제/변경할 수 있는가
◦
execute 권한: 해당 디렉토리에 들어갈 수 있는가 (cd 명령)
◦
$ chmod -R o+w [dirname]: [dirname] 안의 모든 디렉토리에 대해 재귀적으로 other의 write 권한을 추가하기
•
chmod octal modes
◦
e.g. $ chmod 111 [filename]: 모든 사용자가 실행만 가능하게 변경
num | Permission | rwx |
7 | read, write and execute | rwx |
6 | read and write | rw- |
5 | read and execute | r-x |
4 | read only | r-- |
3 | write and execute | -wx |
2 | write only | -w- |
1 | execute only | --x |
0 | none | --- |
5. 그룹 (Group)
특정한 사용자 그룹에 대해서 파일/디렉토리에 대한 권한을 지정할 수 있음
•
$ useradd -G [group_name] [username]: group에 사용자를 생성해서 추가
•
$ sudo groupadd [group_name]: 그룹 생성
•
/etc/group파일에 해당 그룹이 추가되었는지 확인
•
$ sudo usermod -a -G [group_name] [username]: username을 group_name에 추가하기
•
shell에 다시 로그인
•
$ sudo chown [owner_name:group_name] [file or dir]: owner & group 변경
•
$ sudo chmod g+w [file or dir]: group에 w 권한 추가
참고자료