if($strFind == 'ㄱ'){
  $strWhere = "and (uname RLIKE '^(ㄱ|ㄲ)' OR ( uname >= '가' AND uname < '나' )) order by uname";
 }else if($strFind == 'ㄴ'){
  $strWhere = "and (uname RLIKE '^ㄴ' OR ( uname >= '나' AND uname < '다' )) order by uname";
 }else if($strFind == 'ㄷ'){
  $strWhere = "and (uname RLIKE '^(ㄷ|ㄸ)' OR ( uname >= '다' AND uname < '라' )) order by uname";
 }else if($strFind == 'ㄹ'){
  $strWhere = "and (uname RLIKE '^ㄹ' OR ( uname >= '라' AND uname < '마' )) order by uname";
 }else if($strFind == 'ㅁ'){
  $strWhere = "and (uname RLIKE '^ㅁ' OR ( uname >= '마' AND uname < '바' )) order by uname";
 }else if($strFind == 'ㅂ'){
  $strWhere = "and (uname RLIKE '^ㅂ' OR ( uname >= '바' AND uname < '사' )) order by uname";
 }else if($strFind == 'ㅅ'){
  $strWhere = "and (uname RLIKE '^(ㅅ|ㅆ)' OR ( uname >= '사' AND uname < '아' )) order by uname";
 }else if($strFind == 'ㅇ'){
  $strWhere = "and (uname RLIKE '^ㅇ' OR ( uname >= '아' AND uname < '자' )) order by uname";
 }else if($strFind == 'ㅈ'){
  $strWhere = "and (uname RLIKE '^(ㅈ|ㅉ)' OR ( uname >= '자' AND uname < '차' )) order by uname";
 }else if($strFind == 'ㅊ'){
  $strWhere = "and (uname RLIKE '^ㅊ' OR ( uname >= '차' AND uname < '카' )) order by uname";
 }else if($strFind == 'ㅋ'){
  $strWhere = "and (uname RLIKE '^ㅋ' OR ( uname >= '카' AND uname < '타' )) order by uname";
 }else if($strFind == 'ㅌ'){
  $strWhere = "and (uname RLIKE '^ㅌ' OR ( uname >= '타' AND uname < '파' )) order by uname";
 }else if($strFind == 'ㅍ'){
  $strWhere = "and (uname RLIKE '^ㅍ' OR ( uname >= '파' AND uname < '하' )) order by uname";
 }else if($strFind == 'ㅎ'){
  $strWhere = "and (uname RLIKE '^ㅎ' OR ( uname >= '하')) order by uname";
 }else{
  $strWhere = "order by uname";
 } 

 $strQuery = "SELECT * FROM table_name WHERE ${strWhere}";
 $lnkResult = mysql_query($strQuery); 

Posted by 달팽이맛나
,

[MySQL] alter 명령어

DB/MYSQL 2009. 4. 2. 10:22

1. 테이블에 새로운 컬럼 추가

alter table tablename add column [추가할 컬럼명] [추가할 컬럼 데이타형]

2. 테이블에 컬럼타입 변경하기

alter table tablename modify column [변경할 컬럼명] [변경할 컬럼 타입]

3. 테이블에 컬럼이름 변경하기

alter table tablename change column [기존 컬럼명] [변경할 컬럼명] [변경할 컬럼타입]

4. 테이블에 컬럼 삭제하기

alter table tablename drop column [삭제할 컬럼명]

5. 테이블컬럼에 인덱스 주기

alter table tablename add index 인덱스명(인덱스를 줄 컬럼1 , 인덱스를 줄 컬럼2, ... )

6. 테이블컬럼에 인덱스 삭제하기

alter table tablename drop index 인덱스명;

7. 테이블에 Primary Key 만들기

alter table tablename add primary key (키를 줄 컬럼명1 , 키를 줄 컬럼명2, ...)

8. 테이블에 Primary Key 삭제하기

alter table tablename drop primary key;

9. 테이블명 바꾸기

alter table 기존테이블명 rename 새로운테이블명

10. 인덱스 생성

CREATE [UNIQUE] INDEX index_name ON tbl_name (col_name[(length]),... )

11. 인덱스 삭제

DROP INDEX index_name

Posted by 달팽이맛나
,
이미지 맵의 형태
 이미지 맵의  형태는 4가지로 나누어 집니다. 사각형(rect) , 원형(circle) , 다각형(poly), 기본형(default)으로 나누어 지는데 단순히 이미지 맵의 모양에 따라 분류된 것이지만 좌표값을 구할때는 형태마다 각각 그 좌표값을 구하는 방법이 다르답니다.

이미지 맵 태그 ( <map></map> )
 이미지 맵을 만들 때 사용하는 태그는 당근 이미지와 링크를 사용하기 때문에 이미지태그와 링크태그가 사용됩니다. 단 이미지태그(img태그)는 그대로 사용되는데...링크태그는 <a>태그가 아니라 <area>태그를 사용합니다.  일단 이미지 맵이 어떤 태그에 의해서 어떻게 만들어 지는지 그 구조를 살펴보도록 하겠습니다.^^

<img src="이미지주소" usemap="#맵이름">  ① 이미지 태그 부분. 
<map name="맵이름">  ② 이미지 맵 태그 시작부분.
<area shape="맵종류" coords="좌표값" href="링크될 주소">  ③ 맵 종류, 좌표값, 링크될 곳 설
     정 부분.
</map>  ④ 이미지 맵 태그 끝 부분.

 ① 이미지 태그 부분
 이미지 맵이 사용될 이미지가 불러주는 곳입니다. 주의 할 점은 뒤에 usemap="#맵이름" 속성을 반드시 넣어주어야 한다는 것입니다. 맵이름은 여러 분 맘대로 정해서 넣어 주시면 됩니다. 단, 맵이름은 항상 같아야 하며, 가급적이면 영문소문자로 정해주시기 바랍니다. 웹페이지 파일명 만들때도 마찬가지인데.... 한글로 해도 되긴 되는데 인터넷이란게 원래 영문권 나라에서 만들어진 것이기에 한글로 해놓으면 브라우저가 가끔식 인식을 못하는 경우가 있기 때문입니다.
 ② 이미지 맵 태그 시작부분
 본격적으로 이미지 맵 태그가 시작되는 부분입니다. 이미지 맵 태그는 <map></map> 입니다. 이 부분에서는 위에 ①부분에서 지정해주었던 맵이름을 name="맵이름" 으로 넣어 줍니다. 이건 이미지와 이미지 맵태그를 서로 연결시켜주는 역할을 하기 때문에 아주 중요합니다. 반드시 같은 맵이름을 넣어주어야 하고요... 주의할 점은 "#" 표시를 빼준다는 것입니다.
 
 다음 페이지에서 계속 설명드리도록 하겠습니다....... go! go!

Posted by 달팽이맛나
,
◇ 가상 호스트 설정

* 네임기반의 virtual host

www.a.two.oracle         ftp.a.two.oracle

이 두 개의 도메인의 IP는 172.30.4.43으로 동일하다.

이를 구분해 주기 위해서 가상호스트를 사용한다.

* DNS 서버에 호스트 등록

    [/var/named/chroot/var/named/two.oracle] >  www.a    IN A     172.30.4.43

                                                                        ftp.a        IN A     172.30.4.43 을 추가

   저장 후 , service named restart

 

* 웹 페이지가 저장될 기본 폴더를 생성

    [/] > mkdir /home1/www

    [/] > mkdir /home1/ftp

 

* httpd.conf 파일을 수정

    [/usr/local/apache/conf/httpd.conf] > 142line #servername 172.30.4.43:80

                                                            133line ServerAdmin you@example.com <- 주석 풀기

                                                            149line DocumentRoot "/usr/local/apache/htdocs"

                                                            <Directory /home1>
                                                                    Options Indexes FollowSymLinks
                                                                    AllowOverride None
                                                                    Order allow,deny
                                                                    Allow  from all ((모든 사람들이 접근이 가능하게.
                                                            </Directory> ((추가 내용

                                                            441line # Virtual hosts
                                                            442line    Include conf/extra/httpd-vhosts.conf <- 주석 풀기

                                                           

    [/usr/local/apache/conf/extra/httpd-vhosts.conf] > 19line NameVirtualHost 172.30.4.43:80

<VirtualHost 172.30.4.43:80>
#    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/home1/www"
    ServerName www.a.two.oracle
#    ServerAlias www.dummy-host.example.com
#    ErrorLog "logs/dummy-host.example.com-error_log"
#    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

<VirtualHost 172.30.4.43:80>
#    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/home1/ftp"
    ServerName ftp.a.two.oracle
#    ErrorLog "logs/dummy-host2.example.com-error_log"
#    CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
↑↑↑

내용 수정

* 전 과정 후에 service network restart

                  service named restart

                  service httpd restart

 

* 확인

               http://www.a.two.oracle   ((/home1/www에 저장된 index.html 파일이 제대로 뜨는지 확인한다.

               http://ftp.a.two.oracle  ((/home1/ftp에 저장된 index.html 파일이 제대로 뜨는지 확인한다.

 

> 제로보드 설치 <

 

* zb4pl8.tgz 파일 받기

* 압축파일이므로 tar xvfz zb4pl8.tgz 로 풀어준다.

* 압축을 풀어주면 zb4pl8 폴더가 생긴다.

* [/down/apm/] > cp -r bbs /home1/www

* [/home1/www] > chmod 707 bbs

* 연결할 DB 생성

* [/home1/www] > mysql -u root -p , 패스워드 입력 후 프롬프트가 mysql> 로 변경된다.

* mysql> create database www;

* mysql> show databases;

* mysql> quit

* 웹 페이지를 열어서 http://www.a.two.oracle/bbs/install.php 를 연다.

* 제로보드 설치 시작페이지가 열린다.

* 제로보드 설치... 완료.

 

> FTP 서버 <

 

* proftph-1.3.1.tar.gz 파일 받기

* zip파일이므로 tar xvfz proftph-1.3.1.tar.gz 로 풀어준다.

* 압축을 풀어주면  proftph-1.3.1 폴더가 생긴다.

* ftp 서버를 사용할 환경을 설정

> [/down/apm/proftpd-1.3.1] > ./configure   --prefix=/usr/local/proftpd ((설치될 경로

                                                                --enable-autoshadow ((사용자 암호를 자동으로 암호화하는 옵션

                                                                --with-modules=mod_ratio ((모듈(dafault값)

* 컴파일 작업

    └> [/down/apm/proftpd-1.3.1] > make;   make install                    

                                                     └> 바이너리파일로           └>인스톨 작업

*확인

     └> [/usr/local] > ls

               ((proftp폴더가 생성되었는지 확인

* proftp 환경 설정하기

   [/etc/proftpd.conf] > 파일 수정

> proftpd.conf <

ServerName          "FTP Server"

ServerType           standalone -> standalone방식으로 실행  ((xinetd방식도 있다.

DefaultServer        on

Port                     21

Umask                 022

MaxInstances       30

User                    nobody ((이미 nobody 계정이 default로 생성되어 있다.

Group                  nobody -> nogroup을 nobody로 변경

DefaultRoot           ~ ((일반유저가 접속하면 경로가 자신의 홈디렉토리가 된다.

AllowOverwrite      on ((파일이 있을 때 같은 이름의 파일이 있으면 겹쳐쓸 것 인가.

AllowStoreRestart  on ((이어올리기 가능

AllowRetrieveRestart   on ((이어받기 가능

#Bar use of SITE CHMOD by default

<Limit SITE_CHMOD>

    DenyAll

</Limit>

 

<Anonymous ~ftp> ((익명의 계정이 접속했을 때의 경로는 ftp 계정의 홈 폴더인 /var/ftp가 된다.

User             ftp

Group           ftp

 

<Anonymous /home1/www>

User             ftp

Group           ftp

 

UserAlias      anonymous ftp

MaxClients    10 "저희 FTP 서버에 접속할 수 있는 수는 %m 개 입니다. 잠시 후 다시 접속해 주세요."

DisplayLogin  welcome.msg

DisplayFirstChdir   .message

 

<Limit WRITE>

    DenyAll

</Limit>

 

↑↑↑↑

파일 저장.

 

*proftp 데몬 시작.

    : [/usr/local/proftpd/sbin] > ./proftpd

    : [/usr/local/proftpd/sbin] > pstree | grep proftpd 로 데몬이 활성화 중인것을 확인한다.

 

*proftp 데몬 중지.

    : [/usr/local/proftpd/sbin] > killall proftd ((해당 데몬 뿐만 아니라 해당 데몬과 관련된 모든 프로세스를 죽인다.

 

Posted by 달팽이맛나
,

 ◇ Mysql , Apache , PHP 설치

> Mysql 설치 <

* mysql-5.0.51a.tar.gz 파일 받기

* zip파일이므로 tar xvfz mysql-5.0.51a.tar.gz 로 풀어준다.

* 압축을 풀어주면 mysql-5.0.51a 폴더가 생긴다.

* rpm -qa | grep mysql

* rpm -e --nodeps 로 지난버전 삭제

* mysql을 사용할 환경을 설정

    └> ./configure --prefix=/usr/local/mysql

                          --with-charset=euckr

                          --localstatedir=/usr/local/mysql/data -> 실제 DB가 저장되는 장소

* 컴파일 작업

    └> make;   make install                    

            └> 바이너리파일로           └>인스톨 작업

* 데이터 저장소 생성

      : /usr/local/mysql/bin -> bin은 mysql관리자 파일이 존재

      : [/usr/local/mysql/bin]>./mysql_install_db -> 데이터 저장소를 생성

            └> /usr/local/mysql/data 폴더 생성 (설정할 때 지정해준 폴더이름, 이곳에 실제 DB가 저장됨)

* 라이브러리 위치 지정

   1)

      : /etc/ld.so.conf.d/mysql.conf 파일 수정

                                      수정 내용 : 추가 ) /usr/local/mysql/lib/mysql

   2)

      : /etc/ld.so.conf 파일을 직접 수정

                                      수정 내용 : 추가 ) /usr/local/mysql/lib/mysql

* 라이브러리 위치 지정 후 저장

      : [/etc/ld.so.conf] > ldconfig ((시간이 조금 걸린다.

 

* 설정 파일 복사

      : [/usr/local/mysql/share/mysql] ((이 경로에 mysql의 메모리 설정 파일이 있다.

      : [/usr/local/mysql/share/mysql] > cp    my-medium.cnf    /etc/my.cnf

* mysql 계정 생성

      : [/usr/local/mysql/share/mysql] > useradd -u 3360 -M -d /usr/local/mysql/data -s /bin/false mysql

                1. 계정 추가 -> useradd

                2. mysql의 기본포트 3360

                3. 로그인 하지 못하게 하고 /bin/false , 기본 디렉토리는 /usr/local/mysql/data 폴더로.

                4. -M 옵션 ; 사용자 계정 경로가 생성되지 않도록 계정 생성. 계정만 추가할 때.

                5. mysql이라는 계정 추가.

      : [/usr/local] chown -R root.mysql /usr/local/mysql

      : [/usr/local] chown -R mysql.mysql /usr/local/mysql/data

* mysql 데몬을 백그라운드로 실행

      : [/usr/local/mysql/bin] > ./mysqld_safe &

 

* 데몬 등록

      : [/usr/local/mysql/bin] > cp /usr/local/mysql/share/mysql.server /etc/init.d/mysql

      : [/etc/init.d] > chkconfig --add mysql

      : [/etc/init.d] > chkconfig --level 5 mysql on

      : [/etc/init.d] > chkconfig --level 3 mysql on

      : [/etc/init.d] > chkconfig --list mysql ((확인

      : [/etc/init.d] > reboot ((재부팅 후

      : [/etc/init.d] > pstree | grep "mysql" ((확인

 

* 심볼릭 링크 걸기 => ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

 

*MySQL로 접속

     : [/usr/local/mysql/bin] > ./mysqladmin -u root password '1234' ※ 여기에서 root는 mysql의 관리자 명.

     : [/usr/local/mysql/bin] > ./mysql -u root -p (enter) => 패스워드 입력 창 => 프롬프트 모양 mysql> 로 변경.

 

> APACHE 설치 <

 

* httpd-2.2.8.tar.gz 파일 받기

* zip파일이므로 tar xvfz httpd-2.2.8.tar.gz 로 풀어준다.

* 압축을 풀어주면 httpd-2.2.8 폴더가 생긴다.

* rpm -qa | grep httpd

* rpm -e --nodeps 로 지난버전 삭제

* apache를 사용할 환경을 설정

    └> ./configure --prefix=/usr/local/apache

                          --enable-mods-shared=most

                          --enable-modules=so

                          --with-apxs2=/usr/local/apache/bin/apxs

                          --enable-module=vhost_alias

* 컴파일 작업

    └> make;   make install                    

            └> 바이너리파일로           └>인스톨 작업

* 라이브러리 위치 지정

      : /etc/ld.so.conf 파일을 직접 수정

                                      수정 내용 : 추가 ) /usr/local/apache/lib

                                                               /usr/local/apache/modules

* 라이브러리 위치 지정 후 저장

      : [/etc/ld.so.conf] > ldconfig ((시간이 조금 걸린다.

* 저장 후 확인

      : [/usr/local/apache] > ls

 

> PHP 설치 <

 

* php-5.2.5.tar.gz 파일 받기

* zip파일이므로 tar xvfj php-5.2.5.tar.gz 로 풀어준다. (bzip2 으로 압축된 파일이므로 j 옵션으로 풀어준다.

* 압축을 풀어주면  php-5.2.5 폴더가 생긴다.

* rpm -qa | grep php

* rpm -e --nodeps 로 지난버전 삭제

* php를 사용할 환경을 설정

    └> [/down/apm/php-5.2.5] > ./configure --prefix=/usr/local/apache/bin/apxs

                                                                --with-mysql=/usr/local/mysql

                                                                --with-config-file-path=/usr/local/apache/conf

                                                                --with-exec-dir=/usr/local/apache/bin

* 컴파일 작업

    └> make;   make install                    

            └> 바이너리파일로           └>인스톨 작업

* 저장 후 확인

      : [/usr/local/apache/modules] > ls

        httpd.exp       libphp5.so    ((파일 확인

* 설정 파일 복사

      : [/down/apm/php-5.2.5] > cp php.ini-dist /usr/local/apache/conf/php-ini

      : [/usr/local/apache/htdocs] > vi index.php ((파일 생성해서 내용 추가

        <?

            phpinfo()

        ?>

* 아파치 웹서버 환경 설정

      : [/usr/local/apache/htdocs] > vi httpd.conf ((파일 수정

      (142line)        severname 수정 > 172.30.4.43 : 80

      (211line)        DirectoryIndex 에 index.php 추가

      (352line)        (밑에 두 줄 추가)

                         AddType application/x-httpd-php .php .php3 .html .htm
                         AddType application/x-httpd-php-source .phps
      : [/usr/local/apache/bin] > ./apachectl start

 

Posted by 달팽이맛나
,

◇ LVM (Logicla Volume Manager)

1. pv (Physical volume)

2. pvcreate

           /dev/sdb

3. vgcreate

4. lvcreate

5. mkfs.ext3 /dev/poly/polylvm

6. mount

◇ LVM(Logical Volume Manager)

1. Physical Volume
   pvcreate device

2. Volume Group
   vgcreate vg_name device1 device2.....

◇         ***** Volume Group Activation *****

   vgchange -a y vg_name --> volumme group 활성화
   vgchange -a n vg_name --> volumme group 비활성화
   vgremove vg_name  --> volume group 해체
   vgdisplay -v vg_name

3. Logical Volume Creation
   lvcreate -L size -n lv_name vg_name
   lvcreate -l PE수 vg_name -n lv_name

◇        ***** Logical Volume Status Check ******

   lvscan

4. Format
   mkfs.ext3 /dev/vg_name/lv_name

5. Mount

◇        ***** LVM 관리 *****

1. VG에 PV 추가
   vgextend vg_name new_PV_name

2. VG에 PV 제거
   vgreduce vg_name device

3. LV 제거
   - umount
   - lvremove /dev/vg_name/lv_name

4. VG_name 바꾸기
   vgrename cur_vg_name new_vg_name

5. PV Status Check
   pvscan

6. LV resize
   lvextend -L+(-)size /dev/vg_name/lv_name
   lvextend -l+(-)PE수 /dev/vg_name/lv_name
   lvreduce -L-size /dev/vg_name/lv_name
   lvreduce -l-PE수 /dev/vg_name/lv_name

Posted by 달팽이맛나
,

◇ HDD 추가하기

>vmware<

1. edit -> HDD 추가하기

2. ▶ Booting

>console<

3. mount                                 --> 정보확인

4. ls /dev/sd*                         --> sd로 시작하는 장치확인

5. fdisk /dev/sdb

         .

         .                                   --> 각종 설정

         .

6. w                                       --> 설정 저장.

7. mkfs.ext3 /dev/sdb1             --> 파일 시스템 포맷

8. mount /dev/sdb1 /second    --> /second 디렉토리에 sdb1 hdd를 장치 연결

9. /etc/fstab 에 장치 추가

 

◇ 디스크 쿼터

1) 디스크 쿼터 설정 순서

1. 커널에서 디스크쿼터를 지원하는지의 여부

         

2. fstab 파일에 옵션 추가 (usrquota , grpquota) 한다.

          ex) convertquota -u(유저) /home(파티션의 홈 디렉토리)

 

3. remount

4. 데이터베이스 파일생성(quota.user    quota.group)

          ex) [root @localhost second]# touch quota.user /second

               [root @localhost second]# touch quota.group /third

5. 퍼미션설정

          chmod 600 /second/quota.user

          chmod 660 /third/quota.gruop

6. 쿼터 체크

    - 쿼터 상태를 체크하여 quota.user와 quota.group에도 파일 저장 가능하도록

          ex) quotacheck -a(모든파티션)v(메세지출력)u(유저)g(그룹) -f(강제)

7. aquota.user 와 aquota.group생성

          ex) convertquota -u /second

                convertquota -g /third

       결과) 파티션의 홈 디렉토리 안에 aqouta.user 파일이 생성

8. 활성화  --> quotaon    ex)quotaon -u /second

                                         quotaon -g /third

9. edquota -u /second

              --> 쿼터 제한 설정

       ex) Filesystem      

                                 /dev/sdb1                    

              blocks

                                   블럭갯수

               soft

                                  할당된 용량

               hard   

                                  할당된 용량 + 남은 유예기간동안 더 사용할 수 있는 용량

              inodes

                                  파일의 갯수

               soft

                                  할당된 용량

               hard

                                  할당된 용량 + 남은 유예기간동안 더 사용할 수 있는 용량

10. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! convertquota (X) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1

11. 쿼터 삭제

1. quotaoff -u /second

    quotaoff -g /third

2. /etc/fstab 에서 quota설정 삭제.

3. remount

◇ HDD 삭제하기

>console<

1. umount /second

2. /etc/fstab 에서 hdd 삭제

3. shutdown now

>vm<

edit - 2번째 hdd삭제

 

※ 참고

 


덤프 : 리눅스 파일 시스템 - 1
       그 외              - 0
fsck 파일시스템 점검순서 : 파일 점검 명령어로 부팅시 점검 - 1
                                      그렇지 않으면                  - 0
fsck 파일시스템 점검순서 :  fsck가 무시                    - 0
                                      root file system               - 1
                                      그 밖의 file system            - 2~

 

http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10202&eid=s5XqL1TkpQcjseA6POeB2zMWvN1Gr0/0&qb=ZnN0YWI=

 

 

주 기억장치에 있는 결과를 다른 곳에 넘겨서 출력 시키는 것 - 덤프

* using label
    e2lael dev_name new_label (e2label /bev/hda1 /123)
* find device
    findfs LABEL=/label_name

 

* dump code -> 주기억 장치의 내용을 그대로 화면이나, 프린터 디스크 등에 출력 

        └> for debugging
                                                            1 -> linux file system
                                                            0 -> other file system
* file system check --> /etc/fstab --> /etc/mtab <-정보확인 : mount
         1 -> root file system에 대해 fsck로 부팅 시 파일시스템을 점검
         2 -> root file system 이외의 영역을 점검
         0 -> 점검 x
 * tune2fs -j /deb/hda1 --> ext2 file system을 ext3 file system으로 변경
 * tune2fs -c 50 -i 30 /dev/hda1 --> -c 최대 마운트 횟수 -i 점검 간격
 * tune2fs -l /deb/hda1 --> file system checking information

>>수동복구<<
 fsck.ext3 /dev/hda1

※ hdd 추가 작업

1. hdd 추가

2. booting

3. fdisk 작업 --> ext3포맷으로 설정, 파티션 설정

4. format --> 트랙과 섹터 생성

Posted by 달팽이맛나
,

◇ SetUID , SetGID

SetUID

   -> ex) chmod 4755 /home/girl01/lady1.txt

SetGID

   -> ex) chmod 2755 /home/gril01/lady1.txt

 ◇ stickybit

파일의 예 )

      -> drwxrwxrwt  14 root root  4096  5월 25 12:45 tmp

Posted by 달팽이맛나
,

◇ 파일 속성

파일 종류와 파일을 읽고 , 쓰고 , 실행할 수 있는 사용자를 나타내는 파일의 접근 허가권

ex )  -rw-rw-r--

파일 접근 허가권을 나타내는 심볼의 자리 의미

 

   하나   | 둘  |  셋  |  넷  | 다섯| 여섯 | 일곱 | 여덟 | 아홉 | 열

파일종류 read  write  excu  read  write  excu  read  write  excu 

■  -> Owner (사용자)

■  -> Group (그룹)

■  -> Others (일반 사용자)

◇ 파일 접근 허가권

<사용방법>

chmod [옵션] 모드파일명

         -> ex) chmod 755 example.txt

◇ 파일 소유권 변경

<사용방법>

chown 소유권계정명 모드파일명

         -> ex) chown girl02          example.txt

                          --> 소유주만 쓰면 소유주만 변경

                   chown girl02.admin example.txt

                          --> 소유주.그룹 변경

 ◇ 링크

           * 하드 링크    -    같은 주소 사용  -  ex ) ln aaa ttt

* 파일만 가능하며, 동일한 파티션에서만 가능

* 디스크 상에서 하나의 물리적 공간만을 차지한다

* 원본파일이 깨져도 생성된 링크를 사용해서 그대로 사용

* 원본파일이나 링크파일의 내용이 바뀌면 둘 모두 변경.

* 파일의 크기도 증가

           * 심볼 링크    -    포인트 개념 - ex) ln -s aaa ttt

* 파일, 디렉토리 모두 가능 , 다른 파티션에서도 가능

* 원본파일이 깨지면 생성된 링크는 참조를 하므로 사용할 수 없다.

* 원본파일이나 링크파일의 내용이 바귀면 둘 모두 변경

* 링크파일의 크기는 증가하지 않고 생성될 당시의 원래 크기대로 나온다.

Posted by 달팽이맛나
,

◇사용자계정, 그룹계정 관리하기

[root@localhost ~]# vi /etc/passwd

testuser3:x:503:503::/home/testuser3:/bin/bash

계정명:패스워드:USERID:GROUPID:설명(comment):홈디렉토리:쉘

 

◇useradd acc  (계정생성)

   1. /etc/passwd

             --> name, passwd, UID,GID,comment,home,shell

   2. /etc/group

   3. /etc/shadow    -->passwd를 통해 암호화된 암호를 등록

   4. useradd -p `openssl passwd 1234` shj 

               --> useradd 명령어 사용시 -p 옵션을 사용하려면

                    `openssl passwd 1234` 처럼 넣어서 사용가능

◇ 사용자 디렉토리 생성 과정

/etc/skel 에 생성되어지는 기본 설정 값이 들어있다.

/etc/login.defs 파일의 역할 --> useradd명령어가 수행될 수 있도록 해주는 기본 설정 파일

◇Log-in

   id와 passwd입력

             -->없는 id입력시에도 passwd입력창이 뜨고 passwd입력 후에 id검색이 시작.

   1. /etc/passwd 파일에서 입력된 id검색

   2. /etc/shadow 파일에서 암호인증

   3. /etc/profile에 있는 공통된 PATH값을 읽어온다.

   4. $HOME변수의 값을 사용해서 home Directory로 이동

   5. .bash_profile + .bashrc loading

   6. prompt 생성

 

vi파일보기 상태에서 :! 를 치고 프롬프트에서 사용하는 명령어를 쓴다.

ex) :!ls /etc

종료 후는 다시 원래 띄워놓았던 파일 출력

 

vi /etc/motd

->인사말

 

Posted by 달팽이맛나
,