Posted on 2004/03/03 14:07
Filed Under 리눅스기술문서/서버관련 조회수:

=========================================================================


                    Redhat 7.1 Linux webhosting server install

=========================================================================


* 위 문서는 서진우(alang at
sysmng.com) 님이 정리 하신 내용입니다.
* 참조는 가능하나 무단 배포는 금합니다.
* 참조시 발생하는 문제에 대해서도 본인은 책임을 지지 않습니다.
* 작성날짜 : 2001 년 6월 27일

웹호스팅용 리눅스 서버 인스톨기 입니다.

1. 사용되는 패키지

OS : Redhat linux 7.1
Kernel : 2.4.5
apache : 1.3.20
php : 4.0.5
Zend : 4.0.5
Mysql : 3.23.39
bind : 9.1.0-10
sendmail : 8.11.2-14
proftpd : 1.2.2rc2
popper : qpopper3.1.2
realserver
Data-Dumper-2.101
Data-ShowTable-3.3
DBI-1.14
Msql-Mysql-modules-1.2215


2. Redhat 7.1 설치 ( 최소 버젼으로 간단하게 설치한다.)

3. Apache + php + mysql + zend 설치

-------------------------------------------------------------------------
---------

3.1.1. 필요한 프로그램

Apache-1.3.20.tar.gz
php-4.0.5.tar.gz
mysql-3.23.39.tar.gz
ZendOptimizer-1.1.0-PHP_4.0.5-Linux_glibc21-i386.tar.gz


3.1.2. Mysql 설치

먼저 /usr/local/src 및에 위의 소스파일을 놓고 모두 푼다.
Mysql 부터 설치 한다.



# ./configure --prefix=/usr/local/mysql --with-charset=euc_kr

기타 추가 옵션

--with-unix-socket-dir=/usr/local/mysql/sock/socket.mysql
  소켓정보파일을 /usr/local/mysql/sock/socket.mysql 로 지정생성하겠다
  이 부분을 기술하지 않으면 /tmp/(디폴트 소켓이름) 으로 사용됩니다.

--localstatedir=/mysqldb : 이것은 데이타베이스파일을 어디에다가 생성
할것인지 지정해주는 것입니다.

# make
# make install

설치 완료

# cd /usr/local/mysql            mysql 프로그램 생성 위치로 가서
# bin/mysql_install              mysql DB 를 생성시켜준다.
# cd /usr/local/mysql/share/mysql
# vi mysql.server                mysql 제어 스크립트 수정

편집기로 열어서 safe_mysql이 실행되는 라인에 -- language=korean 옵션을 추가

$bindir/safe_mysqld --user=$mysql_daemon_user --pid-file=$pid_file \\
  --datadir=/usr/local/mysql/var --language=korean &

# chmod 700 mysql.server
# cp -p mysql.server /usr/bin

mysql 시작과 종료를 보다 편리하게 하기 위해서..
mysql.server stop  중지
mysql.server start 시작

3.1.3. APACHE 1차 설치

apache 를 설치하기 전에 기본적인 튜닝을 먼저 해야 한다.
웹호스팅용 서버는 많은 사용자들이 접속하기 때문에 기본 설치에서는
256 개의 프로세스밖에 생성하지 못한다. 그러므로 설치 소스에세 부
터 이부분을 변경을 해주어야 한다.

먼저 apache 소스 및의 src/include 디렉토리에 httpd.h 파일을 열어서
'define HARD_SERVER_LIMIT 256' 되어진 부분을 1024 로 변경하여 준다.

그런뒤 ..

# cd /usr/local/src/apache_1.3.20
# ./configure --prefix=/usr/local/apache --enable-module=so

3.1.4. PHP4 설치

# ./configure --with-mysql=/usr/local/mysql \\
--with-apache=/usr/local/src/apache_1.3.20  \\
--with-gd --with-libpng --with-zlib
--enable-track-vars \\
--with-language=korean \\
--with-charset=euc_kr \\
--enable-magic-quotes \\

# make
# make install
# cp php.ini-dist /usr/local/lib/php.ini
# vi /etc/ld.so.conf
-----------------------------------------------------------------------
/usr/local/lib              -->  추가 해줌
/usr/lib
/usr/kerberos/lib
/usr/X11R6/lib
-----------------------------------------------------------------------

# ldconfig


3.1.5. APACHE 2차 설치

# ./configure --prefix=/usr/local/apache \\
--activate-module=src/modules/php4/libphp4.a \\
--enable-module=so \\
  
옵션 --enable-module=so 는 DSO 모듈로 설치하는 옵션이다.
나중에 apache 설정시 트래픽 제한에 사용되는 bandwidth.so 모듈을
사용하기 때문에 설치시 부터 DSO 방식으로 설치를 한다.

# make
# make install

3.1.6. Zend 설치

# tar xzvf ZendOptimizer-1.1.0-PHP_4.0.5-Linux_glibc21-i386.tar.gz
# mkdir -p /usr/local/Zend/lib
# cd ZendOptimizer-1.1.0-PHP_4.0.5
# mv * /usr/local/Zend/lib
# vi /usr/local/lib/php.ini

  마지막 줄에 다음을 추가 한다.

  zend_optimizer.optimization_level=7
  zend_extension="/usr/local/Zend/lib/ZendOptimizer.so"

4. FTP 설치

proftpd 최신 버젼을 rpm 으로 다운 받아서 설치한다.

# rpm -Uvh proftpd-1.2.2rc2-2kr.i386.rpm

다음 설정 파일을 수정한다.

# vi /etc/proftpd/conf/proftpd.conf

--------------------------------------------------------------------
# 접속시 나타나는 서버 이름
ServerName      " WEB HOSTING FTP SERVER "

# 웹호스팅 서버에서는 inetd 보단 standalone mode 로 운영한다.
ServerType      standalone

DefaultServer   on
AuthPAMAuthoritative    on

# 사용할 포트 번호다. standalone 에선 이부분 주석을 제거해준다.
Port            21

RootLogin off
DefaultRoot                     ~      # !wheel

<Global>
Umask               022
# (최대 접속 수)
MaxClients          10
# (같은 위치에서 접속할수 있는 최대 접속수 )
MaxClientsPerHost   3   "Sorry, one connection allow per one host"
# (같은 계정으로 접속할수 있는 최대 접속수 )
MaxHostsPerUser     3   "Sorry, one hosts allow per one user"
</Global>

# 회선의 bound width 를 특정 속도로 제한한다. 단위는 bbs
# 다운 속도를 256k 로 제한

RateReadBPS             2560000
RateReadFreeBytes       512000
RateReadHardBPS         on

# Dos 공격을 막기 위해 자식 Process 의 Maximun number 를
# 조정한다.
MaxInstances                    10

# 접속 대기 시간 설정
TimeoutIdle                             100

# Client가 접속인증을 허락 받기 전에 Server name를 display
# 하지 않는다.
DeferWelcome                    on
DisplayLogin                    /etc/proftpd/conf/welcome.msg
DisplayFirstChdir               .message

-------------------------------------------------------------------

이정도 수정을 하시면 FTP 보안과 설정이 대충 마무리 된다.

5. 메일 서버 설치

기본으로 sendmail-8.11.2-14 이 설치 되어져 있다.

기본 셋팅으로는 자체 서버 내부에 있는 계정끼리만 메일을 주고 받을수
있도록 설치가 되어진다. 새롭게 sendmail.cf 파일을 만들어 주어야 한다.
기본 sendmail.cf 를 백업하고..

# mv /etc/sendmail.cf /etc/sendmail.cf.bak
# cd /etc/mail  

/etc/mail/sendmail.mc 파일을 수정한후 m4 를 이용하여 새로운 sendmail.cf
파일을 만든다. (redhat 7.1 부터 변경된 사항)

# vi sendmail.mc
------------------------------------------------------------------
.
.
아래 설정 부분 제일 앞에 "dnl" 을 붙여준다.
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
.
.
------------------------------------------------------------------

# m4 sendmail.mc > /etc/sendmail.cf
# /etc/rc.d/init.d/sendmail restart

확인 하도록 하자.  

# telnet <ip address> 25
Trying x.x.x.x...
Connected to 0.
Escape character is '^]'.
220 ns1.sysmng.com ESMTP Sendmail 8.11.2/8.11.2; Wed, 27 Jun 2001 01:29:51
+0900


pop 데몬으로 qpopper 를 사용할것이기 때문에 최신 소스를 다운 받는다.
다운 받은 소스를 풀고 그 디렉토리로 이동한 다음...

# ./configure  --enable-specialauth --enable-servermode --enable-shy
# make
# cp popper/popper /usr/local/lib

inetd.conf 파일을 redhat 7.1 부터는 쓰지 않으므로 xinetd 방식으로 전환 한다.
먼저 inetd.conf 파일을 /etc 밑에 만들고 pop 설정 부분을 적어준다.

# vi inetd.conf
-------------------------------------------------------------------------
--

pop-3   stream  tcp     nowait  root     /usr/local/lib/popper

-------------------------------------------------------------------------
--

# inetdconvert -d /etc/xinetd.d pop-3
# /etc/rc.d/init.d/xinetd restart


확인 하자.

# telnet 0 110
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
+OK ready

이것으로 센드메일에 관련되어 smtp, pop 모든 셋팅을 마쳤다.


6. Perl 관련 모듈 설치

웹프로그램중 perl 로 짜여진 많은 프로그램이 있다. 이중 특이한 perl 모듈을
이용하는게 있는데 기본 perl 설치에는 없는 모양이다. 설치해 준다.

Data-Dumper-2.101.tar.gz
Data-ShowTable-3.3.tar.gz
DBI-1.14.tar.gz
Msql-Mysql-modules-1.2215.tar.gz

각각 소스를 풀고 하나씩 설치 한다.

# tar xzvf Data-Dumper-2.101.tar.gz
# cd Data-Dumper-2.101
# perl Makefile.PL
# make test
# make install

# cd ../
# tar xzvf Data-ShowTable-3.3.tar.gz
# cd Data-ShowTable
# perl Makefile.PL
# make
# make test
# make install

# cd ../
# tar xzvf DBI-1.14.tar.gz
# cd DBI-1.14
# perl Makefile.PL
# make
# make test
# make install

# cd ../
# tar xzvf Msql-Mysql-modules-1.2215.tar.gz
# cd Msql-Mysql-modules-1.2215
# perl Makefile.PL --config --mysql-use-client-found-rows

Which drivers do you want to install?

    1)  MySQL only
    2)  mSQL only (either of mSQL 1 or mSQL 2)

    3)  MySQL and mSQL (either of mSQL 1 or mSQL 2)

    4)  mSQL 1 and mSQL 2
    5)  MySQL, mSQL 1 and mSQL 2

Enter the appropriate number:  [3] (mysql 만 설치 되어져 있으니 당근 1 번)

Do you want to install the MysqlPerl emulation? You might keep your old
Mysql module (to be distinguished from DBD::mysql!) if you are concerned
about compatibility to existing applications! [n]
( 응용 프로그램 사용시 이용되는 모듈이므로 n 선택 )

Do you want to install the MysqlPerl emulation? You might keep your old
Mysql module (to be distinguished from DBD::mysql!) if you are concerned
about compatibility to existing applications! [n] n
Where is your MySQL installed? Please tell me the directory that
contains the subdir 'include'. [/usr/local/mysql] /usr/local/mysql
(Mysql 프로그램이 설치된 위치를 적는다. )

Which database should I use for testing the MySQL drivers? [test]root
(mysql 접속 테스트용 아이디를 적는다..기본 셋팅이니깐..그냥.root)

On which host is database root running (hostname, ip address
or host:port) [localhost] localhost
(mysql hostname 을 적는다..원격 접속이 아니면 그냥 localhost)

User name for connecting to database root? [undef] mysql
(DB명을 적는다. )

Password for connecting to database root? [undef] xxxxxxxxx
(DB 접속 패스워드를 적는다.)

설정 완료 .

# make
# make test
# make install

이것으로 perl 관련 모듈 설치 완료 된다.

7. RealServer 설치

Redhat 7.1 에서는 공유라이브러리 차이로 RealRerver 프로그램 설치시 에러가
뜬다..

./g2p3-linux-c6.bin: error while loading shared libraries: libstdc++.so.2.8:
cannot load shared object file: No such file or directory

libstdc++.so.2.8 라이브러리를 다른 서버에서 받아와서 /usr/lib 에 복사해 둔다.

다시 설치 명령어를 실행한다.

# ./g2p3-linux-c6.bin


질문에 맞추어 답하면서 설치하면 된다.

이로써 웹호스팅용 서버 인스톨에 관련된 부분을 설명했다.
다음으로 위에서 설치된 프로그램의 설정 부분이다.

8. 서버 프로그램 설정 부분

8.1 DNS 서버 설정

아래 파일을 차례로 설정한다.

/etc/host.conf
/etc/hosts
/etc/named.conf
/var/named/name.rev
/var/named/name.zone
/etc/resolv.conf

[root@ns1 /root]# cat /etc/host.conf
-------------------------------------------------------------------------
------
order hosts,bind
multi on


[root@ns1 /root]# cat /etc/hosts
-------------------------------------------------------------------------
------
127.0.0.1       localhost.localdomain localhost
211.47.67.154   sysmng.com      sys
211.47.64.145   zzang911.net    alang


[root@ns1 /root]# cat /etc/named.conf
-------------------------------------------------------------------------
------
options {
        directory "/var/named";
};

zone "." IN {
        type hint;
        file "named.ca";
};

zone "localhost" IN {
        type master;
        file "localhost.zone";
        allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };

};
key "key" {
        algorithm hmac-md5;
        
secret "fTdunkCbyezFBQGObApE00yqW0WRYlWNmrvSDiTn0HZHOrdveOSbsOfVUi
Eo";
};

//
//  Name Zone file 셋팅 시작
//
zone "67.47.211.in-addr.arpa" IN {
        type master;
        file "name.rev";
        allow-update { none; };
};
zone "sysmng.com" IN {
        type master;
        file "name.zone";
        allow-update { none; };
};



[root@ns1 /root]# cat /var/named/name.rev
-------------------------------------------------------------------------
------
$TTL    86400
@       IN      SOA     ns.sysmng.com. root.sysmng.com.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum

;Name Server
        IN      NS      ns.sysmng.com.

;in-addr-arpa
154     IN      PTR     sysmng.com.

[root@ns1 /root]# cat /var/named/name.zone
-------------------------------------------------------------------------
-----
@            IN      SOA     ns.sysmng.com. root.ns.sysmng.com.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      900      ; Retry
                                      360000    ; Expire
                                      3600 )    ; Minimum
;Name Server
              IN      NS      ns.sysmng.com.
              IN      MX   10     @
              IN      A       211.47.67.154

;Host name & Informations
localhost     IN      A         127.0.0.1
@             IN      A         211.47.67.154
ns            IN      A         211.47.67.154
              IN      HINFO     "i686 Pentium" "Linux"
;
www           IN      CNAME             ns
mail          IN      CNAME             ns

[root@ns1 /root]# cat /etc/resolv.conf
-------------------------------------------------------------------------
----
search ns.sysmng.com
nameserver 211.47.67.154
nameserver 211.47.67.1

8.2 apache 설정

아래 파일을 수정 한다.

/usr/local/apache/conf/httpd.conf

-------------------------------------------------------------------------
----

ServerType standalone
ServerRoot "/usr/local/apache"
PidFile /usr/local/apache/logs/httpd.pid
ScoreBoardFile /usr/local/apache/logs/httpd.scoreboard
Timeout 300
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 10
MinSpareServers 15
MaxSpareServers 40
StartServers 10
MaxClients 512
MaxRequestsPerChild 100
Port 80
User nobody
Group nobody
ServerAdmin root at
ns.sysmng.com
ServerName sysmng.com
DocumentRoot "/home/webmaster/www"


<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>


<Directory "/usr/local/apache/htdocs">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<Directory "/home">  
    Options FollowSymLinks ExecCGI
    AllowOverride All
    Order allow,deny  
    Allow from all
    Deny from env=go_out
    Deny from export=go_out
</Directory>
<IfModule mod_userdir.c>
    UserDir www
</IfModule>

<IfModule mod_dir.c>
    DirectoryIndex index.html index.htm index.php index.php3
    index.phtml index.shtml
index.cgi
</IfModule>

AccessFileName .htaccess

<Files ~ "^\\.ht">
    Order allow,deny
    Deny from all
</Files>
<Files ~ "*Chat*">
    Order allow,deny
    Deny from all
</Files>
<Files ~ "*CHAT*">
    Order allow,deny
    Deny from all
</Files>

UseCanonicalName On

<IfModule mod_mime.c>
    TypesConfig /usr/local/apache/conf/mime.types
</IfModule>

DefaultType text/plain

<IfModule mod_mime_magic.c>
    MIMEMagicFile /usr/local/apache/conf/magic
</IfModule>

HostnameLookups Off

ErrorLog /usr/local/apache/logs/error_log
    
LogLevel warn
LogFormat "%h %l %u %t \\"%r\\" %>s %b \\"%{Referer}i\\"
\\"%{User-Agent}
i\\""
combined

LogFormat "%h %l %u %t \\"%r\\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
LogFormat "%v %{%m:%d}t %b" aol02
CustomLog /usr/local/apache/logs/access_log common

ServerSignature On

<IfModule mod_alias.c>
    Alias /icons/ "/usr/local/apache/icons/"
    <Directory "/usr/local/apache/icons">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</IfModule>

<IfModule mod_autoindex.c>
    IndexOptions FancyIndexing
    AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
    AddIconByType (TXT,/icons/text.gif) text/*
    AddIconByType (IMG,/icons/image2.gif) image/*
    AddIconByType (SND,/icons/sound2.gif) audio/*
    AddIconByType (VID,/icons/movie.gif) video/*
    AddIcon /icons/binary.gif .bin .exe
    AddIcon /icons/binhex.gif .hqx
    AddIcon /icons/tar.gif .tar
    AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
    AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
    AddIcon /icons/a.gif .ps .ai .eps
    AddIcon /icons/layout.gif .html .shtml .htm .pdf
    AddIcon /icons/text.gif .txt
    AddIcon /icons/c.gif .c
    AddIcon /icons/p.gif .pl .py
    AddIcon /icons/f.gif .for
    AddIcon /icons/dvi.gif .dvi
    AddIcon /icons/uuencoded.gif .uu
    AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
    AddIcon /icons/tex.gif .tex
    AddIcon /icons/bomb.gif core

    AddIcon /icons/back.gif ..
    AddIcon /icons/hand.right.gif README
    AddIcon /icons/folder.gif ^^DIRECTORY^^
    AddIcon /icons/blank.gif ^^BLANKICON^^
    DefaultIcon /icons/unknown.gif
    ReadmeName README
    HeaderName HEADER
    IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
</IfModule>

<IfModule mod_mime.c>

    AddEncoding x-compress Z
    AddEncoding x-gzip gz tgz
    AddLanguage da .dk
    AddLanguage nl .nl
    AddLanguage en .en
    AddLanguage et .ee
    AddLanguage fr .fr
    AddLanguage de .de
    AddLanguage el .el
    AddLanguage he .he
    AddCharset ISO-8859-8 .iso8859-8
    AddLanguage it .it  
    AddLanguage ja .ja
    AddCharset ISO-2022-JP .jis
    AddLanguage kr .kr
    AddCharset ISO-2022-KR .iso-kr
    AddLanguage no .no
    AddLanguage pl .po
    AddCharset ISO-8859-2 .iso-pl
    AddLanguage pt .pt
    AddLanguage pt-br .pt-br
    AddLanguage ltz .lu
    AddLanguage ca .ca
    AddLanguage es .es
    AddLanguage sv .se
    AddLanguage cz .cz
    AddLanguage ru .ru
    AddLanguage zh-tw .tw
    AddLanguage tw .tw
    AddCharset Big5         .Big5    .big5
    AddCharset WINDOWS-1251 .cp-1251
    AddCharset CP866        .cp866
    AddCharset ISO-8859-5   .iso-ru
    AddCharset KOI8-R       .koi8-r
    AddCharset UCS-2        .ucs2
    AddCharset UCS-4        .ucs4
    AddCharset UTF-8        .utf8
    
<IfModule mod_negotiation.c>
LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
</IfModule>

    AddType application/x-httpd-php .php .php3 .phtml .html .htm .ph .inc
    AddType application/x-httpd-php-source .phps
    AddType application/x-tar .tgz
    AddHandler cgi-script .cgi .pl
    AddType text/html .shtml
    AddHandler server-parsed .shtml
    
</IfModule>

<IfModule mod_setenvif.c>
    BrowserMatch "Mozilla/2" nokeepalive

    BrowserMatch "MSIE 4\\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
    BrowserMatch "RealPlayer 4\\.0" force-response-1.0
    BrowserMatch "Java/1\\.0" force-response-1.0
    BrowserMatch "JDK/1\\.0" force-response-1.0
    BrowserMatch "Webzip" go_out
    BrowserMatch "WebZip" go_out
    BrowserMatch "Teleport" go_out
    BrowserMatch "GetRight" go_out
    BrowserMatch "Wget" go_out
</IfModule>

NameVirtualHost 211.47.67.154

#BandWidthModule On

#<Directory "/home">
#LargeFileLimit 10 153600
#LargeFileLimit 300 51200
#MinBandWidth all -1
#</Directory>

<VirtualHost 211.47.67.154>
   ServerAdmin webmaster at
sysmng.com
   DocumentRoot /home/webmaster/www
   ServerName sysmng.com
   CustomLog "/usr/local/apache/logs/log" "aol02"
   ServerAlias sysmng.com www.sysmng.com
</VirtualHost>


-------------------------------------------------------------------------
-----

9. 기본 보안 셋팅

9.1 불필요한 파일 퍼미션 설정

chmod 700 /usr/bin/finger
chmod 700 /usr/bin/nslookup
chmod 700 /usr/bin/gcc
chmod 700 /usr/bin/cc
chmod 700 /usr/bin/suidperl
chmod 700 /usr/bin/whereis
chmod 700 /usr/bin/sperl5.6.0
chmod 700 /usr/bin/c++
chmod 700 /usr/bin/make
chmod 700 /usr/bin/finger
chmod 700 /usr/bin/pstree
chmod 700 /usr/bin/rlog
chmod 700 /usr/bin/rlogin
chmod 700 /usr/bin/which
chmod 700 /usr/bin/who
chmod 700 /usr/bin/w
chmod 700 /bin/mail

chmod 700 /bin/ps
    
9.2 setuid,setgid 파일 퍼미션 설정
    
일단 모든 setuid,setgid 를 검색한다.
    
# find / -type f \\( -perm -04000 -o -perm -02000 \\)
    
/bin/su
/usr/bin/passwd
/usr/sbin/sendmail

이정도를 남겨두고 모두 700 으로 퍼미션을 막는다.

/bin/su 는 관리자 계정만 사용할수 있도록 하자.
root 권한을 얻을수 있는 계정이 많을수록 안좋다.

# chgrp wheel /bin/su
# chmod 4750 /bin/su

/usr/bin/telnet 명령어도 관리자 계정만 사용할수 있도록 하자.
아무나 사용할수 있으면 해킹에 이용될수가 있다.
  
# chgrp wheel /usr/bin/telnet
# chmod 750 /usr/bin/telnet
  
9.3 디렉토리 퍼미션 설정  

웹호스팅 서버는 여러개의 계정을 가지고 있기 때문에 다른 사람의 데이터를
철저히 보호해야 한다. 기본 셋팅에서는 일반 사용자가 다른 사용자의 데이터
를 보는가 하면..시스템 설정 파일까지 볼수가 있다. 이는 피해야 할것이다.

# chmod 711 /
# chmod 711 /home
# chmod 711 /var
# chmod 711 /var/log
# chmod 711 /etc
# chmod 700 /root

이밖에 보안상 문제가 있다는 프로그램이나 kernel 은 필히 패치를 시켜야
할것이다. 그리고 항상 시스템 관리자의 부지런한 관심히 필요할것이다.

이정도면 기본 서버 셋팅 정도는 되었다고 본다.

Writer profile
author image
-아랑 -

트랙백 주소 : 이 글에는 트랙백을 보낼 수 없습니다

About

by 서진우

Counter

· Total
: 4690202
· Today
: 878
· Yesterday
: 953