<리눅스 설치 공간 확보(파티션 분할)>

1. 파티션(분할 영역)
물리적인 하드디스크를 여러 개의 논리적인 영역으로 분할한다.
디스크 공간을 여러 개의 하드 디스크가 있는 것처럼 활용하기 위함이다.



2. 리눅스 설치 공간 확보 - 파티션 분할
① 파티션 확인
② 윈도우 파티션 관리 도구 실행
③ Windows 7 [제어판]>[시스템 및 보안]>[관리도구]>[컴퓨터 관리]>[디스크 관리]
④ 파티션 정보 확인, 파티션 삭제, (제한적인) 파티션 병합 및 생성 수행

 

3. 파티션 분할 이유

- 한 시스템에 서로 다른 운영체제를 사용 가능 (멀티 부팅가능)
- 디스크 공간의 효율적 활용 (저장 공간)
- 하드 디스크의 물리적으로 손상 시 피해 축소 및 보안 유지
- 부팅 시간 단축 (파일 시스템 검사 시간 단축)
- 손상된 하드디스크 복구 시간 단축
- 자료 백업과 보안의 용이성

 

4. 주 파티션, 확장 파티션, 논리 파티션


다음은 각 파티션을 도식화한 것이다. 


[파티션 개수의 제약]
- 하나의 하드디스크에 만들 수 있는 주 파티션의 최대 개수 : 4개
- 파티션을 더 분할 할 경우 : 주 파티션 중 하나를 확장 파티션으로 전환 후 확장 파티션 내에
논리 파티션을 생성한다.
- 하나의 하드 디스크에서 분할 가능한 파티션의 최대 개수 : 16개
주 파티션 3 + 확장 파티션 1 + 논리 파티션 12
사용 가능한 파티션은 15개 (확장 파티션은 사용 못함)

 

5. 리눅스의 하드 및 파티션 표시법
 (E)IDE 타입의 하드 디스크 표현
(E)IDE 컨트롤러에 연결되어 있는 순서에 따라 „hd?‟로 표현한다.
예) hda, hdb, hdc, hdd
- /dev/hda  primary master HD
- /dev/hdb  primary slave HD
- /dev/hdc  secondary master HD
- /dev/hdd  secondary slave HD 

 

 SCSI, SATA 타입의 하드인 경우 (최신 리눅스는 EIDE 타입도)

/dev/sd? 로 표현함 -> 요즘은 거의다 이렇게 표시함


③ 파티션 표시
- 하드 디스크 표현 끝에 숫자를 붙여서 표시한다.
예) hda1  hda의 첫 번째 파티션
     hdb2  hdb의 두 번째 파티션 

 

- 하드 디스크 및 파티션 인식 방법의 예
/dev/hda1 : Primary master 하드디스크 첫 번째 파티션
/dev/hda2 : Primary master 하드디스크 두 번째 파티션
․․․
/dev/hdb1 : Primary slave 하드디스크 첫 번째 파티션
/dev/hdc2 : Secondary master 하드디스크 두 번째 파티션

 

[하나의 하드 디스크 상에서 파티션 표기법]

6. 리눅스를 설치를 위한 최소의 파티션 개수 : 2개

- 네이티브 (native) 파티션 혹은 루트(/) 파티션 : 리눅스가 설치되거나 시스템 파일 및 사용자 개인 파일 등 모든 파일이 저장되는 파티션
- 스왑(swap) 파티션 : 시스템 메모리를 확장하기 위해 사용하는 파티션 (가상 메모리)




LIST

'OS > Linux' 카테고리의 다른 글

리눅스 - 사용자와 그룹  (0) 2016.02.08
리눅스 - 마운트(Mount)  (0) 2016.02.07
리눅스의 배포판  (0) 2015.12.28
리눅스의 특징  (0) 2015.12.27
GNU 프로젝트  (0) 2015.12.27

[배포판(GNU/Linux distribution)의 정의]

- 리눅스의 커널에 사용자가 쓰기 편리하도록 리눅스 커널을 포함한 각종

응용프로그램과 설치 프로그램까지 포함하여 각 회사에서 만든 리눅스

운영체제의 상품명

 

[배포판의 역사]

- 1993년부터 영국 맨체스터 대학의 맨체스터 컴퓨팅 센터에서 최초의

배포판인 MCC Interim을 출시했다.

 

[배포판의 종류]

- 슬렉웨어 , 데비안, 리눅스 맨드레이크, 레드햇, 터보 리눅스, 수세 , 우분투, 페도라, 아시아눅스, CentOS, 젠투, 알짜, 미지 , 와우, 한컴 리눅스 등...

 

[배포판의 종류와 특징]

1. 슬랙웨어 - 배포판 가운데 가장 먼저 대중화된 배포판으로 1992년 패트릭

볼커딩에 의해 출시, 최근 패키지 관리의 문제점으로 인하여 인기가 다소 떨어짐

 

2. 데비안 - GNU 정신에 가장 충실한 배포판으로 GNU의 공식적인 후원을 받고

있는 유일한 배포판

 

3. 수세 리눅스 - 독일에서 출시된 배포판으로 유럽에서 가장 인기를 누리고 있음

 

4. 레드햇 - 세계적으로 가장 인기 있는 배포판으로 평가받았고, RPM(Redhat Packaging Manager)이라는 패키지 매니저를 통해 패키지의 인스톨, 언인스톨,업데이트를 편리하게 지원

 

5. Fedora - 레드햇이 지원하는 페도라 프로젝트(Fedora Project)라는 커뮤니티에서 만든 배포판

 

6. Ubuntu - 데비안 GNU/Linux 기반으로 만든 배포판으로 최근에 가장 인기가 많고, 개인 데스크톱용으로 인기. Wubi (가장 손쉬운 우분투 리눅스 설치 프로그램)을 이용해 설치한다.

 

7. 한컴 리눅스 - 국내 사용자들이 편리하게 사용할 수 있는 한국적인 리눅스, 운영체제 및 응용 프로그램 개발, 교육 및 서비스 등의 다양한 솔루션을 제공

LIST

'OS > Linux' 카테고리의 다른 글

리눅스 - 마운트(Mount)  (0) 2016.02.07
리눅스 설치 - 리눅스 설치 공간 확보(파티션 분할)  (0) 2015.12.28
리눅스의 특징  (0) 2015.12.27
GNU 프로젝트  (0) 2015.12.27
리눅스의 역사  (0) 2015.12.27

<리눅스의 특징>

1. 멀티유저, 멀티 태스킹 운영체제

: Multi-user : 여러 사용자가 동시에 하나의 시스템 접근

: Multi-tasking : 여러 개의 태스크를 동시에 실행하고, 교대로 컴퓨터의 자원을 사용할 수 있는 기능 (가상 터미널 지원)

 

2. 높은 신뢰성과 성능

- 유닉스의 기본 설계를 모태로 함

- 시스템의 자원을 효율적으로 관리 및 사용할 수 있음

- PC 서버에서도 엔터프라이즈 급의 성능 제공(성능이 낮은 PC에서도 리눅스가 작동함)

 

3. CUI(Command User Interface) 및 GUI(Graphic User Interface)의 지원

- 키보드로 문자를 입력 받는 커맨드 방식의 CUI 환경의 지원

- X 윈도우즈(X-Windows)를 활용한 GUI 지원

 

4. 뛰어난 안정성과 보안성

- 커널 소스코드 및 모든 관련 자료가 공개되어 빠른 발전을 지원

 

5. 다양하고 완벽한 네트워킹 기능

- 최다 프로토콜 지원 및 네트워크 서비스 기능 제공

- 여러 종류의 파일시스템을 지원

- 리눅스 파일시스템 ext2, ext3

- NTFS, FAT32, FAT, Minix-1, Xenix 등 다양한 파일시스템을

지원, IS-9660 CD-ROM 도 지원

 

6. 폭넓은 하드웨어 장치 지원 (플랫폼 제약 없음)

- 유닉스 기반의 운영체제로는 가장 많은 수의 하드웨어 장치 지원

- 커널의 소스가 공개되어 있기 때문

 

7. 다양한 업무 환경을 만족시키는 다양한 배포판의 존재

- 시스템 관리방식 및 구성 응용 프로그램의 종류나 범위 상이

 

8. 풍부한 응용 프로그램 제공

- GUI 소프트웨어, 네트워크 툴, 편집기, 개발도구 등

LIST

'OS > Linux' 카테고리의 다른 글

리눅스 설치 - 리눅스 설치 공간 확보(파티션 분할)  (0) 2015.12.28
리눅스의 배포판  (0) 2015.12.28
GNU 프로젝트  (0) 2015.12.27
리눅스의 역사  (0) 2015.12.27
리눅스 - 아파치(Apache) 구성하기  (0) 2015.12.27

<GNU 프로젝트와 자유 소프트웨어>

GNU( GNU‟s not Unix) 프로젝트는 리차드 스톨만(Richard M. Stallman)에 의하여 1984년 창설되었다. 완전한 유닉스 호환 소프트웨어 시스템의 개발을 목적으로 하였고, 소프트웨어를 공유했던 최초의 공동체이다. 현재는 자유소프트웨어재단(Free Software Foundation)이라는 이름으로 활동하고 있다. 

 

 

GPL(General Public License), 1989
- GNU 정신에 입각하여 자유 소프트웨어를 보호하고, Copyleft를 담보할 수 있는 법률 장치이자 사용권 허가 방법이다.

LIST

'OS > Linux' 카테고리의 다른 글

리눅스의 배포판  (0) 2015.12.28
리눅스의 특징  (0) 2015.12.27
리눅스의 역사  (0) 2015.12.27
리눅스 - 아파치(Apache) 구성하기  (0) 2015.12.27
리눅스 - autofs  (0) 2015.12.26

<리눅스의 역사>

유닉스(Unix) - 1971년, 리눅스의 모태이며 1969년 미국 벨 연구소에서 AT&T 직원인 켄 톰슨(Ken Tompson) 등이 멀티유저와 멀티태스킹 기능을 효과적으로 수행할 수 있는 운영체제를 만들기 위해 개발한 것이다. 데니스 리치에 의해 C 언어로 재작성되었고, 1969년 유닉스에 네트워크 기능을 집중적으로 보강한 BSD를 버클리 대학에서 개발되었다.

AT&T에서는 System V 버전을 개발 

 

1985년
리차드 스톨만이 'GNU Manifesto(선언문)' 발표하였고, 리눅스 및 다른 소프트웨어들이 무료로 공급될 수 있도록 ‘반저작권’을 주장하는 'GNU General Public License' 제정하였다.

 

1991년
핀란드 헬싱키 대학의 리누스 토발즈(21살)가 운영체제 설계과목 수강 중 교육용 운영체제인 Minix를 연구하였다. i386에서 운영되는 유닉스 호환 운영체제 개발을 시작하여, 리눅스 = 리누스(Linus) + 유닉스(Unix)를 만들었다.
8월 : 최초의 리눅스 버전 0.01의 완성 (기본 커널만 포함)
10월 5일 : 첫 번째 공식 버전 0.02 발표(유즈 그룹)
1993년 0.99p114 – 여러 개발자들의 공동 참여
1994년 1.0 발표
1999년 1월 2.2 발표
2014년 8월 현재 3.16.1 버전(stable) - www.kernel.org서 확인 할 수 있다.


LIST

'OS > Linux' 카테고리의 다른 글

리눅스의 특징  (0) 2015.12.27
GNU 프로젝트  (0) 2015.12.27
리눅스 - 아파치(Apache) 구성하기  (0) 2015.12.27
리눅스 - autofs  (0) 2015.12.26
리눅스 - NFS (Network File System)  (0) 2015.12.26

아파치를 구성해보자! 

먼저, 아파치에 대한 내용은 APM이라는 항목에 잘 찾아보면 포스팅 해놨다. 읽어보고 오길 바란다.

이번 실습은 httpd.conf에 documentroot를 이용해서 홈페이지를 띄우는 방법과 userdir을 사용해서 사용자 계정의 접근 권한을 실습할 것이다.

마지막으로는 alias도 사용해서 총 3가지의 홈페이지를 띄울 것이다.

 

1. 먼저 아파치 서비스를 실행시키자.

rpm -qa httpd를 입력한 후 설치되어 있으면 실행시켜보자.



잘 실행된 것을 볼 수 있다.

 

2. 아파치 설정파일인 /etc/httpd/conf/httpd.conf파일은 기본적으로 DocumentRoot가 /var/www/html로 되어 있다. 그리고 네임 서버가 지정되어 있지 않다면 다음과

같이 www.abc.com으로 지정해주자.



그렇기 때문에 홈페이지를 띄우고 싶다면 /var/www/html 디렉토리 아래에 index.html을 만들어 줘야한다



3. 참고로 DNS설정도 해주길 바란다.



4. 그 후에 데몬을 재실행 시켜주자.



5. www.abc.com을 입력하면 아까 /var/www/html에 넣었던 index.html이 잘 나올것이다.



6. 혹시나 안되는 경우는 방화벽이 막혀있을 확률이 높다
system-config-firewall에 들어가서 막힌 방화벽을 풀어주도록 하자.
 
7. 자 이번에는 기본적인 아파치 설치후 홈페이지 띄우기를 해봤다.
진짜 실습인 DocumentRoot를 이용한 홈페이지 열어 보겠다.
 
DocumentRoot를 abc계정의 홈 디렉토리로 변경하였다.


abc디렉토리 안에 index.html을 만들었다.



그 후, 경로를 입력해 실행해 보니 Forbidden이 떳다... 왜그럴까? 문제는 권한문제!
abc디렉토리의 권한이 실행이 -로 되어있기 때문이다.



권한을 풀어준다.



잘 실행되는 것을 볼 수 있다.



8. 이번에는 www.abc.com/~계정명을 입력했을때 들어갈 수 있도록
즉, 각자의 계정마다 웹페이지를 만들어 관리할 수 있는 환경을 구축해보자.
먼저, 계정을 하나 만들어준다.

/etc/httpd/conf/httpd.conf에 들어가서 UserDir부분을 다음과 같이 수정해준다.



데몬을 재실행한다



잘 열리는 것을 볼 수 있다.



LIST

'OS > Linux' 카테고리의 다른 글

GNU 프로젝트  (0) 2015.12.27
리눅스의 역사  (0) 2015.12.27
리눅스 - autofs  (0) 2015.12.26
리눅스 - NFS (Network File System)  (0) 2015.12.26
리눅스 - ssh, sftp의 원격접속과 서버간의 파일전송 scp  (0) 2015.12.26

<autofs>

autofs는 자동 마운트 데몬의 작동을 제어하는 프로그램이다.

이것은 파일 시스템을 마운트 하고, 일정시간동안 사용을 하지 않으면 언마운트 하는 데몬이다.

주로 NFS나 cd/dvd rom장치, 플로피 등 자주 사용되지 않는 특정 장치를 마운트 할 때 사용하는 데몬이다.

 

1. 패키지 설치



2. server에서는 /etc/exports에 마운트 할 NFS 설정만 해주면 된다.

 

3. /etc/sysconfig/autofs를 열고 다음을 수정한다.



BROWSE_MODE를 yes로 바꿔준다. autofs를 사용한다면 무조건 바꿔줘야함.

 

4. /etc/auto.master를 설정해준다.

/etc/auto.master파일은 자동으로 마운트 될 디렉토리와 대상 설정 파일이 들어있다.



/good은 내 PC에서 자동으로 마운트 될 디렉토리를 만들어 준 것이다. /etc/auto.misc는 누구와 마운트를 할 것인가를 정의해주는 파일이다

/etc/auto.misc파일을 보도록 하자.



맨 밑 줄을 보자

n1은 /etc/auto.master에 써 놓은 마운트 될 디렉토리의 하위 디렉토리를 설정한 것이다.

즉, /good이라는 디렉토리는 원래 존재하고, 마운트를 시키는 순간 n1이라는 디렉토리가 /good/n1이렇게 생기면서 /good/n1디렉토리와 nfs1과 마운트 되는 것이다. 가운데는 autofs 타입을 정의해 놓은 것이고, 마지막에는 대상을 말한다.

[옵션]

bg : nfs마운트가 처음 실패할 경우 백그라운드 상태에서 계속 시도하게 한다.

soft, hard : soft는 읽기전용으로 접속, hard는 읽기 쓰기 전용으로 접속

intr : 정지 프로세스를 죽이기 위한 인터럽트를 허용

nfs : 원격으로 대상을 마운트 할때 사용

 

5. 저렇게 설정을 끝낸 후, 데몬은 재실행해준다.

/etc/rc.d/init.d/autofs restart

 

6. 데몬이 재실행 되는 순간 자동으로 마운트가 된다.





LIST

<NFS>

네트워크 통신이 가능한 곳이면 리눅스 등의 운영체제에서 NFS를 사용하여 파일 시스템을 공유할 수 있다. 주로 공유할 때 NFS를 사용하게 된다. 쉽게말해 멀리 떨어져 있는 특정 서버의 디렉토리를 내 PC와의 마운트를 통해 파일을 공유받는 것이다.

 

1. NFS를 설치한다.

nfs-utils-lib, nfs-utils, nfs4-acl-tools를 설치하자.



2. /etc/exports파일을 열고 다음과 같이 넣어준다.


[공유할 디렉토리(서버측 디렉토리)]  [접근을 허가할 호스트/네트워크]  [옵션]

[옵션]

ro(기본값) : 읽기 전용으로만 연결 허용

rw : 읽기 쓰기 가능하게 연결 허용

root_squash(기본값) : 클라이언트 측에 관리자가 접속을 요청했을 때 익명계정으로 연결을 허용

no_root_squash : 클라이언트 측에 관리자가 접속 요청을 했을 때 서버 측에서의 관리자 계정으로 매핑시켜 연결을 허용

no_all_squash(기본값) : 클라이언트 측에 사용자가 접속 요청을 했을 때 서버 측에 동일한 사용자가 있으면 동일한 계정으로 연결을 허용

all_squash : 클라이언트 측에서 사용자로 접근 요청했을 때 익명 계정으로 연결을 허용(관리자 제외)

sync : 동기화

 

위를 해석하면 다음 설정하고 있는 서버의 디렉토리 /nfs1을 공유하겠다. 접근을 허용할 호스트는 192.168.1.20이고, 읽기 전용으로만 허용된다. 접속할 때 root계정으로 연결하여도 매핑시켜 연결을 허용하겠다 라는 의미이다.

다음은 해석해 보시길..!

 

3. 해당 디렉토리 생성 후(nfs1, nfs2, nfs3), NFS 데몬을 실행하자


exportfs -ra는 NFS의 설정 정보가 변경되었을 경우 NFS데몬의 재시작 할 필요 없이 exportfs -ra명령어로 변경된 내용을 적용할 수 있다.

 

4. rpcinfo -p로 nfs의 port번호를 확인

111번인 것을 확인할 수 있다.


5. system-config-firewall을 열어 방화벽을 풀어주자. nfs4를 열어주고, 111번 포트도 열어주자

 

6. 자 이제, 서버에서 아무 파일을 만들고 client PC에서 연결한 후 Remote마운트가 잘 되는지 알아보자.

[Server]

[Client]


7. 클라이언트 pc에서 내용을 수정하려 했지만 오류가 떳다.


이유는 서버측에서 아까 위에서 /etc/exports 파일을 수정하였을 때, /nfs1디렉토리의 파일들은 접근을 허용할 호스트는 192.168.1.20이고, 읽기 전용으로만 허용된다. 라고 해놨기 때문이다.

 

이번에는 어떻게 될까?

[server]

[client]


결과는 허가 거부다. 위에서 설정을 보면 /nfs2는 192.168.1.0 대역의 모든 사용자에게 rw의 권한을 주지만 사용자에 대한 특별한 지시어가 없다. 그럴땐 옵션에서 기본값이라고 되어있는 root_squash가 된다. root_squash은 관리자로 접속했을 때, 익명으로 접속하게 하는 것으로 보안을 위한 것이다. 그러므로 파일 자체를 rw권한으로 했어도 root권한이 아니기 때문에 파일에 대한 허가 거부가 된것이다.

 

두번째 예를 정상적으로 하려면 어떻게 할까?

[server]

서버측 설정을 이렇게 바꿔준다. 즉, 루트 접속 허용을 해준다.

[client]



LIST

ssh, sftp의 원격접속과 서버간의 파일전송 scp를 설명하기 위해 하나의 커다란 실습을 진행할 것이다. 

이 실습이 끝나게 되면 위의 3가지를 모두 이해 할 수 있을것이다.

 

<실습>

먼저 서버 ssh, ftp를 활용하기 위한 서버를 만들고 클라이언트 pc를 만들어 총 두 대의 컴퓨터로 실습을 할 것이다. (물론 vmware로 간편하게 실습한다)

그래서 서버와 클라이언트간에 ssh접속으로의 다운로드 업드로, scp를 이용한 다운로드 업로드, sftp를 사용한 다운로드 업로드를 실습해보자.

 

[Server 세팅]

1. 500MB짜리 하드디스크(/dev/sdb2)를 장착한 후, /sshdir에다가 마운트 시킨다.

부팅시 자동 마운트를 위해 /etc/fstab도 이용하자.

2. 계정을 총 3개를 만들것이다.

/sshserver/scp에 abc계정만 UID권한을 조정하여 다운로드, 업로드와 같이 접근을사용가능하게 할 것이다.

/sshserver/sftp ftpuser계정만 GID권한을 조정하여 다운로드, 업로드와 같이 접근을 사용가능하게 할 것이다.

/sshserver/ssh 다른 계정은 건드리지 말고, user계정으로 접속해서 해결해보자.

3. ssh와 su와 같은 보안설정을 해보자. user계정만 su를 사용할 수 있게 하자. (마음대로 사용할 수 없게)

 

 

[Client 세팅]

1. /sshclient/scp/abc_sub의 빈 파일을 만들것

2. /sshclient/sftp/ftpuser_sub의 빈 파일을 만들것

3. /sshclient/ssh/sshuser_sub의 빈 파일을 만들것

 

이렇게 세팅한 후에 클라이언트 pc에서 3가지 방법으로 다운로드 업로드 해보도록 하자.

 

1. 하드디스크 추가와 파일시스템 설정 그리고 마운트를 시켜주자.

하드디스크 추가 후, 파티션 나누기



파일시스템 설정해주기


마운트 포인트를 만들고 마운트 해주기


부팅시 자동으로 마운트하기 위해 fstab파일 설정


2. /sshserver에 디렉토리 만들고 각 파일을 만들어보자.

scp, sftp, ssh각 3개의 디렉토리 생성 후,

scp/abc, sftp/ftpuser, ssh/user라는 빈 파일을 만들어주자.(클라이언트 pc에서 다운로드 해줄 파일들이다)


3. vi/etc/ssh/sshd_config에서 PermitRootLogin을 no로 변경하여 서버에 root권한으로 접근 못하게 막아놓자.


4. 이제부터 계정에게 권한을 조절하여 위의 조건을 맞춰보자.

먼저, user계정만 su를 사용하게 해보자.


여기서 chown .wheel /bin/su는 /bin/su파일의 사용자와 그룹을 wheel로 바꾸겠다는 것이다.

usermod -G wheel user는 user라는 사용자를 wheel의 그룹으로 넣겠다는 것이다.

chmod 4750 /bin/su는 /bin/su파일의 권한을 rwsr-x---로 변경하는 것인데, 이 의미는 파일 소유자 wheel은 rwx가 모두 가능하며, wheel그룹에 속한 사용자들은 읽고 실행이 가능하게 한 것이다.

즉, wheel 그룹안에는 user라는 사용자가 있기 때문에 읽고 쓰기가 가능해진다는 의미이다.

한마디로 user는 su명령어를 사용할 수 있지만, ftpuser와 abc사용자는 su를 사용할 수 없다.

 

5. abc계정만 scp디렉토리의 권한을 UID로 변경해 사용할 수 있게 하고, ftpuser만 sftp디렉토리의 권한을 GID를 변경해 접근 제어를 해보자.

abc계정 제어


ftpuser계정 제어


6. 이제부터 Client PC를 실습해보자.

먼저 server와 똑같이 3개의 디렉토리 3명의 사용자, 3개의 파일을 만들어주자.


7. 모든 설정이 끝났다.

이제부터 클라이언트 PC에서 업로드와 다운로드를 해보자.

각각 오류가 뜨는데 이유도 같이 알아보자.

① abc계정을 이용한 서버로 부터의 다운로드, 업로드


클라이언트 PC에서 scp디렉토리로 이동 후, scp명령어로 서버로부터 다운로드를 받으려고 했다.

지금 접속되어 있는 계정은 root이다. 192.168.1.10에 /sshserver/scp에 있는 abc파일을 현재 디렉토리로 옮기려고 했지만 디나이 걸렸다. 왜그럴까? 아까 우리가 설정했던... PermitRootLogin no 때문이다. 루트로 접속을 거부했기 때문이다.


자, 이번에는 user라는 계정으로 바꿔서 접근을 시도하였지만 역시 접근하지 못했다. 이유가 무엇일까? 아까 위에서 scp의 파일 권한을 abc계정만 접근할 수 있게 UID를 만져서 바꿔놓았다.

마지막으로 abc계정으로 접근을 시도하여 다운로드 받아보자.


잘 받아온 것을 볼 수 있다.

 

자 이번에는 업로드를 시켜보자.

클라이언트 pc에 있는 /sshclient/scp/abc-sub파일을 서버로 업로드해보자.


권한으로인해 업로드 하지 못했다. 일부러 ftpuser로 보내봤는데 왜 보낼 수 없을까?


서버측으로 옮기려는 scp폴더의 권한을 보면 abc로 되어있고, abc를 제외한 모든 사용자들은 접근하지 못하게 했다. 그래서 보낼 수 없었다.

그 말은 즉슨, abc사용자는 업로드 시킬 수 있다는 것이다.


② ftpuser사용자를 이용해 sftp디렉토리의 파일을 다운로드 업로드 시켜보자.

ftpuser로 서버측에 있는 /sshserver/sftp로 잘 접속이 된다. 물론 다른 계정로 접속이 될 것이다. 하지만 그 이후에, 명령어의 제약이나 접근 제한이 있을것이다. 왜냐? /sshserver/sftp의 소유권은 root이고, 그룹은 ftpuser니까..!

ftpuser로 접속해 get으로 다운로드 하였다.


이번에는 클라이언트 PC에 있는 ftpuser-sub파일을 /sshserver/sftp로 put을 이용해 업로드 시켜주었다.


③ user사용자로 ssh접속을 해서 다운로드, 업로드를 해보자.


접속은 잘 되었지만, server에 있는 ssh파일을 보내려고 했지만 보낼 수 없었다.

왜 그런걸까? 지금 보내려고 하는 곳의 권한을 잘 보면 다음과 같다.


ssh의 소유자와 그룹 모두 root이다.  그렇기 때문에 user는 접근 거부 된것이다.

 

다음과 같이 server측에 있는 root만 접근 거부되었을 뿐, client측의 root계정은 권한이 풀려있기 때문에 root권한으로 다운로드 할 수 있다.


업로드는 클라이언트 PC에서 ssh를 이용하여 server에 접속한 상태이다. 그 상태에서 su -를 이용해 server의 root권한을 얻은 후, 클라이언트 pc에게 보내는 것이다. 업로드 할때는 접속한 sevas계정으로는 할 수 있는 것이 아무것도 없기 때문이다


LIST

'OS > Linux' 카테고리의 다른 글

리눅스 - autofs  (0) 2015.12.26
리눅스 - NFS (Network File System)  (0) 2015.12.26
리눅스 - /etc/ssh/sshd_config 파일  (0) 2015.12.26
리눅스 - IP 설정하기  (0) 2015.12.25
리눅스 - configure, make, make install 개념  (0) 2015.12.25

/etc/ssh/sshd_config 파일은 ssh 데몬에 대한 설정파일이다. 

각 행에 대한 내용은 이렇다

Port 22 -> 포트설정부분

 

Protocol 2 -> SSH 서비스 시 이용할 버전 선택

 

ListenAddress 0.0.0.0 -> 시스템에 여러 ip가 존재할 때 특정 ip대역으로 지정할 수 있다. ipv4이다.

 

ListenAddress :: -> ipv6

 

KeyRegenerationInterval 1h -> 자동으로 생성된 키의 유효 기간을 지정할 수 있는데 지금 1시간으로 지정되어 있다.

 

ServerKeyBits 1024 -> 서버의 암호키 생성시 이용하는 bit수를 지정할 수 있다. 최소값 512bit

 

LogLevel INFO ->로그기록 수준을 의미하는 항목이다.

warning이 실무에서 가장 많이 사용하는데, 단순 경고 메시지 수준이다.

info는 정보를 보여줘야 하는 수준이다.

 

LoginGraceTime 2m -> 사용자가 로그인 시 시간을 지정하는 항목, 2분이 지나면 접속을 해제한다.

 

PermitRootLogin yes -> 관리자의 로그인을 허용할 것인가에 대한 항목

기본값으로 관리자의 접근을 허용하였지만 권장하지는 않는다.



StrictModes yes -> 사용자의 홈 디렉토리인 /home/username의 권한값 등을 체크하도록 설정되어 있는 지시자인데, 감시모드이다.(누가 접속했는지 로그 정보를 남김)

어디에? /var/log/secure or message -> secure는 접속관련 로그, message는 시스템 에러 메시지

/etc/logrotate.d/syslog -> 로그기록방식 설정

 

MaxAuthTries 6 -> ssh 클라이언트 프로그램으로 로그인을 시도할 경우 인증 실패 횟수를 의미. 기본값은 6회 (6회이상 실패시 로그인 못함)

 

PasswordAuthentication no -> 로그인할 때 password를 사용하게끔 하는 부분

 

PermitEmptyassword no -> 패스워드 없이 접속 허용 여부를 설정

 

SubSystem sftp /usr/libexec/openssh/sftp-server -> sshd 데몬을 통하여 다른 프로그램, sftp-server를 실행할 수 있도록 설정하는 항목

LIST

+ Recent posts