[리눅스 일반] 디스크 사용량 점검하기 실무

1. 특정 디렉토리의 용량을 확인하는 du 명령어 개론

– du 는 “Disk Usage” 의 약어로서 파일및 디렉토리의 사용량을 확인 할 때 사용하는 명령어임.

– df 명령어가 파티션( 파일시스템 ) 단위의 디스크사용량을 점검한다면 du 명령어는 특정 디렉토리 또는 파일을 단위로하여 그 용량을 확인하는 명령어임

– du 명령어는 현재디렉토리의 용량뿐 아니라 현재디렉토리의 서브디렉토리 및 파일들 까지 모두 함께 사용량을 계산하여 표시해 줌.

– 사용형식 : du [ 옵션 ]….[ 파일 ] [ 디렉토리 ]

2. 특정 디렉토리의 전체 사용량 점검하기

– du -s /etc

– 전체용량을 간략히 표시할때는 -s 옵션을 사용함.

3. 특정 디렉토리의 전체 사용량을 용량단위를 붙여서 점검하기

– 전체용량을 모두 합해서 용량단위까지 붙여서 출력하라는 옵션은 -sh 이다.

– du 명령어사용시 “-h”(human-readable)는 단위를 표시하게 하는 du 명령어의 옵션으로서 KByte 또는 MByte 또는 GByte 등의 용량표시를 해주게 됨.

– du -sh /etc

4. 일반 계정사용자의 홈디렉토리 전체 디스크 사용량 점검하기

– du -sh ~stkim

– “du -sh ~ID” 라고하면 현재 자기가 사용중인 계정의 전체용량을 확인할 수 있음.

5. 현재 서버의 파일시스템별 디스크사용량 점검하는 df명령어 실무활용

– df 는 “Disk Free” 의 약어로서 현재 사용중인 파일시스템의 전체용량, 사용한 용량, 사용가능한 용량, 사용울, 마운트정보등을 보여줌.

– 서버 장애의 주된 원인이 될 수 있는 File System Full( 파일시스템용량이 꽉 참 ) 을 방지하기 위하여 서버관리자의 주된 업무 중 한가지가 주기적인 파일시스템 사용량 점검임.

– 파일시스템의 사용량점검을 위해 사용되는 명령어가 df 임.

– df 명령어는 /etc/fstab 파일에서 파일시스템정보를 참조하고, /etc/mtab 에서 마운트됨 정보를 참조함.

– 현재 서버의 디스크사용량을 파티션별로 확인하기

– 파일시스텤 사용량 정보를 확인하기 위해서는 간단히 “df” 라고만 입력하면 됨.

6. 디스크사용량을 파티션별로 확인할 때에 용량을 KByte 단위로 표시하기

– df -k

– -k 옵션을 사용하면 표시되는 용량단위가 KB임. 하지만, 아무런 옵션없이 사용하여도 기본 표시단위가 KB 이므로 -k 옵션은 디폴트( default) 라고 생각하면 됨.

7. 디스크사용량을 파티션별로 확인할 때에 용량을 Mbyte 단위로 표시하기

– 용량을 MB단위로 용량을 표시하려면 -m 옵션을 사용함.

8. 디스크사용량을 파티션별로 확인할 때에 가장 적당한 용량단위 표시하기

– -h 옵션은 human-readable 이라는 의미에서도 알 수 있듯이 사람이 보기 쉽도록 최적의 용량단위를 알아서 표시해 줌.

– df -h

9. 디스크용량 확인시에 모든 파일시스템을 대상으로 점검하기

– df -a

– 파일시스템의 크기가 0인 것까지 모든 파일시스템을 확인하는 옵션인 -a .

10. 파틱션별로 디스크용량 점검시에 inode 사용자정보를 표시하기

– df 명령어 사용시에 -i 옵션을 사용하면 블록대신에 inode 단위로 사용량 정보를 표시해 줌.

11. 디스크사용량을 출력할 때에 파일시스템의 종류와 함께 표시하기

– df -T

– -T 옵션은 각 파일시스템들이 사용하고 있는 파일시스템 종류를 추가로 표시해 줌.

12. 특정 파일시스템의 종류만을 대상으로 디스크사용량 조사하기

– df -t 파일시스템종류

– df 명령어 사용시 -t 옵션뒤에 파일시스템의 종류명을 지정하면 그 파일시스템의 종류를 가진 파일시스템에 대해서만 사용량을 표시해 줌.

13. 특정 파일시스템의 종류를 제외한 디스크사용량 조사하기

– df -x ext3

– df 명령어에 -x 과 파일시스템 명을 명시하면 지정한 파일시스템을 제외한 파일시스템에 대해서만 사용량을 표시해 줌.

[리눅스 일반] 파일 및 디렉토리 복사 실무

1. cp 활용 개론

– 사용형식 : cp [ 옵션 ] 원본파일 복사파일
cp [ 옵션 ] 원본파일( 디렉토리 ) 디렉토리

– mv 와  cp 명령어의 차이점 : mv 명령어는 복사하고 난 후에 원본파일이 지워지게 된다.

2. 디렉토리전체를 복사하는 방법

– cp 명령어의 -r 옵션과 -R 옵션은 지정한 디렉토리내의 하위디렉토리들까지 모두 복사된다는 점에서 동일함. 하지만 -r 옵션이 파일복사에 사용되었을 경우에는 그냥 복사만 됨.

– cp -r TestDir1 TestDir2

3. 원본파일의 소유자, 그룹소유자, 권한, 시간정보등을 그대로 보존하면서 복사하기

– cp 명령어는 실행한 사용자의 umask 값에 따라서 파일과 디렉토리의 퍼미션이 결정됨.

– 특정 디렉토리를 원본 디렉토리와 그 안에 있는 파일들의 소유자, 그룹, 권한, 시간정보등을 원본과 동일하게 복사하려면 cp 명령어를 사용할 때에 -rp 옵션을 함께 사용해야 함.

– cp -rp TestDir1 TestDir2

4. 복사 명령어 cp 의 다양한 복사방법들

– -a 옵션 : 복사대상 원본파일의 속성( attribution ) 과 링크정보등을 그대로 유지하면서 복사하는 옵션임. cp 명령어 사용시 -dpR 옵션을 함께 사용한 것과 같은 역할을 함.

– -b 옵션 : 복사하고자 하는 파일이 동일한 이름으로 이미 그 위치에 존재하고 있을 경우, 덮어쓰기 또는 원본을 지우고 복사할 경우에 원본파일의 복사본을 만들어 둠.

– -f 옵션 : 복사대상파일이 이미 그 위치에 존재한다면 파일을 지우고 복사함.

– -i 옵션 : 복사대상파일이 이미 그 위치에 존재한다면 덮어쓸 것인가 또는 복사하지 않을 것인가를 사용자에게 확인하는 절차를 거침.

– -P 옵션 : 복사대상이 되는 원본파일이 디렉토리경로와 함께 지정되었을 경우에 지정된 디렉토리경로를 그대로 복사함. 이 경우 원본파일은 Dir1/SubDir1/SubDir2/FileName 등과 같이 디렉토리 경로와 함께 지정이 되어야 함.

– -u 옵션 :
복사되는 원본파일의 이름과 동일한 파일이 대상위치에 존재할 경우에 원본파일과 변경날짜를 비교하여 최신파일일 경우에 복사하지 않는 옵션임.

5. 관리자 전용 복사명령어 install 활용하기

– cp 명령어와 유사한 명령이지만 cp 명령어에 비해 다양한 복사 옵션들이 있다는 점이 좀 특이함

– 사용형식 : install [ 옵션 ] [ -s ] [ –strip ] 원본파일 복사파일
install [ 옵션 ] [ -s ] [ –strip ] 파일….. 디렉토리
install [ 옵션 ] [ -d, –디렉토리 ] 디렉토리…

6.  사용가능한 옵션들

– -c : 전통 유닉스 버전과 호환을 위한 옵션으로 별다른 의미는 없음.

– -d, –diectory : 지정한 파일이 복사될 경로를 지정하는 옵션으로서 만약 지정한 경로명의 디렉토리가 존재하지 않는다면 직접 만들어서 복사를 함.

– -g, –group group :  지정한 파일 복사시에 이 옵션으로 지정한 소유그룹을 복사되는 파일의 소유그룹으로 설정함.

– -m, –mode mode : 지정한 파일 복사시에 이 옵션으로 지정한 퍼미션을 복사되는 파일의 퍼미션으로 설정함.

– -o, –owner owner : 지정한 파일 복사시에 이 옵셔으로 지정한 소유자를 복사되는 파일의 소유자로 설정함.

– -s, –strip : 지정한 파일복사시에 이 옵션이 사용되면 strip 명령을 수행함. 심볼릭테이블이 삭제되므로 파일의 크기가 줄어듬

[리눅스 일반] 파일퍼미션 설정하는 chmod 실무활용법

1. 파일과 디렉토리의 퍼미션( permission ) 정복하기

– chmod 명령어는 특정 파일 또는 디렉토리의 퍼미션( permission )을 변경하는 명령어임.

– 퍼미션이란 특정 파일이나 디렉토리에 대하여 읽기, 기록하기, 삭제하기등의 권한을 설정해 놓은 것으로 다중사용자 운영체제( Mult-User Operating System ) 에서 파일의 접근권한과 보호등을 위하여 반드시 필요한 것.

– 퍼미션       일반적인 의미                  파일                                                    디렉토리
r             읽기( read ) 권한           파일을 읽을 수 있음              디렉토리의 내용을 볼수 있음.
( ls 로 파일리스트 확인 가능 )
w             쓰기( write) 권한            파일에 저장, 삭제할          디렉토리에 파일저장, 디렉토리이름
수 있음                             변경, 삭제등 가능
x              실행(execution)권한    파일을 실행할 수 있음         디렉토리에 접근할 수 있음
( cd 로 접근가능, ls로 리스트는 불가)
s               SetUID, SetGID           파일소유자( SetUID ), 그룹소유자( SetGID ) 의 권한으로 실행함
t                Sticky Bit 권한                       공유디렉토리로 사용됨

– 가능한 옵션들
-c : 올바르게 변경된 파일들만 -v 옵션을 적용하여 자세히 보여준다.
-f : 가능한 불필요한 메시지를 보여주지 않고 간략하게 보여준다.
-v : 실행과정을 자세하게 보여준다.
-R : 디렉토리와 그안에 존재하는 서브디렉토리들까지 모두 적용한다.

– 퍼미션 진수법
2진수          8진수          표시되는 퍼미션            의미하는 내용
000                0                        —                           아무런 권한이 없음
001                1                        –x                           실행( execution ) 권한만 있음
010                2                        -w-                          쓰기( write ) 권한만 있음
011                3                        -wx                         쓰기와 실행 권한만 있음
100                4                        r–                           읽기( Read ) 권한만 있음
101                5                        r-x                           읽기과 실행권한만 있음
110                6                        rw-                          읽기과 쓰기권한만 있음
111                7                        rwx                         읽기, 쓰기, 실행 권한이 있음

– 파일유현
– : 일반파일을 의미
b : 블럭구조의 특수파일(Block Special File ) 을 의미함.( 예 : /dev/sda )
c : 입출력에 사용되는 특수파일( Character Special File ) 을 의미함.( 예 : /dev/console )
d : 디렉토리( Directory ) 를 의미하며, 디렉토리도 하나의 특수파일로 취급됨.
l : 심볼릭링크파일( Link File ) 임을 의미함.
p : 파이프파일( Pipe ) 임을 의미함.
s : 소켓파일( Socket ) 임을 의미함.

2. 8진수로 파일의 퍼미션 설저하기

– chomd 755 testfile

3. 특정 문자로 퍼미션 설정하기

– chmod a+r testfile
u : 소유자( user ) 를 의미함.
g : 그룹( group ) 을 의미함.
o : 다른사용자( others ) 들을 의미함.
a : 모두( all ) 를 의미함( Default )
이 문자와 함께 “+” 기호가 사용되면 “권한을 부여한다” 라는 의미이며, “-” 기호가 사용되면 “권한을 제거한다” 라는 의미가 됨.

4. 여러개의 파일과 디렉토리의 퍼미션 동시에 설정하기

– chmod 755 php*

5. 모든파일과 디렉토리의 퍼미션 한번에 설정하기

– chmod 755 *

6. 특정디렉토리내의 모든파일과 서브디렉토리퍼미션 한번에 설정하기

– chmod -R 755 TestDir

– -R 옵션과 함께 사용하면 서브디렉토리퍼미션까지 한번에 설정이 된다.

[리눅스 일반] 파일의 소유자, 소유그룹 변경하기

1. 파일과 디렉토리의 소유자 및 소유그룹 변경하는 chown 명령어 개론

– chown 명령어는 CHange OWNer 의 약어로서 파일이나 디렉토리의 소유자와 소유그룹을 변경할 때에 사용하는 명령어임.

– 사용형식 : chown [ -Rcfv ] [ –recursive ] [ –changes ] [ –help ] [ –version ] [ –silent ] [ –quiet ] [ –verbose ] [ user ] [ :. ] [ group ] 파일…

2. 특정파일의 소유자 변경하기.

– chown stkim testfile

– 명령어가 허용이 되기 위해서는 파일에 대한 소유권이 있어야만 가능하며, 아무나 파일 또는 디렉토리의 소유자를 변경할 수 있는것이 아님.

3. 특정파일의 소유자와 소유그룹을 동시에 변경하기

– chown 명령어로는 파일의 소유자와 함께 소유그룹을 동시에 변경할 수 있음. 🙁 콜론) 으로 구분하여 “소유자:소유그룹” 을 지정하면 소유자와 소유그룹이 동시에 변경됨.

– chown stkim:stkim testfile

4. 특정 디렉토리의 소유자와 소유그룹 동시에 변경하기

– 리눅스에서는 디렉토리도 하나의 특수파일로 인식하기 때문에 파일의 소유자와 소유그룹을 변경하는 방법과 디렉토리의 소유자와 소유그룹을 변경하는 방법이 동일함.

– chown stkim:stkim testDir

5. 특정 디렉토리내의 모든 파일( 디렉토리 )의 소유자( 소유그룹 )을 동시에 변경하기

– chown 명령어의 -R 옵션을 사용하면 특정 디렉토리내에 있는 모든 파일과 서브디렉토리의 소유자와 소유그룹을 한꺼번에 변경할 수 있음.

– chown -R stkim:stkim dir1

6.  소유자 또는 소유그룹변경시에 변경메시지 확인하기

– chown 명령어 사용시에 -c 옵션을 사용하면 소유자와 소유그룹의 변경내용에 대해서 자세한 메시지를 출력함.

– chown -c stkim:stkim testFile

7. 파일의 소유자와 소유그룹변경시에 UID 와 GID 로 지정하여 변경하기

– 일반적으로 chown 명령어로 소유자와 소유그룹을 변경할 때에 계정명( ID )과  그룹명으로 지정함.

– chown 에서 ID 와 그룹명대신 UID 와 GID 를 지정하여도 변경이 가능함.

– chown 500:500 testFile

8. UID 와 GID 를 지정하여 모든 파일과 디렉토리의 소유자와 소유그룹을 변경하기

– chown -R 501:502 testDir

– 소유자와 소유그룹을 변경할 때에 ID 를 사용해도 되지만 UID와 GID 를 사용해도 동일한 결과를 얻을 수 있음.

– UID 와 GID 는 /etc/passwd 파일에 정의되어 있음. UID 와 GID 를 이용하여 소유자와 소유그룹을 변경 할 때에는 /etc/passwd 파일에서 UID 와 GID 를 확인해야 함.

9. 특정 디렉토리내의 특정파일들에 대해서만 소유자와 소유그룹 변경하기

– chown -R stkim:stkim TestDir –from=test:test

– TestDir 라는 디렉토리내에 존재하는 파일들 가운데 소유자가 test 이고 소유그룹이 test 로 되어있는 파일들의 소유자를 stkim 으로 변경하고 소유그룹을 stkim 으로 변경하라는 명령문.

[리눅스 일반] 사용자 패스워드 입력 및 설정하기( passwd )

1. 사용자 패스워드를 변경하는 passwd 개론

– passwd 명령어는 사용자의 패스워드 입력 및 변경하는 명령어임. 패스워드는 리눅스서버의 일차적이고 기본적인 보안역할을 하는 것으로 필수관리 항목임.

– 리눅스시스템에서 기본적인 패스워드는 8자로 제한되지만, MD5 를 사용하여 패스워드를 입력할 경우에는 256문자까지 패스워드 입력이 가능함. MD5 는 -S 옵션을 사용하여 설정해야 함.

– 사용형식 : passwd [ -k ] [ -l ] [ -u [ -f ] ] [ -d ] [ -S ] [ 사용자ID ]

2. 관리자에 의한 사용자생성 후 passwd 명령어로 패스워드 설정하기

– 서버관리자는 새로운 계정하용자를 생성한 후에는 반드시 패스워드를 설정해야만 함.

– 슈퍼유저( root )는 일반계정사용자의 패스워드를 마음대로 변경할 수 있음.
참고로 일반사용자는 자기자신의 패스워드만 변경할 수 있음.

3. 일반사용자의 자기자신 패스워드 변경하기

– 일반사용자가 자기자신의 패스워드를 변경하고자 한다면 그냥 passwd 라고만 입력하면 됨. 그런 다음 현재 사용중인 패스워드를 입력하고 새로 사용할 패스워드를 동일하게 두번 입력해 주면 패스워드가 변경됨.

– passwd

4. passwd 명령어로 패스워드 설정시 MD5 로 암호화 하기

– MD5 를 사용하고자 한다면 -S 옵션으로 설정할 수 있음.

– MD5 로 암호화하는 대부분의 이유는 패스워드 사용문자를 길게 사용하여 보안을 강화하기 위한 것임. 하지만 최근 리눅스 배포판들은 모두 기본적으로 MD5 암호화방식을 사용하고 있으므로 굳이 -S 옵션을 사용할 필요는 없음.

– passwd -S stkim

5. passwd명령어로 일반계정사용자의 패스워드 락(lock)걸기

– 수퍼유저( root )는 passwd 명령어의 -l 옵션을 사용하여 일반계정사용자의 암호에 lock 을 걸어서 접속을 제한할 수 있음. 일반사용자의 패스워드에 lock 을 거는 것은 일시적으로 접속을 제한해야하는 경우에 관리자에 의해 설정되는 것임.

– paswd -l stkim

– lock 을 걸어두게 되면 해당 사용자는 접속이 불가능하게 됨.

6. 패스워드 락( lock )걸린 사용자의 패스워드 락( lock ) 해제하기

– 패스워드 lock 을 풀어주려면 paswwd 명령어에 -u 옵션을 사용하여 해제함.

– passwd -u stkim

– 패스워드 lock 이 풀리게 되면 stkim 사용자는 이전에 사용했던 패스워드를 그대로 사용하여 접속이 가능해 짐.

7. 계정사용자의 패스워드 삭제하기

– 수퍼유저( root )는 일반계정사용자의 패스워드를 삭제할 수 있음.

– 계정사용자의 패스워드를 삭제하게 되면 아무 패스워드나 사용하여 로그인할 수 있음. 특별한 경우가 아니면 패스워드삭제는 하지 않는것이 좋음.

– 계정사용자의 패스워드 삭제시 passwd 명령어에 -d 옵션을 사용하면 됨.

– passwd -d stkim