OS/Linux 2014. 6. 10. 15:16

vsftpd 를 이용 중 다음과 같은 에러가 발생했다.


500 OOPS: vsftpd: refusing to run with writable root inside chroot()

ftp 사용 계정을 만들고, 관련하여 여러 설정을 진행하게 된다. 이 중 사용자 계정의 홈디렉토리를 루트 처럼 보이게 하는 설정이 있다.

chroot_local_user=YES

이 옵션을 이용하게 될 경우 사용자는 자신의 홈디렉토리 상위로는 접근을 하지 못하게 된다. 이는 디렉토리 구조를 공개하지 않음으로써 보안을 좀 더 강화 할 수 있다.


vsftpd 2.3.5 버전으로 올라가면서, 보안에 강화되어 기본값이 chroot 사용으로 변경되었다. 그리고, 일반 사용자의 경우 쓰기 권한이 있을 경우 위와 같은 에러가 발생 되도록 되었다. 


우회 하는 방법으로 쓰기 권한을 제거 한다던가, local_root=/home 과 같은 방식으로 chroot 경로를 강제로 지정하는 방법등이 있는데, 어디까지나 우회하는 방법이기 때문에 사용 목적에 맞게 설정하면 될 것 같다.

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

kernel.shmmax  (0) 2014.06.17
Linux에서 로그인 실패 시 계정 잠금 설정  (0) 2014.06.13
tmux - window 관리  (0) 2014.05.28
tmux - 세션 관리  (0) 2014.05.28
본딩 구성  (0) 2014.05.21
posted by 구닥다리 엔지니어
:
OS/Linux 2014. 5. 28. 11:09

생성 하기


윈도우를 생성하려면, tmux 실행 후 다음과 같이 한다.

ctrl + b + c


command line 에서 추가하는 방법은 다음과 같다.

$ tmux new -s 세션 -n 윈도우


이름 변경하기


ctrl + b + ,


이동하기


다음과 같이 특정 윈도우로 이동할 수 있다.

ctrl + b + w


그리고, 원하는 윈도우를 찾을 수 있다.

ctrl + b + f


posted by 구닥다리 엔지니어
:
OS/Linux 2014. 5. 28. 10:50

간단한 사용법을 알아두면 활용도가 엄청나다.


기본적인 개념이 존재하는데, 다음과 같다.

  • session : tmux를 실행할때 마다 생성되며, 사용자가 로그인할 때와 마찬가지로, 유지되는 연결을 말한다.
  • window : tmux session 안에서 여러개의 windows를 만들 수 있으며, 한 화면에 보여지는 터미널 창을 말한다.
  • pane : 하나의 윈도우 창을 분할 했을때, 각각의 쪼개진 화면을 말하며, 하나의 윈도우는 여러개의 pane으로 나눌 수 있다.

세션에 이름 부여하기


$ tmux new-session -s 세션이름

or

$ tmux new -s 세션이름


세션 생성 후 이름 변경 할 경우에는
ctrl + b + $

입력 후 수정


다른 방법으로는 명령행에서 변경인데,

ctrl + b + :

로 명령행 진입 후 명령행에서 다음을 입력

tmux rename-session


세션 유지하기


session detached로 세션을 빠져나오기만하고 유지할 수 있다.

ctrl + b + d


세션 확인하기


tmux list-session

or

tmux list-sessions

or

tmux ls


기존 세션 연결하기


tmux attach -t 세션명


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

500 OOPS: vsftpd: refusing to run with writable root inside chroot()  (0) 2014.06.10
tmux - window 관리  (0) 2014.05.28
본딩 구성  (0) 2014.05.21
Apache 상위 디렉토리 금지  (0) 2014.05.21
[Debian]데비안에 zabbix agent 설치하기  (0) 2014.05.15
posted by 구닥다리 엔지니어
:
OS/Linux 2014. 5. 21. 22:01

네트워크 설정 파일을 수정해서 본딩을 구성한다.

다음은 eth0, eth1을 본딩했을 경우다.

1. ifcfg-bond0 파일 생성

cd /etc/sysconfig/network-script

touch ifcfg-bond0


2. ifcfg-bond0 파일에 내용 추가

DEVICE="bond0"

BOOTPROTO="none"

ONBOOT="yes"

IPADDR=111.111.111.111

NETMASK=255.255.255.0

GATEWAY=111.111.111.1


3. ifcfg-eth0 수정

DEVICE="eth0"

BOOTPROTO="none"

ONBOOT=yes

MASTER=bond0

SLAVE=yes


4. ifcfg-eth1 수정

DEVICE="eth1"

BOOTPROTO="none"

ONBOOT=yes

MASTER=bond0

SLAVE=yes


5. /etc/modprobe.conf 파일 수정

alias bond0 bonding

options bonding mode=0

options bond0 miimon=100


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

tmux - window 관리  (0) 2014.05.28
tmux - 세션 관리  (0) 2014.05.28
Apache 상위 디렉토리 금지  (0) 2014.05.21
[Debian]데비안에 zabbix agent 설치하기  (0) 2014.05.15
본딩과 mode  (0) 2014.05.13
posted by 구닥다리 엔지니어
:
2014. 5. 21. 14:39

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.

OS/Linux 2014. 5. 15. 11:58

소스 컴파일 하는 방법으로 설명한다.

우선 홈페이지에서 최신 버전을 다운로드 한다.

다운로드는 tar.gz 파일을 받으면 되고, 소스컴파일이기 때문에 다음과 같이 컴파일 환경을 만들기 위해 build-essential 패키지를 설치해 준다.

apt-get install build-essential

# 다운로드한 파일의 압축을 풀어준다.

tar zxvfp zabbix-version.tar.gz

mkdir /etc/zabbix

cd zabbix-version

./configure --sysconfdir=/etc/zabbix --enable-agent

make install

cp zabbix-version/misc/init.d/debian/zabbix-agent /etc/init.d/


/etc/zabbix/zabbix_agentd.conf 파일을 열어 다음을 수정해 준다.

Server=[zabbix 서버 ip or 도메인]

ServerActive=[zabbix 서버 ip or 도메인]

저장 하고 재시작을 하면 완료 된다.

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

본딩 구성  (0) 2014.05.21
Apache 상위 디렉토리 금지  (0) 2014.05.21
본딩과 mode  (0) 2014.05.13
find - xdev  (0) 2014.05.08
sed - 패턴과 일치하는 라인의 내용 변경하기  (0) 2014.05.08
posted by 구닥다리 엔지니어
:
OS/Linux 2014. 5. 13. 13:49

Linux Bonding 설정하기

채널 본딩(Channel Bonding) 또는 이더넷 본딩은 호스트 컴퓨터에서 안정성이나 전송속도를 높히기 위해서 두개 이상의 네트워크 인트페이스를 다루는 방식이다.

본딩을 위해서는 이더넷 네트워크 스위치와 호스트 컴퓨터의 운영 체제에서 이를 지원해야 한다. 

윈도우에서는 티밍(teaming)이라고 불리운다.

참고


본딩의 종류


  • mode=0 : Balance Round Robin
  • mode=1 : Active Backup
  • mode=2 : balance XOR
  • mode=3 : broadcast
  • mode=4 : 802.3ad
  • mode=5 : Balance TLB
  • mode=6 : Balance ALB

mode 0 (balance Round Robin)
2개의 NIC을 순차적으로 분배 + Fault Tolerance
회선이 2회선일 경우 트래픽을 같이 사용할 수 있어 대역폭을 분산시키는데 효율적이다.
네트워크에 단절이 오더라도 이를 보안하는 기능이 존재한다.


mode 1 (active - backup)

네트워크 이중화 용도로 사용된다. 실제 사용시에는 2개의 백본에 2개의 NIC이 연결이 되며, 활성화 되어있는 NIC에 문제 발생시 예비 NIC으로 전환하는 기능을 한다.


mode 2 (balance-xor)

XOR 방식에 따라 패킷을 전송한다. (Source MAC Address가 Target Address로 비트연산) 

모드 0과 비슷하지만 근원지 MAC에서 목적지 MAC으로 비트 연산을 통하여 분배한다. 보통 방화벽과 비슷한 방식이기는 하나 들어오는 리퀘스트에 MAC을 연결하는 방식이다.


mode 3 (broadcast)

모든 NIC에 동일한 패킷을 broadcast로 발송한다.


mode 4 (802.3.ad)

Dynamic Link Aggregation 정책으로 동작된다.

speed와 duplex 설정을 공유하는 aggregation groups를 스위칭 장비에서 설정하여야 한다. 단, 802.3.ad를 지원하는 스위치에서만 사용이 가능하며, 연결대수에 상관없이 그룹화에 따라 회선의 정책이 변경되어 무단절 인터넷 연결을 가능하게 만드는 방식


mode 5 (balance-tlb)

로드밸런싱 정책으로 밖으로 내보내지는 트래픽은 분산되어 송출되며, 들어오는 트래픽은 Active되어 있는 NIC으로 패킷을 받는다. 만약 Active 되어 있는 NIC이 문제로 패킷을 받지 못하면 또다른 NIC이 실패한 NIC의 MAC Address를 물려받게 된다.


mode 6 (balance-alb)

들어오는 트래픽을 분산 처리하여 받는다. bond에서 트래픽이 많이 존재하지 않는 NIC으로 분산된다. 들어오는 로드밸런싱은 ARP negotiation을 통해서 수행된다.

참고 사이트

http://root.so/%EB%A6%AC%EB%88%85%EC%8A%A4-%EB%B3%B8%EB%94%A9-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0/



posted by 구닥다리 엔지니어
:
OS/Linux 2014. 5. 8. 12:19


xdev 사용하면 다른 파일시스템의 디렉토리를 검색하지 않는다.

정확한 내용인지는 모르겠지만, find 조건에 /를 지정하고 검색하게 되면 다음과 같이 proc 파일시스템에서 검색하다가 찾지 못했다는 메세지를 뿌린다.

/proc/17593/task/17593/fd/5': No such file or directory

하지만, -xdev 옵션을 넣게 되면 이러한 메세지가 사라진다.

find / -xdev -name "*.log"

-xdev 옵션의 위치에 따라 다음과 같은 메세지가 나올 수 있다.

# find / -name "*.log" -xdev

find: warning: you have specified the -xdev option after a non-option argument -name, but options are not positional (-xdev affects tests specified before it as well as those specified after it).  Please specify options before other arguments.

테스트 해본 결과 -xdev 옵션은 찾을 경로 다음에 위치해야 한다.


posted by 구닥다리 엔지니어
:
OS/Linux 2014. 5. 8. 10:38

특정 라인의 내용을 변경해야 할 일이 있다.

전체 혹은 일부분을 수정할 수 있는데, 여기서는 전체를 수정하는 방법을 알아 본다. 일부분이 수정되었다면, 치환 기능을 이용하고 치환 기능으로 해결이 안된다면, 이 방법을 이용하면 해결될 것 같다.

먼저 특정 라인의 내용을 변경하는 방법은 다음과 같다.

여기서는 5번째 라인의 내용을 변경한다고 가정한다.

sed "5 c\변경할 문자열" filename


다음은 특정 패턴과 일치하는 라인의 내용을 변경하는 방법이다.

sed "/pattern/ c\변경할 문자열" filename


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

본딩과 mode  (0) 2014.05.13
find - xdev  (0) 2014.05.08
로그인 기록 secure 로그에 남기기  (0) 2014.05.08
로그인에 성공한 IP 보기  (0) 2014.05.07
특정일 동안 접속 기록 확인  (0) 2014.05.07
posted by 구닥다리 엔지니어
:
OS/Linux 2014. 5. 8. 10:04

일반 사용자가 su 명령을 이용해 root 권한을 얻을 수 있다.

이러한 권한을 보안상 막아놓게 되는게 일반적인데, 이러한 기록을 secure 로그에 남겨서 어떤 사용자가 root 권한을 얻을려고 시도했는지 확인할 수 있는 방법이 있다.

리눅스에서는 pam 모듈로 인증을 제어할 수 있는데, 다음과 같은 설정으로 secure 로그에 기록할 수 있다.

/etc/pam.d/su

auth            required        pam_wheel.so use_uid debug

위 부분이 기본적으로는 주석처리 되어 있는데, 주석을 해제하고, debug 옵션을 추가하면 된다. 위와 같은 설정을 하면, 허가된 사용자 그룹만 su 명령을 사용할 수 있게 된다. 


su 명령을 사용하게 되면 secure 로그에 다음과 같은 방식의 로그가 남는다

pam_wheel(su-l:auth)


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

find - xdev  (0) 2014.05.08
sed - 패턴과 일치하는 라인의 내용 변경하기  (0) 2014.05.08
로그인에 성공한 IP 보기  (0) 2014.05.07
특정일 동안 접속 기록 확인  (0) 2014.05.07
deamon - irqbalance  (0) 2014.04.29
posted by 구닥다리 엔지니어
: