배포판서도 똑같은 '리눅스 고급 명령어' 익히기

2010. 8. 6. 14:12
번역beta Translated by kaka i
글자크기 설정 파란원을 좌우로 움직이시면 글자크기가 변경 됩니다.

이 글자크기로 변경됩니다.

(예시) 가장 빠른 뉴스가 있고 다양한 정보, 쌍방향 소통이 숨쉬는 다음뉴스를 만나보세요. 다음뉴스는 국내외 주요이슈와 실시간 속보, 문화생활 및 다양한 분야의 뉴스를 입체적으로 전달하고 있습니다.

[쇼핑저널 버즈] 지난달에는 Linux의 기본 명령어를 살펴보았다. 이달에는 고급 명령어를 익힌다. 이 두 가지 명령어는 페도라 리눅스에 한정된 것이 아니라 대부분의 리눅스 배포판에도 동일하게 적용된다. Linux 고급 명령어와 개념들을 잘 익혀야만 앞으로 연재할 내용을 무리 없이 소화할 수 있다.

-Mount(마운트)리눅스에서 하드디스크 파티션, CD/DVD, USB 메모리 등을 쓰려면 특정 위치에 연결해야 한다. 물리적인 장치를 특정한 위치(일반적으로 디렉터리)에 연결하는 것을 마운트(mount)라고 부른다. 하드디스크 파티션은 리눅스를 설치할 때 시스템 시작에서 자동으로 등록하지만 이외에 다른 장치는 마운트를 해야 한다. X 윈도우는 자동으로 마운트하는 기능을 갖추고 있지만 수동으로 하는 방법도 익혀둬야 한다.

■ CD/DVD 마운트CD나 DVD를 리눅스에서 이용하는 방법을 먼저 익히자. 페도라 리눅스를 부팅하고 root 계정으로 로그인한다.

① 터미널을 열고 mount 명령어를 입력하면 현재 마운트된 장치를 확인할 수 있다. 그림처럼 /dev/sr0가 마운트한 CD/DVD 장치를 보여준다.

먼저 CD/DVD를 제거해 보자. VM웨어 화면의 오른쪽 아래 CD 모양의 아이콘을 클릭하고 [Disconnect]를 선택하면 CD/DVD가 제거된다. mount 명령어를 이용해 확인하면 /dev/sr0이 보이지 않는다.

VM웨어 화면 오른쪽 아래의 CD 모양 아이콘을 클릭한 다음 [Setting]을 선택하고 CD/DVD나 ISO 이미지를 선택한다. [OK] 를 클릭한다.

X 윈도우에서는 삽입한 CD/DVD가 자동으로 마운트되고 DVD 폴더 창이 열린다.

■ 직접 마운트해서 쓰기페도라 리눅스는 자동으로 마운트를 해주지만 그렇지 않는 경우도 많다. 따라서 수동으로 마운트하는 법을 알아야 한다. 터미널에서 'umount /dev/sr0'을 입력해 언마운트(unmount)하자. 언마운트는 마운트한 장치를 해제한다는 의미다. 수동으로 마운트하려면 먼저 필요한 디렉터리를 만들어야 한다.

① /cdrom 디렉터리를 만들고 CD/DVD를 마운트해 보자. 명령어 형식은 'mount 장치이름 마운트할 디렉터리'다. CD/DVD 장치이름은 리눅스마다 다르다. 페도라 13은 /dev/sr0로 되어 있지만 /dev/cdrom, /dev/dvd 등도 쓰인다.

② 마운트가 되면 cdrom 디렉터리로 들어가서 CD/DVD를 읽을 수 있다.

③ CD/DVD를 더 이상 쓰지 않으면 언마운트한다. 'umount 장치이름' 'umount 마운트된 디렉터리'를 입력한다. '장치가 사용 중(device is busy)'라는 메시지가 나올 수 있다. 터미널의 현재 마운트된 디렉터리여서다. 디렉터리 경로를 바꾼 다음 실행한다. 자주하는 실수이므로 주의한다. 아무 메시지가 나오지 않으면 언마운트가 잘 된 것이다.

③과 동일

■ USB 장치 마운트USB 메모리나 외장하드디스크도 CD/DVD와 비슷한 방식으로 마운트해서 써야 한다. 이용하는 방법은 크게 다르지 않다.

① USB 메모리나 외장하드디스크를 연결하고 VM웨어 화면 오른쪽 아래의 흐리게 표시된 외장 드라이브 아이콘을 클릭한 다음 [Connect(Disconnect from host)]를 선택하면 USB장치가 페도라 리눅스에 연결된다.

② X 윈도우에 마운트된 폴더가 열린다.

■ 수동으로 USB 장치 마운트하기수동으로 마운트하는 방법을 알아보자. 'umount /dev/sdb1' 명령어를 입력해 언마운트한다. USB 저장장치는 /dev/sdb1으로 마운트된다. 현재 하드디스크가 /dev/sda로 저장되어 있으므로 그 다음 순서인 /dev/sdb로 자동으로 인식되는 것이다.

마운트할 디렉터리를 생성한 후에 그 디렉터리에 마운트해 보자. 그리고 아무 파일이나 복사한 후에 언마운트한다.

VM웨어에서 장치의 연결을 끊은 다음 호스트 컴퓨터에서 확인하면 복사했던 파일이 보인다.

-이용자와 그룹 관리리눅스는 여러 명의 이용자가 동시에 접속해서 쓰는 멀티유저시스템(multi-user system)이다. 리눅스에는 기본적으로 root라는 이름의 수퍼 유저(super user)가 있다. root는 시스템 관리와 설정에 필요한 모든 권한을 쥐고 있다. 다른 이용자를 추가하는 것도 root의 권한이다. 이용자는 그룹에 소속되어 있어야 한다. 이용자과 그룹에 대해 알아 두자.

이용자에 대한 내용은 /etc/passwd 파일에 담겨 있다. 다음 그림은 passwd 파일의 내용이다. 첫 줄의 root부터 gdm까지 페도라 리눅스의 표준 계정이다. 각 행은 '이름:암호:ID:그룹 ID:전체 이름:홈 디렉터리:기본 셸'과 같은 형태로 되어 있다.

f13user을 예로 들면 이름은 f13user, 암호는 x다. x는 /etc/shadow 파일에 비밀번호가 저장되어 있다는 의미다. ID는 번호로 표시되는데 여기서는 500번, 그룹 ID도 500번이다. 전체 이름은 생략되었고 홈 디렉터리는 /home/f13user, 셀은 bin/bash를 쓴다.

그룹과 관련된 파일은 /etc/group에 저장되어 있다. 그림은 group 파일의 내용이다. 각 줄은 그룹 이름:비밀번호:그룹 ID 번호:그룹에 속한 ID로 구성된다. 마지막의 그룹에 속한 ID는 단순 참조용이다. 아무 내용도 없더라도 그룹에 소속된 ID가 없다는 뜻이 아니다. 실제로 그룹에 포함된 ID를 보려면 /etc/passwd 파일을 참조한다.

-이용자 ID/그룹 관련 명령어리눅스는 서버에 많이 쓰이기 때문에 이용자와 그룹, 권한 등을 다룰 줄 알아야 한다. 여기서는 이런 작업에 필요한 명령어에 대해 알아본다.

리눅스는 서버에 많이 쓰이기 때문에 이용자와 그룹, 권한 등을 다룰 줄 알아야 한다. 여기서는 이런 작업에 필요한 명령어에 대해 알아본다.■ userdd(또는 adduser)이용자 ID를 추가한다. 명령어를 실행하면 /etc/passwd, /etc/shadow, /etc/group에 행이 추가되고 ID를 이용할 수 있다. 다음은 실제 명령어를 활용하는 예제다.

userdd fedorauser

fedorauser라는 이름의 ID 생성

userdd -u 555 fedorauser

fedorauser를 ID 번호를 555로 정해서 생성

userdd -g fedoragroup

fedorauser fedorauser를 만들고, fedoragroup라는 그룹에 포함

userdd -d /myhome fedorauser

fedorauser를 만들고 홈 디렉터리를 /myhome으로 지정

userdd -s /bin/csh fedorauser

fedorauser를 만들고, 기본 셸을 /bin/csh로 지정

passwd : 비밀번호를 만들거나 수정한다. passwd fedorauser라고 입력하면 fedorauser의 비밀번호를 바꾸고, passwd만 입력하면 현재 로그인한 ID의 비밀번호를 바꾼다.usermod : ID의 속성을 변경한다. 옵션과 이용 방법은 useradd와 같다. 즉 useradd 대신 usermod 명령어를 쓴다. 예를 들어 usermod -g root fedorauser라고 입력하면 fedorauser의 그룹을 root 그룹으로 변경한다.

userdel : 이용자 ID를 삭제한다.

userdel fedorauser

fedorauser를 삭제한다.

userdel -r fedorauser

fedorauser를 삭제하고 홈 디렉터리도 지운다.

■ chage리눅스는 서버로 많이 쓰이기 때문에 해킹 위협이 많은 편이다. 특히 비밀번호가 유출되면 해킹 위협이 더 커지게 된다. 따라서 관리자는 이용자가 암호를 주기적으로 바꾸도록 설정해 보안을 강화할 수 있다.

chage -l fedorauser

fedorauser에 설정된 내용 확인

chage -m 5 fedorauser

fedorauser가 설정한 암호를 쓰는 최소 날짜. 예를 들어 암호를 바꾼 다음 최소한 5일 동안 바꿀 수 없다.

chage -M 40 fedorauser

edorauser가 설정한 암호를 쓰는 최대 날짜. 암호를 바꾼 다음 40일 후에는 암호를 다시 바꿔야 한다.

chage -E 2015/11/11 fedorauser

fedorauser가 설정한 암호가 만료되는 날짜. 2015/11/11까지만 현재의 암호를 쓸 수 있다.

chage -W 20 fedorauser

fedorauser의 암호가 만료되기 전에 경고하는 기간. 암호가 만료되기 20일 전부터 경고 메시지가 표시된다. 이 설정을 하지 않으면 7일 전부터 경고 메시지가 뜬다.

■ groupadd새 그룹을 만든다. 이용자 대신 그룹을 만드는 것일 뿐 명령어 형식은 adduser와 같다.

# groupadd fedoragroup

fedoragroup 그룹을 생성

# groupadd -g 555 fedoragroup

그룹 ID 번호를 555로 해서 fedoragroup을 생성

■ gpasswd그룹의 암호를 설정하거나 그룹 관리를 한다.

gpasswd fedoragroup

fedoragroup의 암호를 지정

gpasswd -A fedorauser fedoragroup

fedorauser를 fedoragroup의 관리자로 지정

gpasswd -a user1 fedoragroup

user1을 fedoragroup에 포함

gpasswd -d user1 fedoragroup

fedoragroup에서 user1을 제거

groups : 현재 이용자가 속한 그룹을 보여준다.groupmod : 그룹의 속성을 변경한다. groupmod -n newgroup fedoragroup이라고 입력하면 newgroup 그룹의 이름을 fedoragroup으로 변경한다.groupdel : 그룹을 삭제한다. groupdel fedoragroup라고 치면 삭제된다. 이 그룹에 속한 이용자가 없어야 한다.

-파일 소유권과 허가권리눅스는 각각의 파일과 디렉터리마다 소유권과 허가권이라는 권한 속성이 있다. 멀티유저시스템인만큼 각 이용자의 프라이버시와 보안을 위해 꼭 필요한 기능이다. 윈도우는 주로 데스크톱용으로 쓰기 때문에 이 권한에 대해 신경 쓰지 않아도 문제가 없지만 리눅스는 소유권과 허가권을 자세히 알고 있어야 한다.

리눅스의 파일 속성.

권한에 대해 설명하기 위해 ls -l 명령어를 입력해서 나오는 내용을 살펴봐야 한다. 그림은 ls -l의 명령어로 나온 파일 속성을 보여준다.■ 파일 유형이 파일의 형태를 의미한다. 디렉터리일 경우에는 d, 파일은 -로 표시된다. 그 외에 b(블록디바이스), c(문자디바이스), l(링크) 등이 있다.■ 파일 허가권(permission)파일 허가권은 모두 9자리인데 rw-, r--, r--로 3개씩 끊어 읽으면 된다. r은 read를, w는 write, x는 execute의 약자다. 'rw-'는 읽거나 쓸 수는 있지만 실행할 수 없다는 의미다.

'rwx'는 읽고 쓰고 실행이 가능한 파일이다. 첫 번째 3자리의 'rw-'는 파일 소유자의 권한, 두 번째의 3자리는 그룹(group)의 권한, 세 번째는 소유자와 그룹도 아닌 그 외의 이용자(other)의 권한을 뜻한다. 즉 install.log 파일의 경우 파일 소유자는 읽거나 쓸 수 있고, 그룹에 속하면 읽을 수만 있고, 그 외 이용자도 읽을 수만 있다.

허가권은 숫자로도 표시하는데 install.log 파일의 허가권은 다음과 같다.

소유자(Owner)

그룹(Group)

그 외 사용자(Other)

소유권

r w -

r - -

r - -

2진수

1 1 0

1 0 0

1 0 0

10진수

4+2+0= 6

4+0+0 = 4

4+0+0 = 4

소유자의 허가권 6은 2진수로 110이므로 'rw-'가 되고, 그룹의 허가권인 4는 2진수로 100이므로 'r--'로, 그 외 이용자의 허가권인 4라는 숫자도 2진수로 100이므로 'r--'로 표현되는 것이다.

예를 들면 파일 허가권이 754라면 'rwxr-xr--'이 된다. 7 = 4+2+1가 되어 4는 r, 2가 w, 1이 x가 된다. 5 = 4+0+1이므로 4가 r, 0은 -, 1이 x가 된다. 마지막에 4 = 4+0+0이므로 4는 r, 0은 -, 0, -가 된다.

파일의 허가권을 변경하는 명령어는 지난달에 소개한 'chmod'다. 이 명령어는 root와 해당 파일의 소유자만 실행할 수 있다. 단 root 권한일 때는 파일 소유자와 상관없이 권한을 바꿀 수 있다. 예를 들어 'chmod 777 install.log' 명령어를 입력하면 install.log 파일은 모든 이용자가 읽고, 쓰고, 실행할 수 있는 파일이 된다.■ 파일 소유권(ownership)파일 소유권은 파일을 소유한 이용자와 그룹을 의미한다. 파일의 소유권을 바꾸는 명령어는 'chown'이다. 'chown 새 소유자 ID 파일 이름'의 형식으로 쓴다. 예를 들어 'chown f13user install.log'라고 하면 install.log 파일의 소유자를 f13user으로 바꾼다. 'chown f13user.f13user install.log'는 소유자와 그룹을 모두 f13user으로 바꾼다. 그룹만 바꿀 때는 'chgrp f13user install.log'라고 입력한다.

이버즈 트위터에 추가하기

우재남 GIS DB 구축 컨설팅 전문회사 디티솔루션 ()

'IT 제품의 모든것'-Copyright ⓒ ebuzz.co.kr, 무단전재 및 재배포 금지

Copyright © 전자신문. 무단전재 및 재배포 금지.

이 기사에 대해 어떻게 생각하시나요?