Hallo miteinander, zuerst das Problem:
Ich brauche 2 Sorten von FTP User. Zum einen 1 User der überall hin darf und 2 verschiedene Ordner bearbeiten darf, /home/xxx und /var/www/html/..., zum anderen eine Sorte user die per Skript in eine mysql geschrieben werden und denen es erlaubt sein soll ausschließlich in den Ordner /var/www/html/ftp einen Upload zu tätigen.
Als Grundlage dient mir http://vsftpd.beasts.org/vsftpd_conf.html
Das Problem sind meiner Meinung nach die Vererbungen, wobei download_enable=NO ignoriert wird, und ich weiss nicht warum. Virtuelle Nutzer sollen ja weder downloaden, mkdir, rmdir noch sonst irgendeine Aktion ausführen dürfen! Wie sieht demnach meine vsftpd.conf aus?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | # configuration for vsftpd.conf anonymous_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO #chown_upload_mode=0600 chroot_list_enable=YES #chroot_list_file=/etc/vsftpd/chroot_list chroot_local_user=YES allow_writeable_chroot=YES #cmds_allowed=ABOR,CDUP,CWD,DELE,LIST,MDTM,MKD,NLST,NOOP,OPTS,PASS,PASV,PORT,PWD,QUIT,RETR,RMD,RNFR,RNTO,SITE,SIZE,STOR,TYPE,USER #cmds_allowed=ABOR,CWD,DELE,LIST,MDTM,NOOP,PASS,PASV,PWD,RETR,RNFR,RNTO,SIZE,STOR,TYPE,QUIT #cmds_denied=MKD,RMD #deny_file={*.mp3,*.mov,.private} #cmds_allowed=STOR, DELE, RNFR, RNTO, MKD, RMD, APPE,SITE dirmessage_enable=NO force_dot_files=NO guest_enable=YES guest_username=ftp_standard hide_ids=YES listen=YES listen_port=21 local_enable=YES local_umask=022 local_root=/var/www/html/ftp max_clients=0 max_login_fails=3 max_per_ip=2 #message_file=.message pam_service_name=vsftpd #pasv_min_port=30000 #pasv_max_port=30999 user_config_dir=/etc/vsftpd_user_conf #use_localtime=NO user_sub_token=$USER vsftpd_log_file=/var/log/vsftpd.log virtual_use_local_privs=YES xferlog_enable=YES xferlog_std_format=YES write_enable=YES seccomp_sandbox=NO download_enable=NO |
Zeile 43 zeigt download_enable=NO, wird aber ignoriert. Ich habe mehrfach mit write_enable rumgespielt, also auskommentiert da default=NO ist, aber dann konnte ich den user nicht mehr bedienen, der alles sehen darf. Hierbei wurde dann auch Zeile 16 beim einkommentieren nicht beachtet.
Vielleicht verstehe ich auch das guest_enable=ftp_standard nicht richtig? Die Konfig vom Nutzer der alles sieht und vom ftp_standard, den ich im System angelegt habe, liegt unter /etc/vsftpd_user_conf:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # configuration for ftp_standard anonymous_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO #chown_upload_mode=0600 chroot_list_enable=YES #chroot_list_file=/etc/vsftpd/chroot_list chroot_local_user=YES allow_writeable_chroot=YES #cmds_allowed=ABOR,CDUP,CWD,DELE,LIST,MDTM,MKD,NLST,NOOP,OPTS,PASS,PASV,PORT,PWD,QUIT,RETR,RMD,RNFR,RNTO,SITE,SIZE,STOR,TYPE,USER #cmds_allowed=ABOR,CWD,DELE,LIST,MDTM,NOOP,PASS,PASV,PWD,RETR,RNFR,RNTO,SIZE,STOR,TYPE,QUIT #cmds_denied=MKD,RMD,CDUP,HELP,DELE #deny_file={*.mp3,*.mov,.private} dirmessage_enable=NO force_dot_files=NO guest_enable=YES guest_username=ftp_standard hide_ids=YES listen=YES listen_port=21 local_enable=YES local_umask=022 local_root=/var/www/html/ftp max_clients=0 max_login_fails=3 max_per_ip=2 #message_file=.message pam_service_name=vsftpd #pasv_min_port=30000 #pasv_max_port=30999 user_config_dir=/etc/vsftpd_user_conf #use_localtime=NO user_sub_token=$USER vsftpd_log_file=/var/log/vsftpd.log virtual_use_local_privs=YES xferlog_enable=YES xferlog_std_format=YES write_enable=YES seccomp_sandbox=NO download_enable=NO |
Es wirkt auf mich so, als würde der virtuelle Nutzer die conf von ftp_standard nicht nutzen und gleichzeitig Optionen der eigenen conf ignorieren.
Außerdem ist es so, dass die 2 individuellen confs von den Einstallungen des virtuellen Users überschrieben werden.
Weiß da jemand Rat?
Danke vorab,
Marc