- 2014.11.20
1. 허가권
ls -l 로 봤을때 맨 앞에 있는 것 : 허가권
Owner Group Other
- r w x r w x r w x
파일 4 2 1 4 2 1 4 2 1 // 각각은 2진수로 2^2, 2^1, 2^0 을 뜻한다.
7 7 7 // 각 자리의 합을 모두 더해서 나온 숫자
x100 = 700 x10 = 70 x1 = 7
d
디렉터리
rEAD : 읽기
wRITE : 쓰기
ExECUTE : 실행, 접근
* 741 : Owner은 rwx, Group은 r, Other은 x 의 권한이 있다는 뜻.
1) x 의 의미
파일 : x가 없다 -> 문서파일, x가 있다 -> 실행파일
디렉터리 : 접근. -> 디렉터리의 경우 디렉터리에 접근(x)을 해야 읽거나(r) 쓸수(w)있다.
2) 파일에서의 권한
r : cat, more, vim, cp 등과 같은 파일의 내용을 읽어 들이는 것과 관련이 있다.
w : cat, echo, vim 등과 같은 파일의 내용을 수정, 변경하는 것과 관련이 있다.
vim 같은 경우는 :wq!로 저장이 가능하지만 소유주가 변한다.
x : 실행 여부와 관련이 있다.
3) 디렉터리에서의 권한
r : ls, dir 등과 같은 디렉터리 내부 내용을 읽어 들이는 것과 관련이 있다.
w : mkdir, touch, rm, mv 등과 같은 디렉터리 내부에 생성, 삭제와 관련이 있다.
x : 디렉터리의 접근과 관련이 있다. x가 없다는 것은 대부분의 명령어를 이용할 수 없게 된다.
4) 권한 부여
권한을 부여하는 방법은 크게 2가지가 있다.
- numeric method
ex)
# chmod 456 file_dir
- symbolic method
Owner : u / Group : g / Other : o
ex)
# chmod g+r file_dir
# chmod o-x file_dir
# chmod g+r_x,o+w file_dir
ex)
# touch ./test
# ll
합계 0
-rw-r--r-- 1 root root 0 2014-11-20 13:08 test
6 4 4 의 권한이 부여되어 있음.
예제를 위해 모든 권한 제거
# chmod 000 ./test
# ll
합계 0
---------- 1 root root 0 2014-11-20 13:08 test
그룹에 읽기, 실행 권한 주기
# chmod g+rx ./test
# ll
합계 0
----r-x--- 1 root root 0 2014-11-20 13:08 test
Other 에게 읽기, 쓰기, 실행 권한 주기
# chmod o+xrw ./test
# ll
합계 0
----r-xrwx 1 root root 0 2014-11-20 13:08 test
[문제1]
/backup/inittab 파일을 현재디렉토리(/export/home/samadal/)에 복사후 변경
numeric method 방법으로 변경 -> r w - - w - - w x
symbolic method 방법으로 변경 -> - w x r - x r w -
numberic method 방법으로 변경 -> r - x - w - r w -
# cp /backup/inittab ./
nemeric method
# chmod 623 ./inittab
# ll
합계 4
-rw--w--wx 1 root root 884 2014-11-20 13:14 inittab
----r-xrwx 1 root root 0 2014-11-20 13:08 test
symbolic method
# chmod u+x-r ./inittab
# chmod g+rx-w ./inittab
# chmod o+r-x ./inittab
(= chmod u+x-r,g+rx-w,o+r-x ./inittab // 콤마(,)에 띄어쓰기 금지)
numberic method
# chmod 526 ./inittab
# ll
합계 4
-r-x-w-rw- 1 root root 884 2014-11-20 13:14 inittab
----r-xrwx 1 root root 0 2014-11-20 13:08 test
[문제]
internet explorer 실행시킨 후 자신의 linux ip를 입력 후 화면 출력 -> 아파치가 깔려있는 경우 아파치 기본 화면 로딩
d드라이브에 있는 index.html을 linux로 업로드를 하세요. -> 기본 index 파일 생성 후 진행
업로드가 되면 putty로 가셔서 index.html 파일을 /var/www/html/ 디렉터리로 이동시킨 후
internet explorer 를 F5 눌러보세요.
윈도우 cmd, ftp 를 이용하여 업로드 후
# mv ./index.html /var/www/html/ 한 뒤 internet explorer 에서 F5 누르면 됨
[추가]
/val/www/html/ 디렉터리에 있는 index.html 의 권한을 변경하면서
변경시마다 internet explorer 에서 F5를 눌러서 변경사항이 있는지 확인
r w - r - - r - -
# chmod 644 /var/www/html/index.html
-> 보여짐
- w - r - - r - -
# chmod 244 /var/www/html/index.html
-> 보여짐
r - - r - - r - -
# chmod u+r-w /var/www/html/index.html
-> 보여짐
r w - - - - r - -
# chmod u+w,g-r /var/www/html/index.html
-> 보여짐
r w - r - - - - -
# chmod g+r,o-r /var/www/html/index.html
-> 안보여짐 (Forbidden error)
=> Other의 r 권한이 없기 때문에 index.html 파일을 열 수가 없다.
[문제]
/var/www/디렉터리에 있는 html/ 디렉터리의 권한을 변경하면서
변경시마다 internet explorer에서 F5를 눌러서 변경사항이 있는지 확인하세요
r w x r - x r - x
# chmod 755 /var/www/html/
-> 보여짐
- w x r - x r - x
# chmod 355 /var/www/html
-> 보여짐
r - x r - x r - x
# chmod 555 /var/www/html/
-> 보여짐
r w - r - x r - x
# chmod 655 /var/www/html/
-> 보여짐
r w x - - x r - x
# chmod u+x,g-r /var/www/html/
-> 보여짐
r w x r - - r - x
# chmod g+r-x /var/www/html/
-> 보여짐
r w x r - x - - x
# chmod g+x,o-r /var/www/html/
-> 보여짐, 단 Other 권한으로 html 디렉터리 안을 볼 수 없음
r w x r - x r - -
# chmod o+r-x /var/www/html/
-> 아파치 기본 화면 보여짐
=> html 디렉터리의 경우 x 권한이 없는 경우 index.html 파일을 불러올 수 없음.
[문제]
※ user 홈 디렉터리는 700 권한이다.
홈디렉터리에 000 ~ 700 권한 변경 하면서 ftp 접속은 되는지, 파일 업로드는 되는지 해보세요
000 : FTP 로그인 실패
100 : FTP 로그인 성공, 업로드 실패, 목록 보기 실패
200 : FTP 로그인 실패
300 : FTP 로그인 성공, 업로드 성공, 목록 보기 실패
400 : FTP 로그인 실패
500 : FTP 로그인 성공, 업로드 실패, 목록 보기 성공
600 : FTP 로그인 실패
700 : FTP 로그인 성공, 업로드 성공, 목록 보기 성공
[결론]
x 권한이 있어야지만 FTP 접속 성공 (100, 300, 500, 700)
x,w 권한이 있어야 FTP 접속 후 업로드 가능 (300, 700)
300 vs 700 : 목록 보기 가/불가 여부
2. 소유권
소유권 변경 : chown
현재 HOME 디렉터리에 있는 파일 모두 삭제 후 /backup/ 의 3개 파일 모두 복사해온다.
# rm ./*
# cp /backup/* ./
# ll
합계 12
-rw------- 1 root root 739 2014-11-20 14:54 grub.conf
-rw-r--r-- 1 root root 884 2014-11-20 14:54 inittab
-rw-r--r-- 1 root root 1816 2014-11-20 14:54 login.defs
1) 소유자 변경
grup.conf 의 소유자를 samadal로 변경
# chown samadal ./grub.conf
# ll
합계 12
-rw------- 1 samadal root 739 2014-11-20 14:54 grub.conf
-rw-r--r-- 1 root root 884 2014-11-20 14:54 inittab
-rw-r--r-- 1 root root 1816 2014-11-20 14:54 login.defs
2) 소유자 + 그릅소유권한 변경
inittab 파일의 소유자와 그룹소유권한을 samadal로 변경
# chown samadal:samadal ./inittab
# ll
합계 12
-rw------- 1 samadal root 739 2014-11-20 14:54 grub.conf
-rw-r--r-- 1 samadal samadal 884 2014-11-20 14:54 inittab
-rw-r--r-- 1 root root 1816 2014-11-20 14:54 login.defs
login.defs 파일의 소유자는 samadal로, 그룹소유권한은 user1로 변경
# chown samadal:user1 ./login.defs
# ll
합계 12
-rw------- 1 samadal root 739 2014-11-20 14:54 grub.conf
-rw-r--r-- 1 samadal samadal 884 2014-11-20 14:54 inittab
-rw-r--r-- 1 samadal user1 1816 2014-11-20 14:54 login.defs
*
chown 을 통해 소유권 변경 시 UID 및 GID는 각각 /etc/passwd, /etc/group 에서 정보를 얻어 변경한다.
(: 대신 . 으로도 사용 가능하다.)
3) 소유자 & 그룹 동시 변경
# chown root. ./inittab
# ll
합계 12
-rw------- 1 root samadal 739 2014-11-20 14:54 grub.conf
-rw-r--r-- 1 root root 884 2014-11-20 14:54 inittab
-rw-r--r-- 1 samadal user1 1816 2014-11-20 14:54 login.defs
4) 그룹만 변경
# chown .root ./login.defs ( = chgrp samadal ./inittab)
# ll
합계 12
-rw------- 1 root samadal 739 2014-11-20 14:54 grub.conf
-rw-r--r-- 1 root root 884 2014-11-20 14:54 inittab
-rw-r--r-- 1 samadal root 1816 2014-11-20 14:54 login.defs
'Study > CentOS' 카테고리의 다른 글
| [13] 계정 복구, 계정 관련 Trouble Shooting, chown -R (0) | 2015.03.28 |
|---|---|
| [12] 소유권, 허가권 실습, ftp 관련 권한 (0) | 2015.03.28 |
| [10] userdel, groupadd, groupdel, 계정 잠그기 (0) | 2015.03.27 |
| [09] useradd -D, usermod (0) | 2015.03.27 |
| [08] passwd, shadow, group, gshadow, useradd, passwd, skel (0) | 2015.03.27 |
나는 개인적으로 애플빠 이다.
어느 분의 은혜로운 인도하심에 따라 아이팟터치부터 시작해서 현재는 아이폰 5s를 사용하고 있다.
(물론 잠시 옵티머스 G, 옵티머스 GK 모델을 쓰기도 했지만 이내 갈아탔다.)
헌데 간혹 안드로이드에 좋은 어플이 무료로 풀릴 때가 있는 것 같다.
그럴 때마다 나중을 위해 다운로드 해놓고 싶지만 내겐 안드로이드가 없는 것이 아쉬울 뿐이다.
그래서 안드로이드를 PC에 직접 깔아보려고 한다.
찾아본 설치 방법은 의외로 간단했다. (참고 : http://www.itworld.co.kr/news/83706)
Virtual Box에 Android ISO 파일을 마운트 시켜 설치하면 되는 것이다.
나는 개인적으로 VMware를 사용하기 때문에 VMware에 시도 해보기로 했다.
VMware는 알아서들 구해야 할 것이고 안드로이드 이미지는 http://www.android-x86.org/download 에서 4.4-r1.iso 로 다운받았다.
(Virtual Box 는 무료이니 https://www.virtualbox.org/wiki/Downloads 여기에서 다운받아 진행하면 되겠다.)
VMware 로 새로운 VM을 생성하려고 iso 파일을 선택하니 자동으로 FreeBSD 라는 타입이 검색됬는데 그대로 설치하기로 했다.
램은 1024m 으로, 네트워크는 NAT로 설정한 뒤 설정 완료를 하고 설치에 들어갔다.
설치화면 중의 특이사항이라면 파티션 설정 부분에서 NEW 를 통해 새로운 파티션을 생성하고
Write 를 누른 뒤 Quit 로 파티션 설정을 나와 계속해서 설정을 이어가는 것,
그리고 디스크 포맷 형식을 ext3 으로 하는 것 정도 이다.
그 뒤로는 GRUB 설치에 yes, Debug 할때 좋으나 디스크 용량이 더 필요하고 조금 느려질수 있다는 항목에서는 no 를 선택한다.
이렇게 하면 설치는 완료되고 설정을 시작하면 되는데
언어 선택하는 부분에서 위로 올리면 한국어가 있으니 한국어를 설치한 다음 진행하면 된다.
이제부터 안드로이드는 당신의 것!
한글 입력은 Playstore 에서 한글 키보드를 다운받아 사용하면 되며 한/영 전환은 Shift + Space 이다.
참고로 Home 버튼은 시작 버튼이며 일정시간 이후 화면이 꺼지는 설정은 필요 없으니 꺼두는 것도 좋은 방법.
(헌데 앱중에 세로모드만 지원하는 앱도 있던데 그 경우엔 이용이 불편하더이다...)
2014.11.20 추가)
소리를 어떻게 나게 하는지 모르겠다..ㅜ
구글링 통해 Alt + F1 을 통해 도스모드로 진입 후 lsmod 엔터,
alsa_amixer cset numid=1 1
alsa_amixer cset numid=2 50
alsa_amixer cset numid=16 1
alsa_amixer cset numid=17 50
를 입력하라고 해서 해봤는데 나는 실패했다. 이 외에도 다른 numid 를 넣어 켤 수 있는 장치는 다 켰어도 실패..
- 2014.11.19
[Remark]
useradd 로 사용자를 추가하게 되면 아래 6가지에 정보가 생성된다.
1) /etc/passwd
2) /etc/shadow
3) /etc/group
4) /etc/gshadow
5) /$HOME
6) /var/spool/mail
1. userdel
userdel 명령어를 이용하면 home directory와 mail은 삭제되지 않는다.
-r 옵션을 쓰면 home directory와 mail도 삭제된다.
*
userdel 로 삭제하면 user를 복구할 수 있다.
하지만 userdel -r 옵션으로 삭제하면 데이터까지 삭제되기 때문에 user를 복구할 수 없다.
2. groupadd
# groupadd s1
# tail /etc/group
nfsnobody:x:65534:
gdm:x:42:
sshd:x:74:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
slocate:x:21:
samadal:x:500:
s1:x:501:
GID 를 600으로 줘서 새로운 그룹 생성
# groupadd -g 600 s2
# tail -4 /etc/group
slocate:x:21:
samadal:x:500:
s1:x:501:
s2:x:600:
# groupadd s3
# tail -4 /etc/group
samadal:x:500:
s1:x:501:
s2:x:600:
s3:x:601:
GID 가 502가 아닌 601로 생성되었다.
즉, group id는 가장 나중 번호 다음 번호로 생성이 된다.
3. groupdel
ex)
# groupdel s1
# groupdel s2
# groupdel s3
# groupdel s4
# groupdel s5
[실습]
사용자 : user1, user2
그룹 : g1, g2 생성
# useradd user1
# useradd user2
# groupadd g1
# groupadd g2
4. usermod 로 user의 그룹 정보 변경
group을 동아리라고 생각한다면
동아리 추가는 -G : 공유 그룹 추가
동아리 변경은 -g : 내 그룹으로 변경
1) -G 로 그룹 정보 변경
# usermod -G g1 user1
# tail -3 /etc/passwd
samadal:x:500:500:madalgyo:/export/home/samadal:/bin/bash
user1:x:501:501::/home/user1:/bin/bash
user2:x:502:502::/home/user2:/bin/bash
# tail -5 /etc/group
samadal:x:500:
user1:x:501:
user2:x:502:
g1:x:503:user1
g2:x:504:
2) -g 로 그룹 정보 변경
# usermod -g g2 user2
# tail -4 /etc/group
user1:x:501:
user2:x:502:
g1:x:503:user1
g2:x:504:
# tail -3 /etc/passwd
samadal:x:500:500:madalgyo:/export/home/samadal:/bin/bash
user1:x:501:501::/home/user1:/bin/bash
user2:x:502:504::/home/user2:/bin/bash
# id user1
uid=501(user1) gid=501(user1) groups=501(user1),503(g1)
# id user2
uid=502(user2) gid=504(g2) groups=504(g2)
*
공유그룹은 1개밖에 추가로 못가진다. 다른 그룹으로 덮으면 기존 공유그릅은 삭제된다.
[문제1]
usermod 실습 원상복귀
# usermod -G user1 user1
# usermod -g user2 user2
# id user1
uid=501(user1) gid=501(user1) groups=501(user1)
# tail -4 /etc/group
user1:x:501:user1
user2:x:502:
g1:x:503:
g2:x:504:
[문제2]
-작업환경-
user : testuser
UID : 200
Gid : tg(2000)
shell : ksh
$home : /hosting
skel : /skelsam
auto creating directory : public_html
auto creationg file : .sam
모든 작업은 기본경로를 변경하지 않고 옵션만으로 사용자를 생성하세요.
모든 작업 완료 후 정상 로그인되는지 확인하세요.
실패시 삭제 후 다시 작업
# groupadd -g 2000 tg
# mkdir -p /skelsam/public_html /hosting
# cp /etc/skel/.* /skelsam
# cp -r /etc/skel/.gnome2 /etc/skel/.mozilla /skelsam
# touch /skelsam/.sam
# useradd -u 1200 -g tg -s /bin/ksh -d /hosting/testuser -m -k /skelsam testuser
# passwd testuser
결과물 확인 : testuser로 로그인 후
$ pwd
/hosting/testuser
$ ll -a
합계 36
drwx------ 4 testuser tg 4096 2014-11-19 14:05 .
drwxr-xr-x 3 root root 4096 2014-11-19 14:03 ..
-rw-r--r-- 1 testuser tg 18 2014-11-19 14:00 .bash_logout
-rw-r--r-- 1 testuser tg 176 2014-11-19 14:00 .bash_profile
-rw-r--r-- 1 testuser tg 124 2014-11-19 14:00 .bashrc
drwxr-xr-x 2 testuser tg 4096 2014-11-19 14:00 .gnome2
-rw-r--r-- 1 testuser tg 171 2014-11-19 14:00 .kshrc
drwxr-xr-x 4 testuser tg 4096 2014-11-19 14:00 .mozilla
-rw-r--r-- 1 testuser tg 0 2014-11-19 14:01 .sam
-rw------- 1 testuser tg 110 2014-11-19 14:07 .sh_history
drwxr-xr-x 2 testuser tg 4096 2014-11-19 14:01 public_html
$ tail -1 /etc/passwd
testuser:x:1200:2000::/hosting/testuser:/bin/ksh
$ tail -1 /etc/group
tg:x:2000:
$ id testuser
uid=1200(testuser) gid=2000(tg) groups=2000(tg)
[문제3]
-작업환경-
user : tiger
Uid : 700
공유그룹 : g1
별칭 : silver
홈디렉토리 : /local_host/home/
쉘 : 본쉘
skel : /skel/
자동생성 디렉터리 : public_html
자동생성파일 : public_html/index.html <-- www.silvertiger.com 추가
기본설정 건드리지 말고 옵션만을 이용하여 설정
설정 후 정상로그인 되는지 확인. 실패 시 삭제 후 다시 생성
# mkdir -p /local_host/home/
# mkdir /skel/
# cp /etc/skel/.* /skel/
# cp -r /etc/skel/.gnome2 /etc/skel/.mozilla /skel/
# mkdir /skel/public_html
# cat > /skel/public_html/index.html
www.silvertiger.com
# useradd -u 700 -G g1 -c silver -d /local _host/home/tiger -s /bin/sh -m -k /skel tiger
tiger로 로그인 하여 정상 생성 되었는지 확인
-sh.4.1$ pwd
/local_host/home/tiger
-sh.4.1$ ll -a
합계 36
drwx------ 5 tiger tiger 4096 2014-11-19 14:36 .
drwxr-xr-x 3 root root 4096 2014-11-19 14:36 ..
-rw-r--r-- 1 tiger tiger 18 2014-11-19 14:35 .bash_logout
-rw-r--r-- 1 tiger tiger 176 2014-11-19 14:35 .bash_profile
-rw-r--r-- 1 tiger tiger 124 2014-11-19 14:35 .bashrc
drwxr-xr-x 2 tiger tiger 4096 2014-11-19 14:35 .gnome2
-rw-r--r-- 1 tiger tiger 171 2014-11-19 14:35 .kshrc
drwxr-xr-x 4 tiger tiger 4096 2014-11-19 14:35 .mozilla
drwxr-xr-x 2 tiger tiger 4096 2014-11-19 14:35 public_html
-sh.4.1$ cat ./public_html/index.html
www.silvertiger.com
-sh.4.1$ tail -1 /etc/passwd
tiger:x:700:700:silver:/local_host/home/tiger:/bin/sh
-sh.4.1$ id tiger
uid=700(tiger) gid=700(tiger) groups=700(tiger),503(g1)
5. 계정 잠그기
1) passwd -l tiger(계정명) : lock
-u tiger(계정명) : unlock
② usermod -L tiger(계정명) : lock
-U tiger(계정명) : unlock
*
passwd 명령어로 unlock 하는 경우, Linux 재부팅 해야 적용되지만
usermod 명령어로 unlock 하는 경우, 바로 적용된다.
'Study > CentOS' 카테고리의 다른 글
| [12] 소유권, 허가권 실습, ftp 관련 권한 (0) | 2015.03.28 |
|---|---|
| [11] 허가권, 소유권, chmod, chown, chgrp (0) | 2015.03.28 |
| [09] useradd -D, usermod (0) | 2015.03.27 |
| [08] passwd, shadow, group, gshadow, useradd, passwd, skel (0) | 2015.03.27 |
| [07] vi(2), 유용한 vi 명령어 메모 (0) | 2015.03.27 |


