- 2014.11.21
1. 소유권 허가권 규칙 실습
1) 권한 부여의 우선순위 : user > group > other
2) 허가권 570 : user는 w권한 없지만 group은 w권한이 있다.
3) samadal:root = samadal:samadal 일 수밖에 없다.
*
허가권 other에 권한이 있다면 소유권이 root:root 로 되어있다 하더라도
samadal 계정으로 주어진 권한 행사가 가능하다.
(심지어 001, 005 처럼 user 및 group에 권한이 0이라 하더라도)
2. ftp 관련 권한
ftp를 이용하여 파일을 업로드 할 때에는 r 권한이 없이
w, x 권한만 있어도 해당 디렉터리에 접근 및 업로드가 가능하다.
'Study > CentOS' 카테고리의 다른 글
[14] SETUID, SETGID, Stickybit, UMASK (0) | 2015.03.28 |
---|---|
[13] 계정 복구, 계정 관련 Trouble Shooting, chown -R (0) | 2015.03.28 |
[11] 허가권, 소유권, chmod, chown, chgrp (0) | 2015.03.28 |
[10] userdel, groupadd, groupdel, 계정 잠그기 (0) | 2015.03.27 |
[09] useradd -D, usermod (0) | 2015.03.27 |
1. CentOS 6.6 minimal로 설치.
설치 시 시간은 Seoul, hostname은 내가 사용할 홈페이지 주소로 적는다.
2. SELinux 비활성화
SELinux를 비활성화 하더라도 보안에 큰 문제는 없으므로 아래처럼 비활성화 한다.
# vi /etc/sysconfig/selinux
SELINUX=enabled -> SELINUX=disabled
3. 방화벽 설정
minimal 설치 시 방화벽(iptables)은 작동하지 않고 있으며, 사용을 원한다면 아래처럼 진행
# iptables -X
# iptables -F
# iptables -A INPUT -p tcp -dport 80 -j ACCEPT
# iptables -A INPUT -p tcp -dport 25 -j ACCEPT
# iptables -A INPUT -p tcp -dport 20 -j ACCEPT
# iptables -A INPUT -p tcp -dport 21 -j ACCEPT
# iptables -A INPUT -p tcp -dport 22 -j ACCEPT
# chkconfig iptables on
4. 필요 패키지 설치 및 실행
1) 패키지 설치
# yum install -y ntp mailx sendmail httpd mysql-server php php-mysql php-gd php-ldap php-imap wget
ntp : 시간 동기화
mailx, sendmail : 메일 전송
httpd : 웹서버
mysql* : Database
php* : php
wget : 외부 다운로드
2) 시스템 부팅 시 자동 실행 설정
# chkconfig ntpd on
# chkconfig sendmail on
# chkconfig httpd on
# chkconfig mysqld on
5. Hostname 설정
설치 도중 hostname 설정을 제대로 하지 않았다면 아래 두 파일에서 호스트네임을 수정
/etc/hosts
/etc/sysconfig/network
6. 재부팅
여태껏 한 여러 설정들이 제대로 작동하려면 재부팅이 필요하다.
# reboot
7. Wordpress 설치파일 셋팅
1) 다운로드 및 압축해제
https://ko.wordpress.org/ 에서 최신버전 wordpress 다운로드 주소를 알아낸다. (.tar.gz 으로)
ex) 4.1.1 버젼 다운로드 및 압축해제
# wget https://ko.wordpress.org/wordpress-4.1.1-ko_KR.tar.gz
# tar xvfz wordpress-4.1.1-ko_KR.tar.gz
2) 웹 기본 경로에 옮기기
웹의 기본 경로는 /var/www/html 이다. 이쪽으로 해당 디렉터리를 옮기자.
# rm -rf /var/www/html/
# mv ./wordpress/ /var/www/html/
8. MySQL 데이터베이스 설정
1) root 비밀번호 설정 및 로그인
# mysqladmin -u root password new_password
# mysql -u root -p
2) DB 생성
wordpress 라는 이름으로 DB 생성
mysql> CREATE DATABASE wordpress;
3) 계정(wp)생성 및 DB 연동
mysql> GRANT ALL PRIVILEGES ON wordpress.* TO wp@localhost IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> exit;
9. 워드프레스 설정파일 및 소유권 수정
1) 설정파일
# cd /var/www/html
# cp wp-config-samples.php wp-config.php
아래와 같이 수정
# vi wp-config.php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'wp');
/** MySQL database password */
define('DB_PASSWORD', 'password');
/** MySQL hostname */
define('DB_HOST', 'localhost');
2) 소유권 설정
# chown -R apache. /var/www/html/
# service httpd restart
이제 http://ip-address 워드프레스 설정화면이 나타난다.
설정 화면에서 사이트 제목 및 사용자명, 비밀번호, 이메일 주소 등을 입력한 후 워드프레스 설치하기를 눌러 워드프레스 설치를 완료한다.
10. WordPress 접속 및 SMTP 플러그인 설치
워드프레스 설정의 플러그인 메뉴의 플러그인 설치에서 WP-Mail-SMTP를 검색해서 설치한다.
설치 후에 Email 설정에서 다음과 같이 설정한다.
1) Advanced Email Options
From Email: 워드프레스에서 발송되는 메일의 발송자 e-mail 주소를 입력한다.
From Name: 발송자의 이름을 입력한다.
Mailer: 메일 발송에 사용될 메일 프로그램을 선택. Send all WordPress emails via SMTP를 선택한다
Return Path: 회신 주소로 발송자 e-mail을 사용할 경우 체크한다.
2) SMTP Options
SMTP Host: 워드프레스 서버에 sendmail 서비스를 설치했으므로 localhost 로 지정한다.
SMTP Port: 기본으로 사용하는 메일 포트인 25를 사용한다. 메일 포트로 다른 포트(예 587)을 사용할 경우 변경한다.
Encryption: 메일을 암호화하는 옵션. No encryption을 선택한다.
Authentication: No 설정
이와 같이 설정한 후 변경 사항을 저장하고 아래에 Test Email 란에 메일 주소를 입력하여 메일이 발송되는 지 테스트한다.
이젠 개인의 입맛에 맞게 홈페이지를 꾸미면 된다.
'Linux > CentOS' 카테고리의 다른 글
DNS master & slave server 만들기 (0) | 2015.04.06 |
---|---|
서버 시간 동기화(ntpd) (0) | 2015.04.06 |
CentOS 6.6 single mode(싱글모드) 진입방법 - root의 password(비밀번호) 분실 시 (0) | 2015.03.28 |
막강한 부트로더, GRUB (0) | 2015.03.27 |
CentOS6 Network Interface Card 설정 (0) | 2015.03.27 |
- 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 |