'linux'에 해당되는 글 4건

  1. 2009.08.01 디스크 쿼타 지정
  2. 2009.08.01 실행권한 없는 /tmp 파티션 만들기
  3. 2009.08.01 리눅스 / 솔라리스 IP 변경 방법 (2)
  4. 2009.08.01 Linux APM 설치 (1)

디스크 쿼타 지정

Linux & Solaris 2009.08.01 21:36 posted by JP™


디스크 쿼타
  ; 사용자 디스크 할당 제한 (block , 파일갯수)
 
 
 
 
1. 커널지원여부
 
2. fstab 옵션추가 (usrquota,grpquota) : # vi /etc/fstab
 
3. remount (umount , mount) : # mount -o remount /home
 
4. 데이터베이스 파일생성(quota.user , quota.group) :
  # touch quota.user
  # chmod go= quota.user
  # quotacheck -avum   
  # convertquota -u /home    
 
5. 사용자마다 적용수치 기록 : # edquota test1   
  # repquota -au
  

 

 

(예제)
 
# vi /etc/fstab    -- fstab 옵션 추가 입력 ( usrquota) , 그룹은 (grpquota)
 
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
none                   /dev/pts               devpts gid=5,mode=620  0 0
LABEL=/home             /home                   ext3    defaults,usrquota        1 2
LABEL=/opt              /opt                    ext3    defaults        1 2
none                    /proc                   proc    defaults        0 0
none                    /dev/shm                tmpfs   defaults        0 0
LABEL=/usr              /usr                    ext3    defaults        1 2
/dev/hda6               swap                    swap    defaults        0 0
/dev/cdrom              /mnt/cdrom              udf,iso9660 noauto,owner,kudzu,ro 0 0
# /dev/cdrom          /opt/cdrom       udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu 0 0

 
 
 
# mount -o remount /home  -- 리마운트

 
 
[root@h179 patch]# mount
/dev/hda3 on / type ext3 (rw)
none on /proc type proc (rw)
usbdevfs on /proc/bus/usb type usbdevfs (rw)
noneon/dev/ptstypedevpts(rw,gid=5,mode=620)
/dev/hda8 on /home type ext3 (rw,usrquota)
none on /dev/shm type tmpfs (rw)
/dev/hda5 on /usr type ext3 (rw)
/dev/hda2 on /boot type ext3 (rw)
/dev/hda6 on /opt type ext3 (rw)
 
 
 
[root@h179 patch]# cd ..
[root@h179 home]# touch quota.user   -- /home 으로 와서 quota.usr 파일 생성 ( 그룹은 quota.group)
 
 
 
 
[root@h179 home]# chmod go= quota.user   -- go 의 권한을 모두 뺀다 (다른 유저들이 파일내용을 볼수없도록 하기위해)
[root@h179 home]# ls -al quota.user
-rw-------    1 root     root            0  5월 26 15:25 quota.user
 
 
 
[root@h179 home]# quotacheck -avum   
  -- 현재 quota 상태를 체크한다
  -- avum 에서 u가 user를 뜻한다. (그룹은 -avgm 으로 한다.)
  -- 오류메세지가 나면 -f 옵션을 주어 재명령한다.

quotacheck: WARNING - Quotafile /home/quota.user was probably truncated. Can't save quota settings...
quotacheck: Scanning /dev/hda8 [/home] done
quotacheck: Checked 86 directories and 387 files
 
 
 
[root@h179 home]# convertquota -u /home    
  -- quota.user 파일을 aquota.user 로 변환
  -- 리눅스 쿼터 데이터파일은 aquota.user 파일을 지원하므로 변환해주어야한다. (단순복사는 안된다)       
[root@h179 home]# ls
  aquota.user       linux1       quota.user
 
 
 
 
[root@h179 home]# repquota -au   -- 사용자들의 디스크할당 정도를 출력해본다
*** Report for user quotas on device /dev/hda8
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --   26256       0       0            408     0     0
linux1    --      44       0       0             11     0     0
test      --      32       0       0              8     0     0
test1     --      20       0       0              5     0     0
test4     --      36       0       0             10     0     0
test5     --      32       0       0              8     0     0
test8     --      28       0       0              7     0     0
test9     --      32       0       0              8     0     0
test3     --      28       0       0              7     0     0
 
※ 0은 무한대를 의미
block : 현제 사용중인 블럭량(단위 : KByte)
soft : 보통의 경우 사용자가 사용할 수 있는 최대용량(사용량경고)
  ※ 만약 여기에 지정한 용량이 hard 에 지정한 값보다 작을 경우
  hard용량까지 지정한 유예기간(grace period)동안은 초과가능
hard : 블럭 사용 제한량(단위 : KByte)


inodes : 현제 사용중인 파일 수
soft : 파일 사용량 경고
hard : 파일 사용량 제한

soft => 보통의 경우 사용자가 사용할 수 있는 최대 용량을 나타낸다. 만약 여기에 지정한 용량이 hard
에 지정한 값보다 작을 경우 hard용량까지 지정한 유예기간(grace period)동안은 초과가능

hard=> 실제 사용자가 최대로 사용할 수 있는 용량(KB)를 의미한다.

inodes=> 현재 사용중인 inode를 나타낸다.

soft=> 사용자에게 지정하는 inode의 값으로 파일또는 디렉토리를 생성할 수 있는 갯수

hard=> 절대 초과할수 없는 inode값으로 사용자가 생성할수 있는 파일 또는 디렉토리의 최대값이다.

 


[root@h179 home]# edquota test1  -- test1 사용자의 디스크할당을 편집한다.

[root@h179 home]# edquota -p test1 test2 test3 -- test1 사용량을 test2 test3 에 똑같이 배정

★ 디스크할당을 해줄 계정은 그 디스크내에 생성되어 있어야만 한다.
 
[root@h179 home]# repquota -au  -- 편집된 test1의 디스크할당을 출력한다.
*** Report for user quotas on device /dev/hda8
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --   26256       0       0            408     0     0
linux1    --      44       0       0             11     0     0
test      --      32       0       0              8     0     0
test1     --      20    1000    1500              5    10    15
test4     --      36       0       0             10     0     0
test5     --      32       0       0              8     0     0
test8     --      28       0       0              7     0     0
test9     --      32       0       0              8     0     0
test3     --      28       0       0              7     0     0
 
 
 
 
[root@h179 home]# quotaon /home   -- 디스크할당을 적용시킨다.
 
 
 
 
※ file limits - soft : 지정해준 숫자만큼 파일갯수가 늘어나면 경고메세지를 출력한다.
※ file limits - hard : 지정해준 숫자까지만 파일을 생성할수 있다
※ Block limits - 파일의 용량에 관계된다.
※ [root@h179 home]# quotaoff /home   -- 디스크할당을 해제한다.

 


※ 아래 설정을 위해서는 /tmp 파티션이 따로 잡혀 있어야 합니다.


실행권한 없는/tmp  파티션 만들기

웹응용프로그램(apache) 취약성을 이용한 웹 해킹에 따른 방지 방법입니다.


tmp 디렉토리로 /tmp 를 사용하기도 합니다.
하지만 일부 버그를 이용하여 /tmp 파일에 스크립트를 넣고 실행 시키는 경우가 많습니다.
 

이에따라 /tmp 디렉토리를 다시 생성, 보안설정을 하여 마운트 하는 방법을 설명합니다.
 

1. /tmp 로 쓰이게될 100MB의 용량을 생성한다. 만약 더 큰 용량을 원한다면 count 사이즈를 높히면 됩니다.
   $ dd if=/dev/zero of=tmphdd bs=1024 count=100000

2. 파일시스템을 만들고 (-j : ext 3 , 무옵션 : ext2)
   $ /sbin/mke2fs -j /dev/tmphdd

   완료가 되면 파티션 생성과 파일시스템이 만들어 지며


3. rsync 또는 cp를 사용하여 임시 디렉토리를 만들고 데이터를 백업합니다.
   이제 기존 데이타를 옮기고

   $ rsync -av /tmp /var/tmp_BAK

   $ chmod 1777 /tmp/

4. tmphdd 를 마운트 할때 옵션 몇가지를 추가합니다.
   $ mount -o loop,noexec,nosuid,rw /dev/tmphdd /tmp

   실행권한을 주지 않고 마운트 합니다.

5. 기존자료를 복구합니다.
   $ cd /tmp

   $ rsync -av /var/tmp_BAK/tmp/ ./
 

6. 백업되었던 파일을 삭제 합니다.

   $ rm -rf /var/tmp_BAK/tmp/

7. 부팅시 fstab 에 추가해야 다음 리붓에도 적용시키기 위해 /etc/fstab 에 한줄의 라인을 추가합니다.

   $ /dev/tmphdd /tmp ext3 loop,noexec,nosuid,rw 0 0

  

8. 완료 후 테스트는 /tmp 디렉토리에 실행 파일을 넣고 실행시켜 봅니다.

   $ /tmp/a.out


   bash: ./a.out: Permission denied


 

9. 아파치도 재실행하여 웹로그인이 되는지 확인하고

 


-솔라리스10 IP 변경

$  chmod 777 /etc/inet/ipnodes
$ vi /etc/inet/ipnodes
$ chmod 444 /etc/inet/ipnodes
$ ifconfig bge0 xxx.xxx.xxx.xxx up

 

-리눅스 IP 변경

$ vi /etc/sysconfig/network-scripts/ifcfg-eth0
IP 편집
$ /etc/rc.d/init.d/network restart

-리눅스 기본 G/W 추가
$ route add default gw 121.254.172.1 dev eth0


- 리눅스 바로적용
$ ifconfig eth0 IP netmask 255.255.255.0


솔라리스 추가
솔라리스에서 DNS, IP 및 기타 Gateway 등 네트워크 설정 방법입니다.

 

* Solaris 에서 변경해야 될 파일들

  $ /etc/nodename              # if you need to change the name of the machine 
  $ /etc/hostname.interface    # eg. hostname.hme0 
  $ /etc/hosts                # Update to reflect new name 
  $ /etc/nsswitch.conf        # Update if your name resolution 
  $ /etc/resolv.conf   

  # Update if your name servers/domain changed (DNS only) 
  $ /etc/defaultdomain            # set you default domain 
  $ /etc/defaultrouter            # Set the default router's IP 
  $ /etc/inet/networks            # Set your network name 
  $ /etc/inet/netmasks            # Set your network number 
  $ /etc/n/etc/net/ticots/hosts    # For the streams-level loopback 
  $ /etc/ticlts/hosts              # For the streams-level loopback 
  $ /etc/net/ticotsord/hosts      # For the streams-level loopback

* LAN 사용할수 있도록
$ ifconfig DEVICE plumb

* Solaris 에서 IP 변경 작업

  $ /etc/hosts 파일을 수정함. 
  $ /etc/hostname.hme0 랜카드에 적용되는 호스명을 명시

  $ ifconfig hme0 [ip] netmask 0xffffff00 broadcast + up

  ex)
  --- 영구적인 변경
  $ vi /etc/hostname.hme0
  credilist

  $ vi /etc/hosts
  127.0.0.1      localhost
  211.192.191.178 credilist      loghost

  --- 임시변경시 (컴퓨터가 켜져있는 동안, 리부팅되면 정보가 사라짐)
  $ ifconfig -a
  lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
  hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 211.192.191.178 netmask ffffff00 broadcast 211.192.191.255

  $ ifconfig hme0 211.192.191.171 netmask 0xffffff00 broadcast + up

* Solaris 에서 GATEWAY 변경 작업

  $ netstat -rn
  $ route add default [gateway ip]
  $ vi /etc/defaultrouter
  [gateway ip]

  ex)
  --- 영구적인 변경
  $ vi /etc/defaultrouter
  211.192.191.177

  --- 임시적인 변경
$ route add default 211.192.191.177


* Solaris 에서 DNS 변경 작업

  ex)
  $ vi /etc/resolv.conf
  nameserver 168.126.63.1
  nameserver 168.126.63.2
  nameserver 211.169.248.153

  $ vi nsswitch.conf
  # hosts: 부분을 수정한다.
  # consult /etc "files" only if nis is down.
  hosts:      files dns

* 설정 변경 후 reboot , 시스템에 관한 내용이 변경된경우
  reboot


  1. Commented by all kinds of jerseys at 2010.08.14 17:13

    솔라리스, 솔라리스 IP변경

  2. Commented by cheap jerseys at 2013.04.23 17:54

    [url=http://www.wholesalecheapjerseysgo.us]Cheap Jerseys[/url]
    [url=http://www.wholesalecheapjerseysgo.us]Cheap Jerseys from china[/url]
    [url=http://www.wholesalecheapjerseysgo.us]Cheap Jerseys wholesale[/url]
    [url=http://www.wholesalecheapjerseysgo.us]Cheap china Jerseys[/url]
    [url=http://www.wholesalecheapjerseysgo.us]Cheap Jerseys free shipping[/url]
    [url=http://www.wholesalecheapjerseysgo.us]Cheap nfl Jerseys[/url]
    [url=http://www.wholesalecheapjerseysgo.us]china Jerseys[/url]
    [url=http://www.wholesalecheapjerseysgo.us]china wholesale cheap Jerseys[/url]
    [url=http://www.wholesalecheapjerseysgo.us/cheap-nike-nfl-jerseys-c-1995.html]Cheap Nike NFL Jerseys[/url],
    [url=http://www.wholesalecheapjerseysgo.us/cheap-nike-nfl-jerseys-nike-nfl-game-c-1995_1155.html]Cheap Nike NFL Game Jerseys[/url],
    [url=http://www.wholesalecheapjerseysgo.us/cheap-nike-nfl-jerseys-nike-nfl-elite-c-1995_1190.html]Cheap Nike NFL Elite Jerseys[/url],
    [url=http://www.wholesalecheapjerseysgo.us/cheap-nike-nfl-jerseys-nike-nfl-limited-c-1995_2269.html]Cheap Nike NFL Limited Jerseys[/url],
    [url=http://www.wholesalecheapjerseysgo.us/cheap-nike-nfl-jerseys-nfl-tshirt-c-1995_1546.html]Cheap NFL T-shirt[/url],
    [url=http://www.wholesalecheapjerseysgo.us/cheap-nike-nfl-jerseys-kids-nike-nfl-jerseys-c-1995_1188.html]Cheap Kids Nike NFL Jerseys[/url],
    [url=http://www.wholesalecheapjerseysgo.us/cheap-nike-nfl-jerseys-nike-kids-limited-jerseys-c-1995_2433.html]Cheap Nike Kids Limited Jerseys[/url],
    [url=http://www.wholesalecheapjerseysgo.us/cheap-nike-nfl-jerseys-2013-nfl-super-bowl-c-1995_2600.html]2013 Cheap NFL Super Bowl Jerseys[/url],
    [url=http://www.wholesalecheapjerseysgo.us/2012-knitting-wool-hat-c-2489.html]Cheap 2012 Knitting Wool Hat[/url],
    [url=http://www.wholesalecheapjerseysgo.us/2012-knitting-wool-hat-women-knitting-wool-hats-c-2489_2495.html]Cheap Women Knitting Wool Hats[/url],
    [url=http://www.wholesalecheapjerseysgo.us/2012-knitting-wool-hat-brand-knitting-wool-hats-c-2489_2490.html]Cheap Brand Knitting Wool Hats[/url],
    [url=http://www.wholesalecheapjerseysgo.us/2012-knitting-wool-hat-mlb-knitting-wool-hats-c-2489_2491.html]Cheap MLB Knitting Wool Hats[/url],
    [url=http://www.wholesalecheapjerseysgo.us/2012-knitting-wool-hat-mlb-winter-hats-c-2489_2615.html]Cheap MLB Winter Hats[/url],
    [url=http://www.wholesalecheapjerseysgo.us/2012-knitting-wool-hat-nba-knitting-wool-hats-c-2489_2492.html]Cheap NBA Knitting Wool Hats[/url],
    [url=http://www.wholesalecheapjerseysgo.us/2012-knitting-wool-hat-nba-winter-hats-c-2489_2618.html]Cheap NBA Winter Hats[/url],
    [url=http://www.wholesalecheapjerseysgo.us/2012-knitting-wool-hat-nfl-knitting-wool-hats-c-2489_2493.html]Cheap NFL Knitting Wool Hats[/url],
    [url=http://www.wholesalecheapjerseysgo.us/2012-knitting-wool-hat-nfl-winter-hats-c-2489_2616.html]Cheap NFL Winter Hats[/url],
    [url=http://www.wholesalecheapjerseysgo.us/2012-knitting-wool-hat-nhl-knitting-wool-hats-c-2489_2494.html]Cheap NHL Knitting Wool Hats[/url],
    [url=http://www.wholesalecheapjerseysgo.us/2012-knitting-wool-hat-nhl-winter-hats-c-2489_2617.html]Cheap NHL Winter Hats[/url],
    [url=http://www.wholesalecheapjerseysgo.us/nba-jerseys-c-1287.html]Cheap NBA Jerseys[/url],
    [url=http://www.wholesalecheapjerseysgo.us/nba-jerseys-nba-hats-c-1287_2187.html]Cheap NBA Hats[/url],
    [url=http://www.wholesalecheapjerseysgo.us/nba-jerseys-nba-tshirt-c-1287_2135.html]Cheap NBA T-shirt[/url],
    [url=http://www.wholesalecheapjerseysgo.us/nba-jerseys-nba-shorts-c-1287_1295.html]Cheap NBA Shorts[/url],
    [url=http://www.wholesalecheapjerseysgo.us/mlb-jerseys-c-20.html]Cheap MLB Jerseys[/url],
    [url=http://www.wholesalecheapjerseysgo.us/mlb-jerseys-mlb-fitted-hats-c-20_2625.html]Cheap MLB Fitted Hats[/url],
    [url=http://www.wholesalecheapjerseysgo.us/mlb-jerseys-mlb-hats-c-20_2184.html]Cheap MLB Hats[/url],
    [url=http://www.wholesalecheapjerseysgo.us/mlb-jerseys-mlb-tshirt-c-20_2317.html]Cheap MLB T-shirt[/url],
    [url=http://www.wholesalecheapjerseysgo.us/nfl-jerseys-c-1996.html]Cheap NFL Jerseys[/url],
    [url=http://www.wholesalecheapjerseysgo.us/nhl-jerseys-c-1077.html]Cheap NHLJerseys[/url],
    [url=http://www.wholesalecheapjerseysgo.us/nhl-jerseys-nhl-hats-c-1077_2191.html]Cheap NHL hats[/url],
    [url=http://www.wholesalecheapjerseysgo.us/nhl-jerseys-nhl-tshirt-c-1077_2257.html]Cheap NHL T-Shirt[/url],
    [url=http://www.wholesalecheapjerseysgo.us/nhl-jerseys-nhl-kids-jerseys-c-1077_2015.html]Cheap NHL Kids Jerseys[/url],
    [url=http://www.wholesalecheapjerseysgo.us/soccer-jerseys-c-1152.html]Cheap Soccer Jerseys[/url],
    [url=http://www.wholesalecheapjerseysgo.us/ncaa-jerseys-c-2096.html]Cheap NCAA Jerseys[/url],
    [url=http://www.wholesalecheapjerseysgo.us/iphone-sports-case-c-2538.html]Cheap Iphone Sports Case[/url],
    [url=http://www.wholesalecheapjerseysgo.us/customed-jerseys-c-1580.html]Cheap Customed Jerseys[/url],

Linux APM 설치

Linux & Solaris 2009.08.01 10:07 posted by JP™

CentOS 5 기준 입니다.


www.apache.org
www.php.net
www.mysql.com

위 사이트를 통해 각 소스를 다운로드 받는다.

$ tar zxvf http_*
$ tar zxvf php_*
$ tar zxvf mysql_*

위와 같이 모두 압축을 풀어 준다.

-- gcc 관련 컴파일 에러시
$ yum install gcc
$ yum install gcc-c++

-- termcap 관련 컴파일 에러시...
$ yum install ncurses-devel

-mysql yum 설치(패키지 설치가 성능이 더 좋다고 알려져 있음)
$ yum install mysql*
※  MySQL  설치 방법이 틀리면 PHP 컴파일이 조금 틀립니다. 아래 PHP 컴파일시 주석 달겠습니다.
 

-- mysql 컴파일
$ cd mysql_*
$ ./configure --prefix=/usr/local/mysql(설치위치) --enable-shared  --with-charset=euckr --localstatedir=/home/mysql/data(데이터 저장 위치)


※ 컴파일시 아래 에러 발생시 처리방법
checking "LinuxThreads"... "Not found"
configure: error: This is a linux system and Linuxthreads was not
found. On linux Linuxthreads should be used. Please install Linuxthreads
(or a new glibc) and try again. See the Installation chapter in the
Reference Manual for more information.

가 나타나면....

$  vi ./usr/include/pthread.h 파일에서
아무데나
/* Linuxthreads */
를 입력


$ groupadd mysql
$ useradd -g mysql mysql

저장될 디렉토리에 권한을 mysql 으로 준다.
$ chown mysql:mysql /home/mysql/data 

-- apache 1.3.x 설치
$ cd ../http_*
$ ./configure --prefix=/usr/local/httpd --enable-rule=SHARED_CORE --enable-module=so --enable-shared=max


-- apache 2.1.x 설치
$ cd ../http_*
$ ./configure --prefix=/usr/local/httpd --enable-so --with-mpm=prefork --enable-modules=so


-php 관련 추가 패키지 설치

$ yum install curl-devel

$ yum install gd-devel

$ yum install libxml2-devel

 

-- PHP 컴파일

$ ./configure --prefix=/usr/local/php \              # php 설치 위치
--with-config-file-path=/usr/local/httpd/conf \   # php.ini 파일 위치 지정
--with-mysql=/usr/local/mysql \                # mysql 설치 위치 MySQL 컴파일시 옵션(아래 사인 삭제)
--with-mysql                                           # mysql 설치 위치 MySQL 패키지 설치시 옵션(윗 라인 삭제)

--with-apxs=/usr/local/httpd/bin/apxs \      # apache 1.3.x 버전 설치시 옵션(아래 라인 삭제)
--with-apxs2=/usr/local/httpd/bin/apxs\      # apache 2.x 버진 설치시 옵션(윗 라인 삭제)

--enable-sysvshm=yes \
--enable-sysvsem=yes \
--enable-debug=no \
--enable-ftp \
--enable-mbstring \
--enable-sockets \
--enable-exif \
--enable-wddx \
--enable-calendar \
--enable-soap \
--with-openssl \
--with-iconv \
--with-libxml-dir \
--with-curl \
--with-zlib-dir \
--with-png-dir \
--with-jpeg-dir \
--with-ttf \
--with-freetype-dir \
--with-gd \
--enable-gd-native-ttf


※ 위 옵션은 필요에 따라 추가 / 제거 할 수 있다.


$ make
$ make install

이상없이 컴파일이 완료 되면 환경 파일을 컴파일시 지정한 환경설정파일 위치에 복사 한다.
$ cp php.ini-dist /usr/local/httpd/conf/php.ini

 

-- 환경설정 확인 및 추가
$ vi /usr/local/httpd/conf/httpd.conf

LoadModule php5_module libexec/libphp5.so <--- 있는지 확인

내용추가
DirectoryIndex index.html index.htm index.php index.phtml     #index 파일로 사용할 파일 리스트

AddType application/x-httpd-php .php .html .htm .phtml .php3 .php4   # php로 컴파일할 확장자 리스트
AddType application/x-httpd-php-source .phps                                 # php소스를 그대로 보여줄 확장자 리스트


# apache 홈 디렉토리 변경시, 403에러 대처법
$ vi /usr/local/httpd/conf/httpd.conf

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

Deny from all (삭제 : 기본설정임)
Allow from all (추가)


$ /usr/local/httpd/bin/apachectl start


  1. Commented by NBA basketball jerseys online at 2010.08.14 17:11

    카테고리의 다른 글