quota (사용자 하드용량 정하기)

Posted by 주원이^^
2011. 2. 17. 16:36 리눅스/리눅스설정방법
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
따로 마운트가된 하드로 해주거나 아니면 기존 상위루트 / 에 주어진 용량으로 해도 됩니다.
저는 따로마운트가된 하드로 설정하였습니다.

#vi /etc/fstab 를 수정하여줍니다. (저는 추가한장치가 /dev/hda1 입니다.)

/dev/hda1               /download               ext3    defaults,usrquota       1 1

(부팅시 마운트가 될수있게끔 해준이후 usrquota 를 defaults 옆에 추가해줘야합니다)
usrquota , groupquota (유저용량 , 그룹용량 )을 뜻합니다.
위그림과 같이 수정을 해준이후에 재부팅을 한번 해줍니다.

#shutdown -r now

마운트가 되었는지 한번 확인을 해봅니다.
#mount

/dev/hda1 번이 /download 에 ext3 형으로 마운트된걸 볼수있습니다. (읽고쓰고 유져용량)
준비는 다 된듯싶습니다.
테스트로 쓸 계정 2개를 만들어 봅니다.

#cd /download
#useradd -d /download/test1 test1
#useradd -d /download/test2 test2

만든이후에 /download 폴더에 quota db생성을 해주도록 합니다. 권한까지요.
#touch aquota.user
#chmod 600 aquota.user




다음 quota 적용을 위해 현재 상태를 체크합니다.
#quotacheck -avug

여기까지가 준비 단계입니다..
이젠 세부설정으로 해서 각유져들 용량을 지정하도록 하겠습니다.

현재설정보이기
#repquota -a 또는 repquota /download


지금 현재 유예기간은 7days (7일)
user : 현재사용량
soft : 현재설정된 soft limit
hard : 현재설정된 hard limit 
grace : soft limit 지정용량 초과시 남은 유예기간 표시  입니다.

유예기간 늘리기
#edquota -t
단위는 secods , minutes , hours , days (초 분 시간 날짜) 로 정할수있으며
원하는 시간대로 정할수있습니다.

용량정하기
#edquota -u 계정

Disk quotas for user test1 (uid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/hda1                     10000       5000      10000          6        0        0

5메가 이상일경우 soft 에서 체크를 하기때문에 경고 메세지가 날라가며
10메가 이상집어넣을순 없습니다.


이런메세지가 나오기때문이죠.

quota 를 끌경우
#quotaoff /download 를 써주시면 quota 제한이 꺼지게됩니다..
반대로 켤경우
#quotaon /download 를 써주시면 quota 제한이 켜지게 됩니다..

아울러 quota 를 삭제할경우
#vi /etc/fstab 에 usrquota 를 삭제.
#rm -rf /download/aquota.user 파일 삭제 하시고 재시작 하시면 쿼터제한이 사라지게 됩니다.

저도 공부하는 입장이라 자세히는 모르지만 조금이나마 도움이 되셧길 바랍니다.

'리눅스 > 리눅스설정방법' 카테고리의 다른 글

ssh 한글깨짐현상 고치기.  (12) 2011.03.17
DNS ( Domain Name Server ) 설치.  (55712) 2011.03.04
리눅스백업 ( rsync )  (1) 2011.02.19
proftpd 설치 (ftp 설치)  (507) 2011.02.18
LVM HDD 만들기.  (39) 2011.02.16

/etc/fstab 복구.

Posted by 주원이^^
2011. 2. 17. 11:54 리눅스/trouble shooting
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

본인은 ㅠㅠ fstab 마운트를 잘못 적용시키다가 부팅이 안되는 증상..
일단 부팅을 한다음 refair 모드로 들어간다. 그이후

mount -o remount,rw /
이렇게하면 루트 파일 시스템이 읽기,쓰기 모드로 다시 마운트 됩니다.
(/etc가 별도의 파티션으로 되어 있다면 그 파티션을)
그리고 vi로 fstab를 편집하시면 됩니다.


이렇게 해서 해결했습니당~

p.s

 /etc/fstab 설정하실때
젤 뒤쪽에 1 0  또는 1 1 이게 먼지 잘 모르시는분들을 위해 설명드립니다.

젤 처음 1번은
0 :백업하지않는다
1 : 백업가능한 파일시스템

두번째 1번은 fsck 이용한 파일시스템 검사옵션 입니다.
0 : 부팅시 파일시스템점검 하지않는다
1 : 루트파일시스템으로서 부팅시 파일시스템 점검을 한다
2 : 루트 파일시스템이외의 파일시스템으로서 부팅시에 파일시스템 점검을 한다.

'리눅스 > trouble shooting' 카테고리의 다른 글

network unreachable resolving  (1274) 2013.12.31
configure: error: OpenSSL Crypto headers not found.  (2046) 2012.04.14
yum 안될시  (57) 2012.02.02
rsync error: error  (297) 2011.02.22
configure: error: no acceptable C compiler found in $PATH  (373) 2011.02.18

사용자 정보변경(usermod , group)

Posted by 주원이^^
2011. 2. 17. 09:22 리눅스/기본정보(OS)
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

★ 사용자 정보 변경

   => 현재 자신의 로그인에 대한 정보를 변경 해보자~!

       사용자의 정보를 변경하기 위해서는 "chfn"이라는 명령어를 이용한다.

       ( "chfn" 명령어를 입력하면 한 줄씩 정보를 입력하게 된다. 이름, 회사, 회사전화, 집전화 순이다. )

      ( 변경된 내용을 보고 싶은 경우에는 "finger"라고 입력하면 된다.

     

  ※ root는 "chfn"뒤에 사용자 이름을 넣어 사용자의 로그인 정보도 변경이 가능하다.

     (역쉬 변경된 정보를 보는 방법은 "finger" 다음 보고싶은 사용자 이름을 입력하면 된다.

 

   자, 그러면 이번에는 필드의 내용외에 홈 디렉터리나 그룹, 로그인 쉘등을 바꾸는 명령어에 대해 알아보자~!

   이러한 정보를 변경하는 명령어는 "usermod"라는 명령어를 사용한다.

   usermod -c  => 설명 필드의 내용을 변경 ( chfn과 같은 기능을 가진다.)

   usermod -d  => 홈 디렉토리를 변경

   usermod -e  => 만료일자 변경

   usermod -G ( -g) => 그룹 변경

   usermod -s  => 로그인 쉘 변경

   usermod -u => UID값 변경 ( 100이상으로만 가능 )

   usermod -l  => 계정명 변경

 

ex) localhost ~ ]# usermod -s /bin/tcsh test => test 사용자의 로그인 쉘을 /bin/tcsh로 변경

     localhost ~ ]# cat /etc/passwd | grep test => /etc/passwd에서 test만 보게함.

                                                                   grep앞에 지정한 기호는 파이프 기호이다.

     localhost ~ ]# mkdir /home/users/test

     localhost ~ ]# usermod -d /home/users/test test

                      => test사용자의 홈 디렉터리를 /home/users/test로 변경

     localhost ~ ]# cat /etc/passwd | grep test => /etc/passwd를 통해 변경된 사항 확인

 

  

★ 패스워드 입력

   => 사용자를 추가하였다고 하더라도, 패스워드를 만들어 주지 않는다면 이 사용자로 로그인이 불가능하다.

      UNIX계열 OS는 사용자의 패스워드를 만들어주기 위해 "passwd"라는 명령어를 사용한다.

 

  localhost ~ ]# passwd test1 => test1의 패스워드를 지정한다.

  changing password for user test1 => test1유저의 패스워드를 변경하겠다는 말이다.

  New UNIX password :   => 새로운 패스워드를 입력하자 ( 패스워드는 8자 이상 영문과 숫자의 혼합을 기본으로 한다.)

  Retype new UNIX password :      => 패스워드를 다시한번 입력하자 ( 맞는지 확인한다.)

  자~ 이 과정을 완료하면 패스워드가 생성된다.

  이제 "ctrl + alt + 2"를 눌러 다른 콘솔창으로 이동하자~!!

  그럼 다시 로그인 화면이 뜰 것이다. 그럼 이 로그인 화면에서 방금 패스워드를 지정해준 사용자로 접속해보자~!!

 

  ※ "passwd"란 명령어는 사용자도 사용 가능하다. 하지만 사용자는 다른 사용자의 패스워드를 변경하지 못하기에

      사용자로 로그인해서 "passwd"라고만 입력하면 지금 접속한 사용자의 패스워드를 변경하게 된다.

      root사용자의 경우는 다른 사용자의 패스워드도 변경가능하므로, "passwd"다음 사용자 이름을 입력하면

      사용자의 패스워드를 변경하게 된다. ( "passwd"뒤에 아무런 이름도 입력하지 않으면 "root"자신의 패스워드 변경)

 

 

★ 새도우 패스 워드

  => 보안을 위해서 /etc/passwd 라는 파일에 저장된 패스워드를 /etc/shadow 라는 파일에 암호화하여 저장

    일단 /etc/shadow라는 파일을 열어보자 ( root에서만 실행 가능 )

 

   localhost ~ ]# cat /etc/shadow => 아래쪽을 확인하면 이상한 문자들로 이루어져 있는 것을 확인 할 수 있다.

  ※ /etc/shadow파일을 보는 법

계정명:암호화된패스워드:최종암호변경일:암호변경최소일수:암호변경유예기간:암호변경경고일수:계정사용불가날짜:계정만료일:예약

  => 이 형식을 통해 본다면 암호화된 패스워드가 이상한 문자들의 조합으로 이루어지는 것을 볼 수 있다.

     ( 이 이상한 문자들의 조합이 바로 자신이 지정한 패스워드를 암호화 시킨것이다.)

   우리가 전에 살펴보았듯이 /etc/passwd에서는 이런 문자들이 보이지 않고 "x"라고만 표현되는데,

   만약에 /etc/passwd에서도 이러한 형식으로 보고자 한다면 새도우 패스워드를 해제하면 된다.

  localhost ~ ]# pwunconv => 새도우 패스워드를 해제하는 명령어다.

  localhost ~ ]# cat /etc/passwd => 이제는 "x"라고 표시되는 부분이 이상한 문자들의 조합으로 보이는 것을 확인

       => 그러나 이렇게 표현해 놓으면 일반유저들도 이 조합을 볼 수있는데, 보안상 툴을 이용해서 풀수도 있으므로 다시 설정해놓자

  localhost ~ ]# pwconv => 다시 새도우 패스워드를 설정하는 명령어다.

  localhost ~ ]# cat /etc/passwd => 이제는 다시 "x"라고 표기되는 것을 볼 수있다.

  자, 이제는 /etc/shadow의 정보를 변경해보자 (역쉬 root 사용자만이 가능하다. )

  정보를 변경하는 명령어로는 "chage"라는 명령어를 사용한다.

  chage -l => chage 설정 내용을 확인

  chage -m => 새로운 password를 변경할 수 있는 최소 일 수

                  ( 0값은 아무때나 password를 변경할 수 있다.)

  chage -M => 유효한 패스워드의 최대일 수.

  chage -W => 사용자가 패스워드를 바꿀때까지 경고할 일 수

  chage -I => 패스워드 유효기간 경과후 사용자 계정이 비활성화 될 일 수

  chage -E => 사용자가 계정을 사용할 수 있는 유효기간 (년/월/일) (-1은 영구적으로 사용)

  chage -d => 사용자가 패스워드를 변경한 마지막 일자

 

ex) localhost ~ ]# chage -M 3 test1  => 패스워드를 사용할 수 있는 기간을 3일로 변경한다.

     localhost ~ ]# chage -l test1 => test1의 chage 설정 내용을 확인

     localhost ~ ]# su test1 => "su"라는 명령어를 이용하여 test1으로 접속유저를 변경하자~!

 

※ "su" (substitute user)

    => 사용자 계정을 바꾸는 명령어이다. ( 권한만 이양한다. )

      root 사용자(관리자)가 좀더 편리하게 작업하기 위해 일반사용자의 권한이 필요할때나

      일반사용자가 다른 일반 사용자로 접속을 하고자 할 때 ( 권한이 필요 => 패스워드를 묻는다. )

      아니면 일반 사용자가 root의 권한이 필요로 할때 (역쉬 패스워드를 물어 권한을 이양 받는다) 사용한다.

 

ex) localhost ~ ]# su test1 => 권한만 이양한다.

     localhost ~ ]# su - test1 => 다른 콘솔에서 접속한 것과 같은 권한을 이양한다.

     localhost ~ ]$ su - => 다시 root로 접속한 것과 같은 권한을 이양받는다. ( 패스워드 필요 )

 

 

★ 그룹 관리

   => 그룹은 사용자를 하나로 묶는 역할을 한다. 사용자가 많은 경우 각각의 사용자에게 일일이 권한을 부여하는 일이 무지

      번거롭다. ( 간단히 말해서 귀찮다..ㅡㅡ;) 이런 경우 그룹으로 지정을 하고 여러 사용자를 한꺼번에 권한 부여한다면

      조금은 덜 번거로워 진다... 그래서 사용한다...ㅋㅋ

 

   ● 그룹 관련된 파일

     => groupadd(그룸 생성), groupmod(그룹 변경), groupdel(그룹 삭제), gpasswd (관리자기능) .

   ● 그룹 환경 파일

      => /etc/group , /etc/gshadow

   ※ /etc/gshadow의 파일을 알아보자~!

     localhost ~ ]# cat /etc/gshadow

    => 그룹이름 : 패스워드 : 관리자, 관리자, .... : 멤버, 멤버, ....

  

   자 그러면 그룹에 관리자를 지정해줘 보자~!

   그럼 일단 그룹을 하나 만들어서 test를 진해하자~!!

   localhost ~ ]# groupadd testgroup => test 그룹을 하나 만들어 보자~!

   localhost ~ ]# gpasswd -A test1 testgroup => test1 사용자를 testgroup의 관리자로 지정

   localhost ~ ]# cat /etc/gshadow | grep testgroup => gshadow파일을 열고 testgroup을 확인

                                                                       => 확인해보면 관리자에 test1이 추가되어있다.

 

   자 그룹 관리자를 만들어보았으니 지정된 그룹 관리자로 접속을 해보자~! ( ctrl + alt + 2 로 새로운 콘솔창 열어 접속 )

   그룹관리자인 test1으로 접속을 했다면 test1이 관리하는 그룹에 멤버들을 추가해 보자~!

   localhost ~ ]$ gpasswd -a test testgroup => -a 옵션은 멤버를 추가하는 옵션이다.

                                                                   => test란 유저를 testgroup에 추가한다.

   localhost ~ ]$ gpasswd -a test3 testgroup => test3 유저를 testgroup에 추가한다.

 

   일단 제대로 그룹 멤버로 추가되었는지 확인해 보기 위해 다시 root로 접속하자.

   (만약 "su"가 아닌 ctrl + alt + 2 로 접속한 사용자는 다시 ctrl + alt + 1 로 가면 root가 존재할 것이다.)

   localhost ~ ]# cat /etc/gshadow | grep testgroup => 출력되는 화면을 보고 잘 추가되었는지 확인

   확인이 되었다면 이번엔 testgroup에 있는 사용자들을 제거해보자

 

   그러기 위해서는 다시 test로 접속하자~! (방법은 자유다..ㅋ)

   localhost ~ ]$ gpasswd -d test3 testgroup => test3이라는 유저를 testgroup에서 제외시킨다.

                                                                       => -d 옵션이 바로 삭제 옵션이다.

 

   그럼 다시 root로 접속하자 (확인해봐야 할 거 아닌가?? 싫음 말구..ㅋ)

   localhost ~ ]# cat /etc/gshadow | grep testgroup => 확인하자~!!

 

   ※ 그럼 추가로 groupadd와 groupmod가 가진 옵션에 대해 이야기 하겠다...

     ♣ groupadd

         => 그룹 추가시 사용하는 명령어이다.

     

        groupadd -f, --force => 추가될 그룹이 이미 존재하는 것이면 성공된 정보로 종료.

                                  ( -f 옵션 없이 이미 존재하는 그룹을 groupadd로 추가시 오류 메시지 발생하는데

                                     -f 옵션은 오류 메시지 없이 성공한 것처럼 보인다. )

        groupadd -r => 시스템 계정을 추가하는 그룹 생성 ( 레드햇에 의해 추가되는 옵션 )

        groupadd -g,  --gid GID => 새로 생성하는 그룹에 지정하는 GID값을 사용한다.

        groupadd -K,  --key KEY=VALUE => /etc/login.defs 기본값보다 우선한다.

        groupadd -o,  --non-unique  => 사본의 GID를 가진 그룹을 생성하는 것을 허용한다.

 

   ex) localhost ~ ]# groupadd -g 512 test => GID값을 512로 갖는 test그룹을 생성한다.

 

     ♣ groupmod

         => 그룹의 설정값을 변경시 사용

       groupmod -n 새이름 => 그룹의 이름을 "새이름"으로 변경한다.

       groupmod -g GID => 그룹의 GID값을 지정한 값으로 변경한다.

 

   ex) localhost ~ ]# groupmod -g 505 -n test5 test => test그룹의 이름을 test5로 바꾸고, GID값을 505로 변경

 

'리눅스 > 기본정보(OS)' 카테고리의 다른 글

chkconfig , ntsysv 설정.  (821) 2011.02.18
(date , clock ) 시간 맞추기.  (1746) 2011.02.18
사용자추가및삭제 ( useradd, userdel )  (1) 2011.02.17
VI 에디터  (936) 2011.02.17
텍스트보는 명령어  (0) 2011.02.17