안녕하세요.. 새해 복 마니 받으세요.
이 문제에 관해서 proftpd.oops.org에 질문을 했었는데
김정균님께서 연동해보지 않아서 모른다고 해서 이렇게
여기에 질문을 드립니다...
현재 mysql+proftpd로 되어 있습니다.
mysql 테이블은 구조는
+-----------+--------------+-------+------+---------+-------+
| Field | Type | Null | Key | Default |Extra |
+-----------+--------------+-------+------+---------+-------+
| username | varchar(30)| YES | | NULL | |
| uid | int(11) | YES | | NULL | |
| gid | int(11) | YES | | NULL | |
| password | varchar(30)| YES | | NULL | |
| homedir | varchar(50)| YES | | NULL | |
| count | int(11) | YES | | NULL | |
+-----------+--------------+-------+------+---------+-------+
이렇게 되어 있구요.
문제는 uid와 gid 부분입니다.
예를 들어 봅시다.
+----------+------+------+-----------+-----------+-------+
|username | uid | gid | password | homedir | count |
+----------+------+------+-----------+-----------+-------+
| song | 504 | 504 | 1233 |/home/song| 6 |
+----------+------+------+-----------+-----------+-------+
이렇게 있습니다. 그리고 /etc/passwd 파일에는
song:x:504:504::/home/song:/bin/bash
그런데 결과는 어떻게 나오냐면 자신의 홈디렉토리로 로긴하는
순간 그 홈디렉토리의 퍼미션이 없어서 멈처버립니다.
/var/log/messages 에 보면
- k chdir("/home/song"): Permission denied
그래서 홈디렉토리를(/home/song) chmod 755하면 로긴 할 수 있
으며 파일이 잘 보입니다. 그러나 저장(w)가 안됩니다. 당연하겠죠...
완전히 다른 사람 디렉토리로 인식하니까...(rwxr-xr-x)
777퍼미션을 가진 /home/ftp로 홈디렉을 주니까 접속은 잘 됩니다.
여기서 이상한 점이 있는데 파일을 업로드 하면 그 파일의 UID, GID가
숫자로 나옵니다.
-rw-r--r-- 1 65533 65533 21422 Jan 7 12:56 smdata.bak
또한 ps aux해서 프로세서 소유상태를 보면
USER PID %CPU %MEM VSZ RSS TTY ......
#65533 7218 1.0 2.8 1936 1104 ? proftpd:
song
보셨다 싶이 user가 숫자입니다. 그것도.. #까지 붙은 (2^16)-3임다.
흑--서명 적어라면 적지요..
흑흑.. 도와 주세욥..