HP-UX

ftp 상위 directory제한

 
김태경
조언자

ftp 상위 directory제한

ftp 접속시 상위 directory로 이동 하지 못하게 하고

home directory 아래에서만 이동 하게 할 수 있나요.?
1 응답 1
고광태
중학생

ftp 상위 directory제한

ftp만 가능하고 자신의 home directory밖으로 나가는 것을 제한하는 방법입니다.

1. ftpaccess file을 설정합니다.

a. cd /etc/ftpd

b. cp -p /usr/newconfig/etc/ftpd/ftpaccess .

c. vi ftpaccess

"guestgroup ftponly" 항목을 이미 존재하는 group으로 변경하거나 그대로 두고 /etc/group file에 ftponly라는 group을 생성하시면 됩니다.





2. /etc/inetd.conf file을 수정합니다.2. /etc/inetd.conf file을 수정합니다.

a. vi /etc/inetd.conf

b. ftp daemon에 -a option을 추가합니다.

c. ftp stream tcp nowait root /usr/lbin/ftpd ftpd -a -l





3. inetd daemon이 config file을 다시 읽도록 합니다.

inetd -c





4. 가짜 shell을 만들어 해당 user에게 ftp만 가능하도록 설정합니다.

a. vi /usr/bin/ftpshell

b. exit 0 을 입력한 후 빠져 나옵니다.

c. chmod 555 /usr/bin/ftpshell

d. chown bin:bin /usr/bin/ftpshell





5. /etc/shells file을 만듭니다.

a. vi /etc/shells

b. file에 아래의 line들을 추가합니다.

/sbin/sh

/usr/bin/ksh

/usr/bin/sh

/usr/bin/csh

/usr/bin/rsh

/usr/bin/rksh

/usr/bin/keysh

/bin/sh

/bin/ksh

/bin/csh

/bin/rsh

/bin/rksh

/usr/bin/ftpshell

6. system에 user를 등록합니다. 이 때 'ftponly'로 지정한 group을 사용하여야 하며 login shell은 /usr/bin/ftpshell을 설정하십시오.



7. home directory에 chroot를 설정하기 위해 home directory부분에 아래와 같이 설정합니다.

/home/username/./





8. ls 명령을 제공하기 위해서 아래와 같이 실행합니다.

a. cd /home/username

b. mkdir usr

c. mkdir usr/bin

d. cp -p /sbin/ls usr/bin

e. chown -R bin:bin usr

f. chmod -R 555 usr