위사진은 80년대의 사진이 아닙니다.
바로 현재. 지금 살고 있는 2008년 6월 10일이 모습입니다.
아침 각 뉴스사이트에 나온 사진을 보자마자 실소를 금치 못했다.
촛불 시위를 막는다고, 경찰은 청와대로 가는 길목길목에 컨테이너 박스를 설치해서 길을 막았다.
새벽 1시에 시작된 공사로 아침 출근 시간엔 극심한 교통 체증을 유발했으며, 지나가는 시민들도 어이 없다는 표정으로 모두들 처다 보면서 남모를 웃을을 짓고 있다.
어청수 경찰청장.
이것이 부산에서도 하더니 그것을 서울에 가지고와 똑같이 하려 한다.
정말 어이 없다는 말밖에 할 수 없다.
현재 시각 7시를 넘어서 드디어 6.10, 100만 촛불 집회가 시작을 할것이다.
마치 축구 경기를 중계하듯, 다음에서는 실시간 중계까지 한다.
http://media.daum.net/candlelight_vigil/index.html마치 온국민의 축제인양,
경찰은 축제를 할곳을 컨테이너로 친절하게 막아주고.
"니들은 여기서만 놀아라~"
컨테이너까지 나오고..
사실 오늘 집회가 약간 두렵기도 하다.
많은 사람이 모일수록 작은 선동에도 그게 동요할수 있고,
그만큼 폭력을 선동하는 세력이 나올것이다.
심증만 있는 경찰 프락지 세력이 있을수도 있고,
충돌이 커지면 정말 세계 탑 토픽으로 나올 뉴스가 나올수 있다.
직접 자리에는 못가지만..
생방송을 계속 봐봐야 겠다.
vsftpd 의 기능중 가상 유저를 만들어 서비스하는 방법을 설명합니다.
이 글에서는 pam_pwdfile 을 이용해 사용자를 인증하여 FTP를 재공하는 방법을 설명합니다.
먼저 Linux-PAM 과 pam_pwdfile 소스를 다운 받습니다. pam_pwdfile 을 이미 사용중이라면 받지 않아도 됩니다.
Linux-PAM 은 아래 링크에서 다운 받으세요.
http://www.us.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-0.75.tar.bz2pam_pwdfile 은 아래에서 바로 받으세요.
http://cpbotha.net/files/pam_pwdfile/pam_pwdfile-0.99.tar.gz예를 들어 /usr/local/src 에 두 화일을 모두 받았다고 하면
그곳에서 pam_pwdfile 의 압축을 풉니다.
/usr/local/src# tar zxvf pam_pwdfile-0.99.tar.gz
pam_pwdfile-0.99 폴더로 들어가서 INSTALL 화일을 읽으면 설치 하는 방법이 나옵니다.
1번에 Linux-PAM 의 최신 버전을 받을 수 있는 주소가 나오는데 위에 받은 버전과 같은지 체크해주세요.
아래 내용은 INSTALL 화일에 있는 내용을 제가 다시 설명한것입니다.
그후 src 폴더에서
/usr/local/src# bunzip2 -c Linux-PAM-0.75.tar.bz2 | tar -xvf -
를 쳐서 Linux-PAM 의 압축을 풉니다.
# cd Linux-PAM-0.75/modules
# tar -xzvf /where/you/put/it/pam_pwdfile-0.99.tar.gz
# cd ..
# rm default.defs (보통 화일이 없습니다.)
# ln -s defs/linux.defs default.defs (linux 아니면 자신의 OS에 맞는 화일을 입력하세요.)
Linux-PAM-0.75 폴더에서
# make all 을 칩니다.
자, 이제 Linux-PAM-0.75/modules/pam_pwdfile 폴더에 pam_pwdfile.so 화일이 생성 됐을것입니다.
이 화일을 /lib/security 폴더로 복사하세요.
cp modules/pam_pwdfile/pam_pwdfile.so /lib/security
/etc/pam.d/ 폴더로 가서
vsftpd 라는 화일을 만들고 그안에 아래 내용을 씁니다.
#%PAM-1.0
auth required pam_pwdfile.so pwdfile /etc/vsftpd/passwd_ftp
account required pam_permit.so
/etc/vsftpd/ 폴더로 갑니다.
filter.pl 이라는 화일을 만듭니다.
#! /usr/bin/perl -w
use strict;
# filter "user:cleartext" lines into "user:md5_crypted"
# probably requires glibc
while (<>) {
chomp;
(my $user, my $pass) = split /:/, $_, 2;
my $crypt = crypt $pass, '$1$' . gensalt(8);
print "$user:$crypt\n";
}
sub gensalt {
my $count = shift;
my @salt = ('.', '/', 0 .. 9, 'A' .. 'Z', 'a' .. 'z');
my $s;
$s .= $salt[rand @salt] for (1 .. $count);
return $s;
}
위 내용을 쓰고 저장합니다.
그리고 실행 권한을 줍니다.
chmod 755 filter.pl
Makefile 이름으로 화일을 만듭니다.
passwd_ftp: cleartext
touch $@
chmod 600 $@
./filter.pl $< >$@
이제 cleartext 라는 화일을 만듭니다.
이 화일이 가상 유저들 정보가 있는 화일입니다.
id:pass 형식으로 넣어주세요.
즉,
test:mypasswd
newuser:newpasdd
이렇게 하면 test와 newuser 라는 유저를 설정하는 것입니다.
저장후 나와서
make 라고 칩니다.
그러면 passwd_ftp 라는 화일이 만들어지고
그안에 유저 아이디와 인코딩된 패스워드가 있을것입니다.
자, 이젠 vsftpd 에서 이 passwd_ftp 를 참조해서 유저를 나누게 설정해야 합니다.
앗, 그전에 이 모든 가상 유저를 실 계정과 연결을 해야 합니다.
ftp만 쓰일 서버 계정을 만드세요.
만약 ftpfile 이라는 유저로 만든다면
adduser ftpfile
그후, vsftpd.conf 를 열어서 맨 마지막에
아랫줄을 넣습니다.
## For Virtual User Setting ##
guest_enable=YES
guest_username=ftpfile (이것은 위에 생성한 계정 이름입니다.)
user_sub_token=$USER
chroot_local_user=YES
hide_ids=YES
local_root=/home/ftpfile/$USER (여기에 각 가상 유저의 폴더를 입력합니다. $USER 는 ID 변수 입니다.)
user_config_dir=/etc/vsftpd/config
virtual_use_local_privs=YES
vsftpd 를 다시 시작한후
service/vsftpd restart
가상 유저로 접속해보세요.
접속되면 성공한것입니다.
여기에 한가지 더 나아가, 각 가상 유저별로도 권한을 설정할 수 있습니다.
즉, 어떤 유저는 읽기만, 어떤 유저는 쓰고, 읽고 모두 이렇게 설정할 수 있는것이죠.
위에 보면
user_config_dir=/etc/vsftpd/config
라는 줄이 있습니다.
각 유저별 개별 설정이 이 폴더 안에 있다고 말하는 것입니다.
/etc/vsftpd/config/ 폴더를 만듭니다.
그안에 유저이름으로 화일을 만들어 설정을 하면 각 유저만의 설정을 합니다.
예를 들어 여기서 설정한 test 유저를 newuser 폴더를 읽기만 하게 한다 하면
test 라는 화일을 config 폴더안에 만들고,
local_root=/home/ftpfile/newuser
write_enable=NO
이렇게 쓴 후 저장하면 됩니다.