[Linux] 아파치 웹서버 사용자별 웹 디렉토리 설정 –

[Linux] 아파치 웹서버 사용자별 웹 디렉토리 설정
– Per-user web directories
■ 환경
○ OSE : CentOS 7 minimal
○ Apache web server : 2.4.6
■ 아파치 웹 서버 설정
○ 사용자별 웹 디렉토리 사용하도록 설정 : vi  /etc/httpd/conf.d/userdir.conf
<IfModule  mod_userdir.c>
    UserDir  disabled  root
    UserDir  public_html
</IfModule>
<Directory “/home/*/public_html”>
    AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>
     – root에 대해서는 사용자 웹 디렉토리를 사용하지 않도록 해 보안위협을 예방한다.
     – Indexes 옵션을 제거해 외부 접속자가 임의의 파일에 접근하는 것을 예방한다.
○ PHP 페이지를 위해 웹서버 설정파일에 index.php 추가 : vi  /etc/httpd/conf/httpd.conf
<IfModule  dir_module>
    DirectoryIndex  index.html  index.php
</IfModule>
○ SELinux 설정 : 웹서버가 사용자별 웹 디렉토리에 접근할 수 있도록 권한을 설정한다.
    – 상태확인 : getsebool  httpd_enable_homedirs
       — 확인결과 : httpd_enable_homedirs –> off
    – 상태설정 : setsebool -P httpd_enable_homedirs  on
    – 상태확인 : getsebool  httpd_enable_homedirs
       — 확인결과 : httpd_enable_homedirs –> on
○ 아파치 웹서버 재시작
    – systemctl  restart  httpd
■ 사용자별 웹 디렉토리 설정
○ 접근권한 설정
    – mkdir  /home/account/public_html
    – chmod  711  /home/account
    – chmod  755  /home/account/public_html
○ SELinux 설정 : 웹서버가 사용자의 컨텐츠에 대한 접근을 할 수 있도록 설정한다.
    – 설정 : chcon  -R  -t  httpd_user_content_t  /home/account/public_html
    – 확인 : ls  -aldZ  /home/account/public_html
    ※ httpd가 httpd_t type으로 실행되며 httpd_user_content_t (typealias), httpd_sys_content_t type으로 설정된 파일만 접근할 수 있다.

vsftpd Active-Passive mode configuration

Active/Passive 모드 설정

서버에서는 Active 모드, Passive 모드 둘다 지원하도록 기동시켜두고 클라이언트 프로그램에서 이를 선택하도록 한다.

1. Conf 설정

 # vi /etc/vsftpd/vsftpd.conf

– Passive 

 pasv_enable=YES

pasv_max_port=11000

pasv_min_port=10000

– Active

ㄴ Active모드는 특별한 옵션을 주지 않으면 Default로 동작한다.

2. 재기동

 # systemctl restart vsftpd.service
3. SELINUX 설정
Conf 파일을 수정하고 재기동 후에, 클라이언트에서 Active모드로 접속했지만 아래와 같은 로그를 보여주고 접속되지 않는다.
– Active 모드에 접근할 수 없어서 Passive모드로 접속하겠다는 로그 내용.. 그러나 접속하지 못함.
 명령: PORT 192,168,0,100,17,9

응답: 200 PORT command successful. Consider using PASV.

명령: LIST

응답: 425 Failed to establish connection.

오류: 디렉터리 목록 조회 실패

SELINUX 때문인데.. SELINUX 로그를 보면 아래와 같은 부분이 남겨져 있다.

 …  avc:  denied  { name_connect } for  pid=20401 comm=”vsftpd”  …

– 로그는 설정에 따라 /var/log/audit/audit.log 또는 /var/log/message 에 남겨진다.

– avc는 SELINUX커널에 있는 서비스 – Access Vector Cache

– Active 모드에서 사용하려는 Data세션이 사용하는 포트가 방화벽에 막혔기 때문이라고 한다.

 

 # setsebool -P ftp_home_dir 1

# setsebool –P ftpd_use_passive_mode 1

setsebool은 SELINUX의 정책을 설정한다.

– P옵션은 영구설정을 의미, 1은 on / 0은 off

– ftp_home_dir 은 ftp서버가 홈디렉토리에만 접근가능하도록 하는 옵션.

– ftpd_use_passive_mode는 ftpd가 Passive모드 사용을 허가하는 옵션.

4. 확인

 # getsebool -a | egrep “^ftp_home_dir|^ftpd_use_passive_mode”

getsebool은 SELINUX의 정책을 확인한다.

5. 접속테스트

– Active 모드로 접속.

– 클라이언트에서 정상 접속 후에 21번 포트로 외부에서 접속.

– 파일 다운로드시에 Active모드이므로 20번 포트가 open되어 파일 다운로드

– Passive 모드로 접속.

– 파일 다운로드 시에 Passive모드 이므로 Passive모드 사용을 위해 설정해둔 10000~11000 사이의 포트로 Data전송.

 

리눅스 centOS 6. root 패스워드 분실로 인한 초기화

 

http://selene0301.tistory.com/134
리눅스 네트워크 설정
http://egloos.zum.com/tmt313/v/2557067
http://blog.naver.com/seokhok/140110829416
ifconfig
vi /etc/sysconfig/network
vi /etc/sysconfig/network-scripts/ifcfg-eth0
cat /etc/sysconfig/network-scripts/ifcfg-eth0
vi /etc/resolv.conf — dns resolv server setting
/etc/init.d/network restart
service network restart

MariaDB install on CENTOS 6.6

MariaDB install on CENTOS 6.6
Setting up MariaDB Repositories
https://downloads.mariadb.org/mariadb/repositories/#mirror=kaist&distro=CentOS&distro_release=centos6-amd64–centos6&version=10.1
installing MariaDB with yum
https://mariadb.com/kb/en/mariadb/yum/
#/etc/yum.repos.d/MariaDB.repo
Installing MariaDB with YUM
With the repo file in place you can now install MariaDB like so:
#sudo yum install MariaDB-server MariaDB-client
설치중 에러 발생시
In our case I have found all packages related to Mariadb with command
#rpm -qa | grep -i ‘^MariaDB’
And removed them with commands like:
#yum remove MariaDB-server
#yum remove mysql
#yum install MariaDB-server MariaDB-client
#service mysql start
Set MariaDB to start on boot:
# chkconfig mysql on
Secure MariaDB after installation
# mysql_secure_installation — all yes
# service mysql restart
# mysql -u root -p
Installing MariaDB 10.0 with YUM
http://lintut.com/install-mariadb-on-centos/
How to Create a New User
mysql>CREATE USER ‘newuser’@’localhost’ IDENTIFIED BY ‘password’;
mysql>GRANT ALL PRIVILEGES ON * . * TO ‘newuser’@’localhost’;
mysql>FLUSH PRIVILEGES;
https://www.digitalocean.com/community/tutorials/how-to-create-a-new-user-and-grant-permissions-in-mysql
1. my.cnf 열어서 포트 변경(보통 /etc/my.cnf에 위치한다)
2. # service mysqld restart
3. iptables에서 자신이 추가한 포트 열기 /etc/sysconfig/iptables 에 아래구문 추가
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
4. iptables 재시작
 # service iptables restart
Upgrade MariaDB 10.0.x to MariaDB 10.1.x on Centos (yum)
http://support.qualityunit.com/009608-Upgrade-MariaDB-100x-to-MariaDB-101x-on-Centos-yum

아이패드 패스워드 잊었을때

https://support.apple.com/ko-kr/HT1212
iOS: 암호를 잊어 버렸거나 장비가 비활성화됨
암호를 설정한 iPhone, iPad 또는 iPod touch에서 암호를 너무 많이 잘못 입력하면 장비가 일시적으로 비활성화됩니다. 암호를 잊어 버렸거나 장비가 비활성화되었음을 알리는 메시지가 표시되는 경우 수행할 작업에 대해 알아봅니다.
암호를 연속으로 6번 잘못 입력하면 장비가 잠기고 다음 메시지가 표시됩니다.
iPhone이 비활성화되었음
iPad가 비활성화되었음
iPod touch가 비활성화되었음
암호가 기억나지 않는 경우 iTunes, 나의 iPhone 찾기 또는 복구 모드를 사용하여 장비를 지워야 합니다. 그런 다음 백업을 사용하여 장비에서 데이터와 설정을 복원하십시오. 방법은 다음과 같습니다.
iTunes 사용
장비를 iTunes와 동기화한 경우 장비를 복원할 수 있습니다.
장비를 일반적으로 동기화하는 컴퓨터에 연결합니다.
‘iTunes’를 엽니다. iTunes에 암호를 입력하라는 메시지가 표시되면 동기화한 적이 있는 다른 컴퓨터를 사용해 봅니다. 또는 아래의 단계를 시도하여 복구 모드를 사용합니다.
iTunes에서 자동으로 장비를 동기화하고 백업을 생성합니다. 동기화되지 않으면 iTunes와 장비를 동기화합니다.
동기화가 완료되면 장비를 복원합니다.
iOS 설정 지원에 장비를 설정하라는 메시지가 표시되면 ‘iTunes 백업에서 복원’을 선택합니다.
iTunes에서 장비를 선택하고 최근 백업을 선택합니다.
나의 iPhone 찾기 사용
나의 iPhone 찾기를 활성화했으면 이 기능을 사용하여 장비를 지울 수 있습니다.
http://www.icloud.com/#find로 이동하여 나의 iPhone 찾기를 활성화했는지 확인합니다.
브라우저 윈도우 상단에서 ‘모든 장비’를 클릭합니다.
장비를 선택하고 ‘[장비] 지우기’를 클릭하여 장비와 암호를 지웁니다.
장비에서 설정 지원을 사용하여 장비의 최신 백업을 복원합니다.
복구 모드 사용하기
장비를 iTunes와 동기화한 적이 없는 경우, 나의 iPhone 찾기가 설정되어 있지 않는 경우 또는 컴퓨터에 연결할 수 없는 경우 다음 단계를 따르십시오. 장비와 암호를 지우는 복구 모드로 장비를 전환해야 합니다. 새로 또는 백업에서 장비를 복원합니다.
장비에서 케이블을 모두 분리합니다.
장비를 끕니다.
홈 버튼을 길게 누릅니다. 홈 버튼을 누른 상태에서 장비를 iTunes에 연결합니다. 장비가 자동으로 켜지지 않으면 켭니다.
iTunes에 연결 화면이 나타날 때까지 홈 버튼을 계속해서 길게 누릅니다.
iTunes에 복구 모드에 있는 장비를 감지했다는 경고 메시지가 표시됩니다.
‘승인’을 클릭한 다음 장비를 복원합니다.