Apache2 userdir dla fikcyjnego użytkownika
February 20, 2010
Zabrałem się wreszcie za listę zdań do wykonania. Jednym z wymagań jest stworzenie kont ftp dla użytkowników widniejących w bazie danych, z quotą. Wiele nerwów straciłem na przystosowanie Proftpd do tych wymogów.. Natrafiłem natomiast na pewien problem.
Użytkownicy widnieją w bazie danych, trzeba by im jednak nadać porządną ścieżkę. Jako iż domyślnie korzystam z modułu userdir postanowiłem wykorzystać to. W końcu kto miałby zamiar wklepywać scieżkę serwer/~ftpuser/uzytkownik1 ? Postanowiłem powiązać stworzyć symlink.
# ln -s /home/ftpuser/uzytkownik1 /home/uzytkownik1
Jednak otrzymywałem szlachetne 404. Rzuciłem kilkoma kurwami, jednak to nie pomogło. Po kilku minutach, całkiem przypadkiem zacząłem zastanawiać się nad zasadą działania userdira. Dochodząc do wniosku że działa w oparciu o użytkowników systemowych naszła mnie myśl aby dopisać fikcyjnego użytkownika do /etc/passwd , okazało się to trafnym rozwiązaniem.
# echo uzytkownik1:x:65534:65534::/home/uzytkownik1/:/bin/false >> /etc/passwd
Może nie jest to najlepszy sposób, jednak adekwatny do mojej bzdurnej listy zadań. Nie jest to serwer typowo produkcyjny, więc nie mam kaca.