proftpd/0040755000567100000120000000000010267102004012210 5ustar jcameronwheelproftpd/lang/0040755000567100000120000000000010075155054013143 5ustar jcameronwheelproftpd/lang/en0100644000567100000120000004205610055050622013465 0ustar jcameronwheelindex_title=ProFTPD Server index_eproftpd=The ProFTPD server $1 could not be found on your system. Maybe it is not installed, or your module configuration is incorrect. index_eproftpd2=The program $1 does not appear to be the ProFTPD server. Maybe it is not installed, or your module configuration is incorrect. Output from the command $3 was : $4 index_eversion=The version of ProFTPD server $1 is not supported by Webmin. Only versions 0.99 and above are supported. index_econf=The ProFTPD config file $1 does not exist or is not valid. Maybe your module configuration is incorrect. index_apply=Apply Changes index_applymsg=Click this button to apply the current configuration by sending a SIGHUP signal to the running ProFTPD process. index_start=Start Server index_startmsg=Click this button to start the FTP server with the current configuration. You can also configure the server to be started automatically when needed using the Internet Services module. index_startmsg2=Click this button to start the FTP server with the current configuration. You can also configure the server to be started automatically when needed using inetd or some equivalent program. index_return=main menu index_virts=Virtual Servers index_virt=Virtual Server index_type=Server type index_addr=Address index_name=Server name index_port=FTP port index_defserv=Default server index_defdesc=Handles any FTP connections not handled by virtual servers. index_any=Any index_vdesc=Handles all connections to $1 index_eip=<Unknown> index_global=Global Configuration index_create=Create virtual server index_version=ProFTPd version $1 efailed=Failed to save $1 type_0=Networking Options type_1=Logging Options type_2=Files and Directories type_3=Access Control type_4=Miscellaneous type_5=User and Group type_6=Authentication virt_title=Virtual Server Options virt_header1=For $1 virt_header2=For default server virt_header3=$1 options virt_anon=Anonymous FTP virt_header=Per-directory and Per-command options virt_dir=Directory $1 virt_limit=Commands $1 virt_adddir=Add per-directory options for .. virt_addlimit=Add per-command options for .. virt_path=Directory path virt_cmds=FTP commands virt_return=virtual server virt_virt=Configure Virtual Server virt_edit=Edit Directives vserv_title=Configure Virtual Server vserv_addr=Address vserv_name=Server name vserv_port=FTP port vserv_delete=Delete virtual server vserv_eaddr=Missing or invalid address vserv_eport=Missing or invalid port number vserv_ename=Missing server name anon_title=Anonymous FTP Options anon_header1=In virtual server $1 anon_header2=In default server anon_anon=Configure Anonymous FTP anon_return=anonymous FTP options anon_header3=For anonymous FTP in virtual server $1 anon_header4=For anonymous FTP in default server aserv_title=Configure Anonymous FTP aserv_create=Setup Anonymous FTP aserv_root=Limit to directory aserv_user=Access files as user aserv_group=Access files as group aserv_err=Failed to save anonymous FTP aserv_eroot=Missing or invalid chroot directory aserv_euser=Missing or invalid Unix user aserv_egroup=Missing or invalid Unix group aserv_desc=Anonymous FTP has not yet been setup for this virtual server. Use this form to set the initial configuration options. dir_title=Per-Directory Options dir_header2=For directory $1 in default server dir_header1=For directory $1 in virtual server $2 dir_edit=Edit Directives dir_return=per-directory options dir_header3=$1 options in $2 dir_header=Per-command options dir_dir=Configure Directory dir_header4=For directory $1 in anonymous FTP dir_header5=For directory $1 globally manual_title=Edit Directives manual_header=Use the text box below to manually edit the ProFTPD directives in $1 that apply to this virtual server, directory or commands. manual_configs=Edit Config Files manual_ecannot=You are not allowed to manually edit directives manual_file=Edit Directives in File: manual_efile=Invalid ProFTPd config file manual_etest=Configuration file error detected : $1 limit_title=Per-Command Options limit_header4=For commands $1 in directory $2 limit_header2=For commands $1 in default server limit_header1=For commands $1 in virtual server $2 limit_edit=Edit Directives limit_limit=Configure Commands limit_header3=$1 options for commands $2 limit_return=per-command options limit_header5=For commands $1 in anonymous FTP limit_header6=For commands $1 in file $2 limit_header7=For commands $1 globally lserv_title=Configure Commands lserv_cmd=FTP commands lserv_delete=Delete commands config lserv_err=Failed to save commands lserv_ecmd=No commands selected dserv_title=Configure Directory dserv_dir=Directory path dserv_err=Failed to save directory dserv_edir=Missing directory path dserv_delete=Delete directory config dserv_eanondir=Directory must be under the anonymous FTP directory mod_core_type=Server type mod_core_inetd=Run from Inetd mod_core_stand=Stand-alone daemon mod_core_port=Listen on port mod_core_eport=Missing or invalid port number mod_core_servername=Server name displayed to users mod_core_eservername=Missing server name mod_core_defaultserver=Use this virtual server by default? mod_core_instances=Maximum concurrent sessions mod_core_einstances=Missing or invalid number of sessions mod_core_umask=New file umask mod_core_octal=Octal mask mod_core_umask_d=New directory mask mod_core_eumask=Missing or invalid umask mod_core_user=Run as Unix user mod_core_uname=User name mod_core_uid=UID mod_core_group=Run as Unix group mod_core_gname=Group name mod_core_gid=GID mod_core_tlog=FTP transfers logfile mod_core_nowhere=Logging disabled mod_core_etlog=Missing or invalid transfers logfile mod_core_accessdeny=Failed login message mod_core_accessgrant=Successful login message mod_core_adall=Access control policy mod_core_addefault=Same as parent mod_core_allowall=Allow all clients mod_core_denyall=Deny all clients mod_core_filter=Allowed FTP commands regexp mod_core_foreign=Allow foreign data transfers? mod_core_overwrite=Allow overwriting of files? mod_core_restart=Allow restarted downloads? mod_core_restart2=Allow restarted uploads? mod_core_require=Require password for anonymous login? mod_core_anongroup=Groups to treat members as anonymous mod_core_eanongroup=No anonymous group entered mod_core_authalias=Only allow aliased users to login? mod_core_authusingalias=Use alias password for anonymous login? mod_core_bind=Bind to address mod_core_bind_all=All addresses mod_core_ebind=Missing or invalid bind address mod_core_cdpath=Shortcut CD directories mod_core_classes=Enable classes for access control? mod_core_cls=Access control classes mod_core_cname=Class name mod_core_ctype=Type and value mod_core_climit=Max connections mod_core_cregex=Client hostname match mod_core_cip=Client IP network/CIDR mod_core_eclimit=Missing or invalid max connections mod_core_ecregex=Missing client hostname match mod_core_ecip=Missing or invalid client IP network/CIDR mod_core_buffer=Maximum FTP command length mod_core_ebuffer=Missing or invalid maximum command length mod_core_transfer=Default transfer mode mod_core_binary=Binary mod_core_ascii=ASCII mod_core_defer=Defer welcome message until after login? mod_core_aborted=Delete aborted uploads? mod_core_dfilter=Denied FTP commands regexp mod_core_display=Pre-login message file mod_core_none=None mod_core_edisplay=Missing pre-login message file mod_core_firstcd=Directory README filename mod_core_efirstcd=Missing directory README filename mod_core_goaway=Too many connections message file mod_core_egoaway=Missing too many connections file mod_core_login=Post-login message file mod_core_elogin=Missing post-login message file mod_core_quit=Logout message file mod_core_equit=Missing logout message file mod_core_gowner=Group owner of uploaded files mod_core_egowner=Missing or invalid group for uploaded files mod_core_grouppassword=Group passwords mod_core_gpname=Unix group mod_core_gppass=Password mod_core_gpdef=Leave unchanged mod_core_egpname=Invalid Unix group name mod_core_hstor=Hide files during upload? mod_core_hgroup=Hide files owned by groups mod_core_ehgroup=Invalid group name to hide files of mod_core_hnoaccess=Hide files that cannot be accessed? mod_core_huser=Hide files owned by users mod_core_ehuser=Invalid user name to hide files of mod_core_ident=Lookup remote Ident username? mod_core_ihidden=Make hidden files inaccessible? mod_core_masq=Masquerade as address mod_core_masq_def=Use real address mod_core_emasq=Missing or invalid masquerade address mod_core_maxc=Maximum concurrent logins mod_core_maxc1=Unlimited mod_core_maxcmsg=Login error message mod_core_emaxc=Missing or invalid maximum number of logins mod_core_maxch=Maximum concurrent logins per host mod_core_maxcu=Maximum concurrent logins per user mod_core_logins=Maximum failed logins per session mod_core_elogins=Missing or invalid number of failed logins mod_core_rfc2228=Send RFC2228-style responses? mod_core_pasv=PASV port range mod_core_pasvr=Min - max mod_core_epasv=Missing or invalid PASV port number mod_core_pathallow=Allowed uploaded filename regex mod_core_any=Any mod_core_pathdeny=Denied uploaded filename regex mod_core_pidfile=Write PID to file mod_core_epidfile=Missing or invalid PID file mod_core_shell=Only allow login by users with valid shell? mod_core_cpulimit=CPU resource limits mod_core_ecpulimit=CPU resource limit mod_core_memlimit=Memory resource limits mod_core_ememlimit=memory resource limit mod_core_filelimit=Open files limits mod_core_efilelimit=open files limit mod_core_soft=Soft limit: mod_core_hard=Hard limit: mod_core_max=Maximum mod_core_esoft=Missing or invalid soft $1 mod_core_ehard=Missing or invalid hard $1 mod_core_score=Path to scoreboard directory mod_core_escore=Missing or invalid scoreboard directory mod_core_admin=Server administrator's email address mod_core_eadmin=Missing or invalid email address mod_core_identmsg=Client connection message mod_core_identmsg_def=Show default message mod_core_links=Show symbolic links? mod_core_tight=Only bind to needed ports? mod_core_facility=System log facility mod_core_level=System log level mod_core_backlog=TCP backlog queue length mod_core_ebacklog=Missing or invalid backlog queue length mod_core_nodelay=Use TCP_NODELAY socket option? mod_core_rwindow=TCP receive window size mod_core_erwindow=Missing or invalid receive window size mod_core_swindow=TCP send window size mod_core_eswindow=Missing or invalid send window size mod_core_gmt=Show times in GMT? mod_core_tidle=Idle time before disconnecting mod_core_etidle=Missing or invalid idle time mod_core_secs=seconds mod_core_tlogin=Time to wait for authentication mod_core_etlogin=Missing or invalid authentication time mod_core_ttransfer=Time to wait for first transfer mod_core_ettransfer=Missing or invalid first transfer time mod_core_tstalled=Time to wait for stalled data transfer mod_core_etstalled=Missing or invalid stalled transfer time mod_core_ftpusers=Deny users in /etc/ftpusers file? mod_core_hostsallow=Hosts to allow file mod_core_ehostsallow=Hosts to allow file does not exist mod_core_hostsdeny=Hosts to deny file mod_core_ehostsdeny=Hosts to deny file does not exist mod_core_revdns=Do reverse DNS lookups of client addresses? mod_core_userdir=Chroot to username subdirectory? mod_core_ualias=Username aliases mod_core_afrom=Login username mod_core_ato=Real username mod_core_eafrom=Invalid login username in alias mod_core_eato=Missing or invalid real username in alias mod_core_uowner=Owner of uploaded files mod_core_euowner=Missing or invalid owner for uploaded files mod_core_userpassword=User passwords overrides mod_core_upname=Unix user mod_core_uppass=Password mod_core_updef=Leave unchanged mod_core_eupname=Invalid Unix user name mod_core_wtmp=Record logins in wtmp? mod_core_allow_deny=Restrict access mod_core_allowdeny=Allow then deny mod_core_denyallow=Deny then allow mod_core_allow=Allow mod_core_deny=Deny mod_core_mode_0=All mod_core_mode_1=None mod_core_mode_2=IP address mod_core_mode_3=Network mod_core_mode_4=Hostname mod_core_cond=Condition mod_core_action=Action mod_core_agroup=Only allow groups mod_core_auser=Only allow users mod_core_all=All mod_core_dgroup=Deny groups mod_core_duser=Deny users mod_core_eip='$1' is not a valid IP address mod_core_enet='$1' is not a valid network address mod_core_ehost='$1' is not a valid hostname mod_ls_fakegroup=Fake group in directory listings? mod_ls_fakeuser=Fake user in directory listings? mod_ls_fakemode=Fake permissions in directory listings mod_ls_nofake=Real permissions mod_ls_efakemode=Fake permissions must be in octal mod_ls_dotfiles=Show files starting with . in listings? mod_ls_ls=Additional ls options mod_ls_els=Missing additional ls options mod_ls_fakeasuser=Yes, as user .. mod_ls_fakesameuser=Connected user mod_ls_fakeasgroup=Yes, as group .. mod_ls_fakesamegroup=Connected group mod_ls_efakeuser=Missing or invalid fake user mod_ls_efakegroup=Missing or invalid fake group mod_ls_options=Directory list options mod_ls_strict=Override user options? mod_auth_chdir=Initial login directory mod_auth_echdir=Missing or invalid initial directory mod_auth_chroot=Limit users to directories mod_auth_home=Home directory mod_auth_none=None mod_auth_dir=Directory mod_auth_groups=Unix groups mod_auth_all=Everyone mod_auth_edir=Invalid chroot directory mod_auth_egroups=No Unix groups for chroot entered mod_auth_echroot=Missing or invalid chroot directory mod_auth_login=Don't ask for password if login is denied? mod_auth_root=Allow login by root? mod_site_chmod=Allow chmod command? mod_unixpw_ufile=Alternate Unix password file mod_unixpw_eufile=Missing or invalid Unix password file mod_unixpw_gfile=Alternate Unix group file mod_unixpw_egfile=Missing or invalid Unix group file mod_unixpw_none=None mod_unixpw_pam=Always treat PAM as authorative? mod_unixpw_persist=Keep password file open persistently? mod_log_syslog=Log errors to file mod_log_sysdef=System log mod_log_esyslog=Missing or invalid log file mod_log_extended=Custom logfiles mod_log_file=Logfile mod_log_cmd=For FTP commands mod_log_nick=Log format mod_log_all=All mod_log_ecmd=Missing FTP commands mod_log_enick=Missing or invalid log format name mod_log_ecmdnick=You must enter a log format when specifying commands to log mod_log_nickname=Format name mod_log_fmt=Format string mod_log_format=Custom log formats mod_log_enickname=Missing or invalid format name mod_log_efmt=Missing format string mod_pam_pam=Use PAM for authentication? mod_pam_config=Authenticate using PAM service mod_pam_econfig=Missing or invalid PAM service mod_readme_display=Notify user of readme files matching mod_readme_none=None mod_readme_edisplay=Missing readme files pattern start_err=Failed to start FTP server start_einetd=You cannot start the server daemon when in inetd mode. ftpaccess_title=Per-Directory Options Files ftpaccess_desc=Additional per-directory options can be specified in a file (usually called .ftpaccess) in each directory. The options apply to all files in that directory and any sub-directories, unless overridden by another options file. ftpaccess_create=Create Options File ftpaccess_find=Find Options Files ftpaccess_auto=Under anonymous ftpaccess_from=From directory ftpaccess_return=options file list ftpusers_title=Denied FTP Users ftpusers_desc=If enabled under the Authentication icon, the users listed below from the file $1 will be denied login access to the FTP user. ftpindex_title=Per-Directory Options File ftpindex_delete=Delete File ftpindex_opts=Per-Directory Options ftpindex_edit=Edit Directives ftpindex_limit=Per-command options ftpindex_addlimit=Add per-command options for .. ftpindex_header2=$1 in $2 ftpindex_return=per-directory options file ftpindex_header=For $1 find_err=Failed to find options files find_eanon=Anonymous FTP is not setup in any virtual server log_global=Changed global $1 options log_ftpusers=Changed denied FTP users log_virtc=Created server $1 log_virts=Reconfigured server $1 log_virtd=Deleted server $1 log_virtm=Manually edited server $1 log_virt=Changed $1 in server $2 log_dirc=Created directory $1 log_dirc_l=Created directory $1 in server $2 log_dirs=Changed directory $1 log_dirs_l=Changed directory $1 in server $2 log_dird=Deleted directory $1 log_dird_l=Deleted directory $1 in server $2 log_dirm=Manually edited directory $1 log_dirm_l=Manually edited directory $1 in server $2 log_dir=Changed $1 in directory $2 log_dir_l=Changed $1 in directory $2 in server $3 log_limitc=Created per-command options for $1 log_limits=Reconfigured per-command options for $1 log_limitd=Deleted per-command options for $1 log_limitm=Manually edited per-command options for $1 log_limit=Changed $1 in per-command options for $2 log_ftpaccessc=Created options file $1 log_ftpaccessd=Deleted options file $1 log_ftpaccessm=Manually edited options file $1 log_ftpaccess=Changed $1 in options file $2 log_anonc=Setup anonymous FTP for server $1 log_anons=Reconfigured anonymous FTP for server $1 log_anond=Deleted anonymous FTP for server $1 log_anonm=Manually edited anonymous FTP for server $1 log_anon=Changed $1 in anonymous FTP for server $2 log_start=Started proftpd log_apply=Applied changes eafter=Configuration verification failed : $1 Changes have not been saved. proftpd_apply=Apply Changes proftpd_stop=Stop ProFTPd proftpd_start=Start ProFTPd proftpd/lang/pl0100664000567100000120000004424507367356032013522 0ustar jcameronwheelindex_title=Serwer ProFTPD index_eproftpd=W systemie nie znaleziono serwera ProFTPD $1. Możliwe, że nie został zainstalowany lub Twoja konfiguracja modułu jest nieprawidłowa. index_eproftpd2=Program $1 nie jest serwerem ProFTPD. Możliwe, że ProFTPD nie został zainstalowany lub Twoja konfiguracja modułu jest nieprawidłowa. index_eversion=Webmin nie obsługuje wersji $1 serwera ProFTPD. Obsługiwane są tylko wersje 1.2 i wyższe. index_econf=Plik konfiguracyjny ProFTPD $1 nie istnieje lub jest nieprawidłowy. Możliwe, że Twoja konfiguracja modułu jest nieprawidłowa. index_apply=Zastosuj zmiany index_applymsg=Naciśnij ten przycisk, aby zastosować bierzącą konfigurację poprzez wysłanie sygnału SIGHUP do działającego procesu ProFTPD. index_start=Uruchom serwer index_startmsg=Naciśnij ten przycisk, aby uruchomić serwer FTP z bierzącą konfiguracją. Możesz również skonfigurować serwer, aby był uruchamiany automatycznie w razie potrzeby, korzystając z modułu Usługi internetowe. index_startmsg2=Naciśnij ten przycisk, aby uruchomić serwer FTP z bierzącą konfiguracją. Możesz również skonfigurować serwer, aby był uruchamiany automatycznie w razie potrzeby, korzystając z inetd lub rownoważnego programu. index_return=menu głównego index_virts=Serwery wirtualne index_virt=Serwer wirtualny index_type=Rodzaj serwera index_addr=Adres index_name=Nazwa serwera index_port=Port FTP index_defserv=Serwer domyślny index_defdesc=Obsługuje wszystkie połączenia FTP nie obsługiwane przez serwery wirtualne. index_any=Dowolny index_vdesc=Obsługuje wszystkie połączenia do $1 index_eip=<Nieznany> index_global=Konfiguracja ogólna index_create=Utwórz serwer wirtualny efailed=Nie udało się zachować $1 type_0=Opcje sieci type_1=Opcje logowania type_2=Pliki i katalogi type_3=Kontrola dostępu type_4=Różne type_5=Użytkownicy i grupy type_6=Autoryzacja virt_title=Opcje serwera wirtualnego virt_header1=Dla $1 virt_header2=Dla serwera domyślnego virt_header3=Opcje $1 virt_anon=Anonimowy FTP virt_header=Opcje dla poszczególnych katalogów i poleceń virt_dir=Katalog $1 virt_limit=Polecenia $1 virt_adddir=Dodaj opcje dla katalogu dla .. virt_addlimit=Dodaj opcje dla polecenia dla .. virt_path=Ścieżka do katalogu virt_cmds=Polecenia FTP virt_return=serwera wirtualnego virt_virt=Konfiguruj serwer wirtualny virt_edit=Zmień dyrektywy vserv_title=Konfiguruj serwer wirtualny vserv_addr=Adres vserv_name=Nazwa serwera vserv_port=Port FTP vserv_delete=Usuń serwer wirtualny vserv_eaddr=Nie podany lub niepoprawny adres vserv_eport=Nie podany lub niepoprawny numer portu vserv_ename=Nie podana nazwa serwera anon_title=Opcje anonimowego FTP anon_header1=Dla serwera wirtualnego $1 anon_header2=Dla serwera domyślnego anon_anon=Konfiguruj anonimowy FTP anon_return=opcji anonimowego FTP anon_header3=Dla anonimowego FTP dla serwera wirtualnego $1 anon_header4=Dla anonimowego FTP dla serwera domyślnego aserv_title=Konfiguruj anonimowy FTP aserv_create=Ustaw anonimowy FTP aserv_root=Katalog chroot aserv_user=Dostęp do plików jako użytkownik aserv_group=Dostęp do plików jako grupa aserv_err=Nie udało się zachować anonimowego FTP aserv_eroot=Nie podany lub niepoprawny katalog chroot aserv_euser=Nie podany lub niepoprawny użytkownik Uniksa aserv_egroup=Nie podana lub niepoprawna grupa Uniksa aserv_desc=Nie ustawiono jeszcze anonimowego dostępu FTP dla tego serwera wirtualnego. Ustaw inicjalne opcje konfiguracyjne za pomocę tego formularza. dir_title=Opcje katalogów dir_header2=Dla katalogu $1 dla serwera domyślnego dir_header1=Dla katalogu $1 dla serwera wirtualnego $2 dir_edit=Zmień dyrektywy dir_return=opcji dla katalogów dir_header3=Opcje $1 dla $2 dir_header=Opcje dla poleceń dir_dir=Konfiguruj katalog dir_header4=Dla katalogu $1 anonimowego FTP manual_title=Zmień dyrektywy manual_header=Zmień ręcznie korzystając z poniższego pola tekstowego dyrektywy ProFTPD w $1, które dotyczą tego serwera wirtualnego, katalogu lub poleceń. limit_title=Opcje poleceń limit_header4=Dla poleceń $1 w katalogu $2 limit_header2=Dla poleceń $1 dla serwera domyślnego limit_header1=Dla poleceń $1 dla serwera wirtualnego $2 limit_edit=Zmień dytektywy limit_limit=Konfiguruj polecenia limit_header3=Opcje $1 dla poleceń $2 limit_return=opcji dla poleceń limit_header5=Dla poleceń $1 anonimowego FTP limit_header6=Dla poleceń $1 w pliku $2 lserv_title=Konfiguruj polecenia lserv_cmd=Polecenia FTP lserv_delete=Usuń konfigurację poleceń lserv_err=Nie udało się zachować poleceń lserv_ecmd=Nie wybrano poleceń dserv_title=Konfiguruj katalog dserv_dir=Ścieżka do katalogu dserv_err=Nie udało się zachować katalogu dserv_edir=Nie podana ścieżka do katalogu dserv_delete=Usuń konfigurację katalogu mod_core_type=Rodzaj serwera mod_core_inetd=Uruchamiany przez Inetd mod_core_stand=Demon wolnostojący mod_core_port=Nasłuchiwać na porcie mod_core_eport=Nie podany lub niepoprawny numer portu mod_core_servername=Nazwa serwera pokazująca się użytkownikom mod_core_eservername=Nie podana lub niepoprawna nazwa serwera mod_core_defaultserver=Używać tego serwera wirtualnego jako serwera domyślnego? mod_core_instances=Maksymalna liczba jednoczesnych sesji mod_core_einstances=Nie podana lub niepoprawna liczba sesji mod_core_umask=Nowa umaska dla plików mod_core_eumask=Nie podana lub niepoprawna umaska mod_core_user=Działać jako użytkownik Uniksa mod_core_uname=Nazwa użytkownika mod_core_uid=UID mod_core_group=Działać jako grupa Uniksa mod_core_gname=Nazwa grupy mod_core_gid=GID mod_core_tlog=Plik logowania transferów FTP mod_core_etlog=Nie podany lub niepoprawny plik transferów mod_core_accessdeny=Komunikat o niepomyślnym logowaniu mod_core_accessgrant=Komunikat o pomyślnym logowaniu mod_core_adall=Polityka kontroli dostępu mod_core_addefault=Taka sama jak dla przodka mod_core_allowall=Dopuścić wszystkich klientów mod_core_denyall=Blokować wszystkich klientów mod_core_filter=Wyrażenie regularne dla dozwolonych poleceń FTP mod_core_foreign=Zezwalać na obce transfery danych? mod_core_overwrite=Zezwalać na nadpisywanie plików? mod_core_restart=Zazwalać na kontynuację pobierania? mod_core_restart2=Zazwalać na kontynuację przysyłania? mod_core_require=Wymagać hasła dla logowania anonimowego? mod_core_anongroup=Grupy, których członkowie są traktowani jako anonimowi mod_core_eanongroup=Nie podano anonimowych grup mod_core_authalias=Zezwalać na logowaniw tylko użytkowników z&nbap;aliasami? mod_core_authusingalias=Używać aliasu hasła dla logowania anonimowego mod_core_bind=Nasłuchiwać na adresie mod_core_bind_all=na wszystkich adresach mod_core_ebind=Nie podany lub niepoprawny adres nasłuchiwania mod_core_cdpath=Skróty katalogów dla CD mod_core_classes=Włączyć klasy dla kontroli dostępu mod_core_cls=Klasy kontroli dostępu mod_core_cname=Nazwa klasy mod_core_ctype=Rodzaj i wartość mod_core_climit=Maks. liczba połączeń mod_core_cregex=Dopasowanie nazwy hosta klienta mod_core_cip=IP sieci/CIDR klienta mod_core_eclimit=Nie podana lub niepoprawna maksymalna liczba połączeń mod_core_ecregex=Nie podany lub niepoprawny wzorzec dla nazwy hosta klienta mod_core_ecip=Nie podany lub niepoprawny IP sieci/CIDR klienta mod_core_buffer=Maksymalna długość polecenia FTP mod_core_ebuffer=Nie podana lub niepoprawna maksymalna długość polecenia mod_core_transfer=Domyślny tryb transmisji mod_core_binary=Binarny mod_core_ascii=ASCII mod_core_defer=Opóźniać komunikat powitalny po zalogowaniu? mod_core_aborted=Kasować pliki przysłane w razie przerwania? mod_core_dfilter=Wyrażenie regularne dla zabronionych poleceń FTP mod_core_display=Plik komunikatu poprzedzającego logowanie mod_core_none=Brak mod_core_edisplay=Nie podano komunikatu poprzedzającego logowanie mod_core_firstcd=Nazwa pliku README dla katalogów mod_core_efirstcd=Nie podano nazwy pliku README dla katalogów mod_core_goaway=Plik komunikatu o zbyt wielu połączeniach mod_core_egoaway=Nie podano pliku komunikatu o zbyt wielu połączeniach mod_core_login=Plik komunikatu po zalogowaniu mod_core_elogin=Nie podano pliku komunikatu po zalogowaniu mod_core_quit=Plik komunikatu przy wylogowywaniu mod_core_equit=Nie podano pliku komunikatu przy wylogowywaniu mod_core_gowner=Grupa dla przysyłanych plików mod_core_egowner=Nie podano lub niepoprawna grupa dla przysyłanych plików mod_core_grouppassword=Hasła dla grup mod_core_gpname=Jak dla grupy Uniksa mod_core_gppass=Hasło mod_core_gpdef=Pozostaw nie zmienione mod_core_egpname=Niepoprawna nazwa grupy Uniksa mod_core_hstor=Ukrywać przysyłane pliki? mod_core_hgroup=Ukrywać pliki należące do grup mod_core_ehgroup=Niepoprawna nazwa grupy, której pliki są ukrywane mod_core_hnoaccess=Ukrywać pliki niedostępne? mod_core_huser=Ukrywać pliki należące do użytkowników mod_core_ehuser=Niepoprawna nazwa użytkownika, którego pliki są ukrywane mod_core_ident=Poszukiwać nazw użytkowników zdalnych Identem? mod_core_ihidden=Uczunić pliki ukryte niedostępnymi? mod_core_masq=Maskować jako adres mod_core_masq_def=Używać rzeczywistego adresu mod_core_emasq=Nie podany lub niepoprawny adres dla maskowania mod_core_maxc=Maksymalna liczba jednoczesnych logowań mod_core_maxc1=Nieograniczona mod_core_maxcmsg=Komunikat błędu logowania mod_core_emaxc=Nie podana lub niepoprawna maksymalna liczba logowań mod_core_maxch=Maksymalna liczba logowań z hosta mod_core_maxcu=Maksymalna liczba logowań użytkownika mod_core_logins=Maksymalna liczba nieudanych logowań w sesji mod_core_elogins=Nie podana lub niepoprawna liczba nieudanych logowań mod_core_rfc2228=Wysyłać odpowiedzi zgodne z RFC2228? mod_core_pasv=Zakres portów dla PASV mod_core_pasvr=Min. - maks. mod_core_epasv=Nie podany lub niepoprawny numer portu dla PASV mod_core_pathallow=Wyrażenie regularne dla dozwolonych nazw plików przysyłanych mod_core_any=Dowolna mod_core_pathdeny=Wyrażenie regularne dla zabronionych nazw plików przysyłanych mod_core_pidfile=Zapisywać numer PID do pliku mod_core_epidfile=Nie podany lub niepoprawny plik z numerem PID mod_core_shell=Zezwalać na logowanie wyłącznie użytkowników o poprawnej powłoce mod_core_cpulimit=Ograniczenia wykorzystania CPU mod_core_ecpulimit=ograniczenie wykorzystania CPU mod_core_memlimit=Ograniczenia wykorzystania pamięci mod_core_ememlimit=ograniczenie wykorzystania pamięci mod_core_filelimit=Ograniczenia liczby otwartych plików mod_core_efilelimit=ograniczenie liczby otwartych plików mod_core_soft=Ograniczenie miękkie: mod_core_hard=Ograniczenie twarde: mod_core_max=Maksimum mod_core_esoft=Nie podane lub niepoprawne miękkie $1 mod_core_ehard=Nie podane lub niepoprawne twarde $1 mod_core_score=Ścieżka do katalogu scoreboard mod_core_escore=Nie podana lub niepoprawna ścieżka do katalogu scoreboard mod_core_admin=Adres e-mail administratora serwera mod_core_eadmin=Nie podany lub niepoprawny adres e-mail mod_core_identmsg=Komunikat o połączeniu się klienta mod_core_identmsg_def=Pokazywać komunikat standardowy mod_core_links=Pokazywać dowiązania symboliczne? mod_core_tight=Otwierać tylko niezbędne porty? mod_core_facility=Kategoria logowania systemowego mod_core_level=Poziom logowania systemowego mod_core_backlog=Długość kolejki TCP mod_core_ebacklog=Nie podana lub nie poprawna długość kolejki mod_core_nodelay=Używać opcji TCP_NODELAY dla gniazd? mod_core_rwindow=Rozmiar okna odbiorczego TCP mod_core_erwindow=Nie podany lub niepoprawny rozmiar okna odbiorczego mod_core_swindow==Rozmiar okna nadawczego TCP mod_core_eswindow=Nie podany lub niepoprawny rozmiar okna nadawczego mod_core_gmt=Pokazywać czas GMT? mod_core_tidle=Czas bezczynności przed rozłączeniem mod_core_etidle=Nie podany lub niepoprawny czas bezczynności mod_core_secs=sekund mod_core_tlogin=Czas oczekiwania na autoryzację mod_core_etlogin=Nie podany lub niepoprawny czas oczekiwania na autoryzację mod_core_ttransfer=Czas oczekiwania na pierwszy transfer mod_core_ettransfer=Nie podany lub niepoprawny czas oczekiwania na pierwszy transfer mod_core_tstalled=Czas oczekiwania na zablokowane transfery danych mod_core_etstalled=Nie podany lub niepoprawny czas oczekiwania na zablokowane transfery mod_core_ftpusers=Blokować dostęp użytkowników z pliku /etc/ftpusers? mod_core_hostsallow=Plik dozwolonych hostów mod_core_ehostsallow=Plik dozwolonych hostów nie istnieje mod_core_hostsdeny=Plik zabronionych hostów mod_core_ehostsdeny=Plik zabronionych hostów nie istnieje mod_core_revdns=Wykonywać poszukiwania adresów klientów w odwrotnym DNS? mod_core_userdir=Chroot do podkatalogu o nazwie użytkownika? mod_core_ualias=Aliasy nazwy użytkownika mod_core_afrom=Nazwa logowania mod_core_ato=Rzeczywista nazwa użytkownika mod_core_eafrom=Niepoprawna nazwa logowania w aliasie mod_core_eato=Nie podana lub niepoprawna rzeczywista nazwa użytkownika w aliasie mod_core_uowner=Właściciel przysyłanych plików mod_core_euowner=Nie podany lub niepoprawny właściciel przysyłanych plików mod_core_userpassword=Hasła użytkownikaów zastępują mod_core_upname=Użytkownik Uniksa mod_core_uppass=Hasło mod_core_updef=Pozostaw niezmienione mod_core_eupname=Niepoprwana nazwa użytkownika Uniksa mod_core_wtmp=Zapisywać logowania w wtmp? mod_core_allow_deny=Zabronić dostępu mod_core_allowdeny=Najpierw zezwalać, potem zabraniać mod_core_denyallow=Najpierw zabraniać, potem zezwalać mod_core_allow=Zezwalać mod_core_deny=Zabraniać mod_core_mode_0=Wszystkim mod_core_mode_1=Nikomu mod_core_mode_2=Adresowi IP mod_core_mode_3=Sieci mod_core_mode_4=Hostowi o nazwie mod_core_cond=Warunek mod_core_action=Działanie mod_core_agroup=Zezwolić tylko grupom mod_core_auser=Zezwolić tylko użytkownikom mod_core_all=Wszystkim mod_core_dgroup=Zabronić tylko grupom mod_core_duser=Zabronić tylko użytkownikom mod_core_eip='$1' nie jest poprawnym adresem IP mod_core_enet='$1' nie jest poprawnym adresem sieci mod_core_ehost='$1' nie jest poprawną nazwą hosta mod_ls_fakegroup=Fikcyjna grupa przy przeglądaniu katalogów? mod_ls_fakeuser=Fikcyjny użytkownik przy przeglądaniu katalogów? mod_ls_fakemode=Fikcyjne prawa dostępu przy przeglądaniu katalogów? mod_ls_dotfiles=Pokazywać pliki zaczynające się od . przy przeglądaniu? mod_ls_ls=Dodatkowe opcje dla ls mod_ls_els=Nie podano dodatkowych opcji dla ls mod_auth_chdir=Początkowy katalog logowania mod_auth_echdir=Nie podany lub niepoprawny katalog początkowy mod_auth_chroot=Katalogi chroot mod_auth_dir=Katalog mod_auth_groups=Grupy Uniksa mod_auth_all=Wszystkie mod_auth_edir=Niepoprawny katalog chroot mod_auth_egroups=Nie podano grup Uniksa mod_auth_echroot=Nie podany lub niepoprawny katalog chroot mod_auth_login=Nie pytać o hasło, gdy logowanie jest zabronione? mod_auth_root=Zezwolić na logowanie roota? mod_site_chmod=Zezwolić na polecenie chmod? mod_unixpw_ufile=Alternatywny plik haseł Uniksa mod_unixpw_eufile=Nie podany lub niepoprawny plik haseł Uniksa mod_unixpw_gfile=Alternatywny plik grup Uniksa mod_unixpw_egfile=Nie podany lub niepoprawny plik grup Uniksa mod_unixpw_none=Brak mod_unixpw_pam=Zawsze korzystać z autoryzacji PAM? mod_unixpw_persist=Trzymać plik haseł ciągle otwarty? mod_log_syslog=Logować błędy do pliku mod_log_sysdef=Logu systemowego mod_log_esyslog=Nie podana lub niepoprawna nazwa pliku logu mod_log_extended=Indywidualne pliki logów mod_log_file=Plik logu mod_log_cmd=Dla poleceń FTP mod_log_nick=Format logowania mod_log_all=Wszystkich mod_log_ecmd=Nie podano poleceń FTP mod_log_enick=Nie podana lub niepoprawna nazwa formatu logowania mod_log_ecmdnick=Musisz podać format logowania gdy określasz logowane polecenia mod_log_nickname=Nazwa formatu mod_log_fmt=Wzorzec formatu mod_log_format=Indywidualne formaty logowania mod_log_enickname=Nie podana lub niepoprawna nazwa formatu mod_log_efmt=Nie podano wzorca formatu mod_pam_pam=Korzystać z autoryzacji PAM? mod_pam_config=Autoryzować za pomocą usługi PAM mod_pam_econfig=Nie podana lub niepoprawna usługa PAM mod_readme_display=Zawiadamiać użytkownika o plikach $quot;readme" wg wzorca mod_readme_none=Nie zawiadamiać mod_readme_edisplay=Nie podano wzorca dla plików "readme" start_err=Nie udało się uruchomić serwera FTP start_einetd=Nie można uruchamiać serwera jako demona, gdy jest w trybie inetd. ftpaccess_title=Opcje dla plików w katalogu ftpaccess_desc=Dodatkowe opcje dla katalogu można podawać w pliku (zazwyczaj o nazwie .ftpaccess) w danym katalogu. Opcje te dotyczą wszystkich plików w tym katalogi i w jego podkatalogach, o ile nie zostały przesłonięte przez inny plik opcji. ftpaccess_create=Utwórz plik opcji ftpaccess_find=Szukaj plików opcji ftpaccess_auto=Dla anonimowego ftpaccess_from=W głąb katalogu ftpaccess_return=listy plików opcji ftpusers_title=Użytkownicy nie dopuszczeni do FTP ftpusers_desc=Dla wymienionych poniżej użytkowników z pliku $1 będzie zablokowana możliwość logowania się jako użytkownik FTP, o ile włączono to w sekcji Autoryzacja ftpindex_title=Plik opcji dla katalogu ftpindex_delete=Usuń plik ftpindex_opts=Opcje dla katalogu ftpindex_edit=Zmień dyrektywy ftpindex_limit=Opcje dla polecenia ftpindex_addlimit=Dodaj opcje dla polecenia .. ftpindex_header2=$1 w $2 ftpindex_return=pliku opcji dla katalogu ftpindex_header=Dla $1 find_err=Nie znaleziono plików opcji find_eanon=Dla żadnego serwera wirtualnego nie ustawiono anonimowego FTP log_global=Zmieniono opcje ogólne $1 log_ftpusers=Zmieniono użytkowników FTP o zabronionym dostępie log_virtc=Utworzono serwer $1 log_virts=Przekonfigurowano serwer $1 log_virtd=Usunięto serwer $1 log_virtm=Ręcznie zmieniono serwer $1 log_virt=Zmieniono $1 w serwerze $2 log_dirc=Utworzono katalog $1 log_dirc_l=Utworzono katalog $1 serwera $2 log_dirs=Zmieniono katalog $1 log_dirs_l=Zmieniono katalog $1 serwera $2 log_dird=Usunięto katalog $1 log_dird_l=Usunięto katalog $1 z serwera $2 log_dirm=Ręcznie zmieniono katalog $1 log_dirm_l=Ręcznie zmieniono katalog $1 serwera $2 log_dir=Zmieniono $1 w katalogu $2 log_dir_l=Zmieniono $1 w katalogu $2 serwera $3 log_limitc=Utworzono opcje dla poleceń $1 log_limits=Przekonfigurowano opcje dla poleceń $1 log_limitd=Usunięto opcje dla poleceń $1 log_limitm=Ręcznie zmieniono plik opcji dla poleceń $1 log_limit=Zmieniono $1 w pliku opcji dla poleceń $2 log_ftpaccessc=Utworzono plik opcji $1 log_ftpaccessd=Usunięto plik opcji $1 log_ftpaccessm=Ręcznie zmieniono plik opcji $1 log_ftpaccess=Zmieniono $1 w pliku opcji $2 log_start=Uruchomiono proftpd log_apply=Zastosowano zmiany proftpd/lang/ca0100644000567100000120000004770610115717245013465 0ustar jcameronwheelindex_title=Servidor ProFTPD index_eproftpd=No s'ha trobat el servidor ProFTPD $1. Pot ser que no estigui instalˇlat, o bé que la configuració del mňdul sigui incorrecta. index_eproftpd2=No sembla que el programa $1 sigui el servidor ProFTPD. Pot ser que no estigui instalˇlat, o bé que la configuració del mňdul sigui incorrecta. La sortida de l'ordre $3 ha estat: $4 index_eversion=La versió del servidor ProFTPD $1 no estŕ suportada per Webmin. Només estan suportades les versions 0.99 i posteriors. index_econf=El fitxer de configuració de ProFTPD $1 no existeix o no és vŕlid. Pot ser que la configuració del mňdul sigui incorrecta. index_apply=Aplica els Canvis index_applymsg=Fes clic sobre aquest botó per aplicar la configuració actual enviant un senyal SIGHUP al procés ProFTPD en execució. index_start=Engega el Servidor index_startmsg=Fes clic sobre aquest botó per engegar el servidor FTP amb la configuració actual. També pots fer que el servidor s'engegui automŕticament quan calgui amb el mňdul Serveis d'Internet. index_startmsg2=Fes clic sobre aquest botó per engegar el servidor FTP amb la configuració actual. També pots fer que el servidor s'engegui automŕticament quan calgui amb inetd o algun programa equivalent. index_return=al menú principal index_virts=Servidors Virtuals index_virt=Servidors Virtuals index_type=Tipus de servidor index_addr=Adreces index_name=Nom del servidor index_port=Port FTP index_defserv=Servidor per defecte index_defdesc=gestiona qualsevol connexió FTP no gestionada pels servidors virtuals. index_any=Qualsevol index_vdesc=gestiona totes les connexions de $1 index_eip=<Desconegut> index_global=Configuració Global index_create=Crea un servidor virtual index_version=Versió ProFTPd $1 efailed=No he pogut desar $1 type_0=Opcions de xarxa type_1=Opcions de Registre type_2=Fitxers i Directoris type_3=Control d'Accés type_4=Miscelˇlŕnia type_5=Usuari i Grup type_6=Autenticació virt_title=Opcions del Servidor Virtual virt_header1=De $1 virt_header2=Del servidor per defecte virt_header3=opcions $1 virt_anon=FTP anňnim virt_header=Opcions per directori i per ordre virt_dir=Directori $1 virt_limit=Ordres $1 virt_adddir=Afegeix opcions per directori a... virt_addlimit=Afegeix opcions per ordre a... virt_path=Camí del directori virt_cmds=Ordres FTP virt_return=al servidor virtual virt_virt=Configura Servidor Virtual virt_edit=Edita les Directives vserv_title=Configuració de Servidor Virtual vserv_addr=Adreça vserv_name=Nom del servidor vserv_port=Port FTP vserv_delete=Suprimeix el servidor virtual vserv_eaddr=Hi falta l'adreça o bé és invŕlida vserv_eport=Hi falta el número del port o bé és invŕlid vserv_ename=Hi falta el nom del servidor anon_title=Opcions de FTP Anňnim anon_header1=Del servidor virtual $1 anon_header2=Del servidor per defecte anon_anon=Configura FTP Anňnim anon_return=a les opcions de FTP anňnim anon_header3=De l'FTP anňnim del servidor virtual $1 anon_header4=De l'FTP anňnim del servidor per defecte aserv_title=Configuració de l'FTP Anňnim aserv_create=Configura l'FTP Anňnim aserv_root=Limita al directori aserv_user=Accedeix els fitxers com a usuari aserv_group=Accedeix els fitxers com a grup aserv_err=No he pogut desar l'FTP anňnim aserv_eroot=Hi falta el directori chroot o bé és invŕlid aserv_euser=Hi falta l'usuari Unix o bé és invŕlid aserv_egroup=Hi falta el grup Unix o bé és invŕlid aserv_desc=Encara no s'ha configurat l'FTP anňnim d'aquest servidor virtual. Fes servir aquest formulari per configurar les opcions inicials. dir_title=Opcions per Directori dir_header2=Del directori $1 del servidor per defecte dir_header1=Del directori $1 del servidor virtual $2 dir_edit=Edita les Directives dir_return=a les opcions per directori dir_header3=opcions $1 de $2 dir_header=Opcions per ordre dir_dir=Configura el Directori dir_header4=Del directori $1 de l'FTP anňnim dir_header5=Globalment per al directori $1 manual_title=Edició de Directives manual_header=Fes servir la caixa de text de sota per editar manualment les directives ProFTPD de $1 que s'apliquen a aquest servidor virtual, directori o ordres. manual_configs=Edició dels Fitxers de Configuració manual_ecannot=No pots editar manualment les directives manual_file=Edita les Directives del Fitxer: manual_efile=Fitxer de configuració ProFTPd manual_etest=S'ha detectat un error al fitxer de configuració: $1 limit_title=Opcions per Ordre limit_header4=De les ordres $1 del directori $2 limit_header2=De les ordres $1 del servidor per defecte limit_header1=De les ordres $1 del servidor virtual $2 limit_edit=Edita les Directives limit_limit=Configura les Ordres limit_header3=opcions $1 de les ordres $2 limit_return=a les opcions per ordre limit_header5=de les ordres $1 de l'FTP anňnim limit_header6=de les ordres $1 del fitxer $2 limit_header7=Globalment per a les ordres $1 lserv_title=Configuració d'Ordres lserv_cmd=Ordres FTP lserv_delete=Suprimeix la configuració del les ordres lserv_err=No he pogut desar les ordres lserv_ecmd=No has seleccionat cap ordre dserv_title=Configuració de Directori dserv_dir=Camí del directori dserv_err=No he pogut desar el directori dserv_edir=Hi falta el camí del directori dserv_delete=Suprimeix la configuració del directori dserv_eanondir=El directori ha d'estar sota el directori de FTP anňnim mod_core_type=Tipus de servidor mod_core_inetd=Executa'l des d'Inetd mod_core_stand=Dimoni independent mod_core_port=Escolta el port mod_core_eport=Hi falta el número del port o bé és invŕlid mod_core_servername=Nom del servidor mostrat als usuaris mod_core_eservername=Hi falta el nom del servidor mod_core_defaultserver=Fes servir aquest servidor virtual per defecte mod_core_instances=Nombre mŕxim de sessions simultŕnies mod_core_einstances=Hi falta el nombre de sessions o bé és invŕlid mod_core_umask=Umask nova mod_core_octal=Mŕscara octal mod_core_umask_d=Nova mŕscara de directori mod_core_eumask=Hi falta l'umask o bé és invŕlida mod_core_user=Executa com a usuari Unix mod_core_uname=Nom de l'usuari mod_core_uid=UID mod_core_group=Executa com a grup Unix mod_core_gname=Nom del grup mod_core_gid=GID mod_core_tlog=Fitxer de registre de transferčncies FTP mod_core_nowhere=Enregistrament desactivat mod_core_etlog=Hi falta el fitxer de registres o bé és invŕlid mod_core_accessdeny=Missatge de connexió fallida mod_core_accessgrant=Missatge de connexió reeixida mod_core_adall=Política de control d'accés mod_core_addefault=Igual que el pare mod_core_allowall=Permet tots els clients mod_core_denyall=Denega tots els clients mod_core_filter=Permet expressions regulars en ordres FTP mod_core_foreign=Permet transferčncies de dades externes mod_core_overwrite=Permet la reescriptura de fitxers mod_core_restart=Permet el reinici de descŕrregues mod_core_restart2=Permet cŕrregues reiniciades mod_core_require=Exigeix contrasenya per FTP anňnim mod_core_anongroup=Grups els membres dels quals cal tractar com a usuari anňnim mod_core_eanongroup=No has introduďt cap grup anňnim mod_core_authalias=Permet la connexió només als usuaris amb ŕlies mod_core_authusingalias=Fes servir la contrasenya de l'ŕlies per a la connexió anňnima mod_core_bind=Lliga a l'adreça mod_core_bind_all=Totes les adreces mod_core_ebind=Hi falta el lligam d'adreça o bé és invŕlid mod_core_cdpath=Curtcircuita els directoris CD mod_core_classes=Activa les classes per al control d'accés mod_core_cls=Classes de control d'accés mod_core_cname=Nom de la classe mod_core_ctype=Tipus i valor mod_core_climit=Connexions mŕximes mod_core_cregex=Patró de coincidčncia del nom de host client mod_core_cip=Xarxa IP client/CIDR mod_core_eclimit=Hi falta el nombre mŕxim de connexions o bé és invŕlid mod_core_ecregex=Hi falta el patró del nom de host client mod_core_ecip=Hi falta la Xarxa IP client/CIDR mod_core_buffer=Llargŕria mŕxima de l'ordre FTP mod_core_ebuffer=Hi falta la llargŕria mŕxima de l'ordre FTP o bé és invŕlida mod_core_transfer=Mode de transferčncia per defecte mod_core_binary=Binari mod_core_ascii=ASCII mod_core_defer=Difereix els missatges de benvinguda fins després d'haver-se connectat mod_core_aborted=Suprimeix les cŕrregues avortades mod_core_dfilter=Expressions regulars d'ordres FTP denegades mod_core_display=Fitxer de missatge previ a la connexió mod_core_none=Cap mod_core_edisplay=Hi falta el fitxer de missatge previ a la connexió mod_core_firstcd=Nom del fitxer README del directori mod_core_efirstcd=Hi falta el nom del fitxer README del directori mod_core_goaway=Fitxer de missatge de connexions excessives mod_core_egoaway=Hi falta el fitxer de missatge de connexions excessives mod_core_login=Fitxer de missatge posterior a la connexió mod_core_elogin=Hi falta el fitxer de missatge posterior a la connexió mod_core_quit=Fitxer de missatge de desconnexió mod_core_equit=Hi falta el fitxer de missatge de desconnexió mod_core_gowner=Grup propietari dels fitxers pujats mod_core_egowner=Hi falta el grup propietari dels fitxers pujats mod_core_grouppassword=Contrasenyes de grups mod_core_gpname=Grup Unix mod_core_gppass=Contrasenya mod_core_gpdef=Deixa-ho tal com estŕ mod_core_egpname=Nom de grup Unix invŕlid mod_core_hstor=Amaga els fitxers durant la puja mod_core_hgroup=Amaga els fitxers propietat dels grups mod_core_ehgroup=Nom de grup invŕlid mod_core_hnoaccess=Amaga els fitxers que no puguin ser accedits mod_core_huser=Amaga els fitxers propietat dels usuaris mod_core_ehuser=Nom d'usuari invŕlid mod_core_ident=Consulta la identitat remota del nom d'usuari mod_core_ihidden=Fes que els fitxers amagats siguin inaccessibles mod_core_masq=Mascarada com a adreça mod_core_masq_def=Fes servir l'adreça real mod_core_emasq=Hi falta l'adreça de mascarada o bé és invŕlida mod_core_maxc=Mŕxim nombre de connexions simultŕnies mod_core_maxc1=Ilˇlimitat mod_core_maxcmsg=Missatge d'error de connexió mod_core_emaxc=Hi falta el nombre mŕxim de connexions simultŕnies o bé és invŕlid mod_core_maxch=Mŕxim nombre de connexions simultŕnies per host mod_core_maxcu=Mŕxim nombre de connexions simultŕnies per usuari mod_core_logins=Mŕxim nombre de connexions fallides per sessió mod_core_elogins=Hi falta el nombre de connexions fallides o bé és invŕlid mod_core_rfc2228=Envia respostes estil RFC2228 mod_core_pasv=Rang del port PASV mod_core_pasvr=Mín - mŕx mod_core_epasv=Hi falta el número del port PASV o bé és invŕlid mod_core_pathallow=Expressió regular de fitxers pujats permesos mod_core_any=Qualsevol mod_core_pathdeny=Expressió regular de fitxers pujats denegats mod_core_pidfile=Escriu el PID al fitxer mod_core_epidfile=Hi falta el fitxer de PID o bé és invŕlid mod_core_shell=Permet només la connexió d'usuaris amb shell vŕlida mod_core_cpulimit=Límits de recursos de la CPU mod_core_ecpulimit=Límits de recursos de la CPU mod_core_memlimit=Límits de recursos de memňria mod_core_ememlimit=límit de recursos de memňria mod_core_filelimit=Límits de fitxers oberts mod_core_efilelimit=límit de fitxers oberts mod_core_soft=Límit del programari: mod_core_hard=Límit del maquinari: mod_core_max=Mŕxim mod_core_esoft=Hi falta el $1 del programari o bé és invŕlid mod_core_ehard=Hi falta el $1 del maquinari o bé és invŕlid mod_core_score=Camí del directori de puntuacions mod_core_escore=Hi falta el directori de puntuacions o bé és invŕlid mod_core_admin=Adreça de correu de l'administrador del servidor mod_core_eadmin=Hi falta l'adreça de correu o bé és invŕlida mod_core_identmsg=Missatge de connexió del client mod_core_identmsg_def=Mostra el missatge per defecte mod_core_links=Mostra els enllaços simbňlics mod_core_tight=Lliga només els ports necessaris mod_core_facility=Utilitat de registres del sistema mod_core_level=Nivell de registres del sistema mod_core_backlog=Llargŕria de la cua TCP backlog mod_core_ebacklog=Hi falta la llargŕria de la cua backlog o bé és invŕlida mod_core_nodelay=Fes servir l'opció de sňcol TCP_NODELAY mod_core_rwindow=Mida de la finestra de recepció TCP mod_core_erwindow=Hi falta la mida de la finestra de recepció o bé és invŕlida mod_core_swindow=Mida de la finestra de tramesa TCP mod_core_eswindow=Hi falta la mida de la finestra de tramesa o bé és invŕlida mod_core_gmt=Mostra l'hora GMT mod_core_tidle=Temps d'inacció abans de desconnectar mod_core_etidle=Hi falta el temps d'inacció o bé és invŕlid mod_core_secs=segons mod_core_tlogin=Temps d'espera de l'autenticació mod_core_etlogin=Hi falta el temps d'espera de l'autenticació o bé és invŕlid mod_core_ttransfer=Temps d'espera de la primera transferčncia mod_core_ettransfer=Hi falta el temps d'espera de la primera transferčncia o bé és invŕlid mod_core_tstalled=Temps d'espera de les transferčncies de dades aturades mod_core_etstalled=Hi falta el temps d'espera de les transferčncies de dades aturades o bé és invŕlid mod_core_ftpusers=Denega els usuaris del fitxer /etc/ftpusers mod_core_hostsallow=Fitxer de hosts permesos mod_core_ehostsallow=El fitxer de hosts permesos no existeix mod_core_hostsdeny=Fitxer de hosts denegats mod_core_ehostsdeny=El fitxer de hosts denegats no existeix mod_core_revdns=Fes consultes inverses de les adreces client mod_core_userdir=Fes chroot al subdirectori de l'usuari mod_core_ualias=Ŕlies d'usuari mod_core_afrom=Nom d'usuari mod_core_ato=Nom real de l'usuari mod_core_eafrom=Nom d'usuari invŕlid a l'ŕlies mod_core_eato=Hi falta el nom d'usuari real o bé és invŕlid mod_core_uowner=Propietari dels fitxers pujats mod_core_euowner=Hi falta el propietari dels fitxers pujats o bé és invŕlid mod_core_userpassword=Ignorŕncia de les contrasenyes d'usuaris mod_core_upname=Usuari Unix mod_core_uppass=Contrasenya mod_core_updef=Deixa-ho tal com estŕ mod_core_eupname=Usuari Unix invŕlid mod_core_wtmp=Enregistra les connexions a wtmp mod_core_allow_deny=Restringeix l'accés mod_core_allowdeny=Permet-lo i denega'l després mod_core_denyallow=Denega'l i permet-lo després mod_core_allow=Permet mod_core_deny=Denega mod_core_mode_0=Tots mod_core_mode_1=Cap mod_core_mode_2=Adreça IP mod_core_mode_3=Xarxa mod_core_mode_4=Nom de host mod_core_cond=Condició mod_core_action=Acció mod_core_agroup=Permet només els grups mod_core_auser=Permet només els usuaris mod_core_all=Tots mod_core_dgroup=Denega els grups mod_core_duser=Denega els usuaris mod_core_eip='$1' no és una adreça IP vŕlida mod_core_enet='$1' no és una adreça de xarxa vŕlida mod_core_ehost='$1' no és un nom de host vŕlid mod_ls_fakegroup=Simula el grup en els llistats de directori mod_ls_fakeuser=Simula l'usuari en els llistats de directori mod_ls_fakemode=Simula els permisos en els llistats de directoris mod_ls_nofake=Permisos reals mod_ls_efakemode=Els permisos simulats han d'estar en octal mod_ls_dotfiles=Mostra el fitxers que comencen per . en els llistats de directori mod_ls_ls=Opcions addicionals de ls mod_ls_els=Hi falten les opcions addicionals de ls mod_ls_fakeasuser=Sí, com a usuari... mod_ls_fakesameuser=Usuari connectat mod_ls_fakeasgroup=Sí, com a grup... mod_ls_fakesamegroup=Grup connectat mod_ls_efakeuser=Hi falta l'usuari simulat o bé és incorrecte mod_ls_efakegroup=Hi falta el grup simulat o bé és incorrecte mod_ls_options=Opcions de llista del directori mod_ls_strict=Deixar de banda les opcions de l'usuari mod_auth_chdir=Directori inicial de connexió mod_auth_echdir=Hi falta el directori d'entrada inicial o bé és invŕlid mod_auth_chroot=Limita els usuaris als directoris mod_auth_home=Directori arrel mod_auth_none=Cap mod_auth_dir=Directori mod_auth_groups=Grups Unix mod_auth_all=Tothom mod_auth_edir=Directori chroot invŕlid mod_auth_egroups=No has introduďt cap grup Unix per a chroot mod_auth_echroot=Hi falta el directori chroot o bé és invŕlid mod_auth_login=No demanis la contrasenya si la connexió estŕ denegada mod_auth_root=Permet la connexió de root mod_site_chmod=Permet l'ordre chmod mod_unixpw_ufile=Fitxer alternatiu de contrasenyes Unix mod_unixpw_eufile=Hi falta el fitxer alternatiu de contrasenyes o bé és invŕlid mod_unixpw_gfile=Fitxer alternatiu de grups Unix mod_unixpw_egfile=Hi falta el fitxer alternatiu de grups o bé és invŕlid mod_unixpw_none=Cap mod_unixpw_pam=Tracta sempre els PAM com a autoritzats mod_unixpw_persist=Mantingues el fitxer de contrasenyes permanentment obert mod_log_syslog=Enregistra els errors al fitxer mod_log_sysdef=Registre del sistema mod_log_esyslog=Hi falta el fitxer de registre o bé és invŕlid mod_log_extended=Fitxers de registre personalitzats mod_log_file=Fitxer de registre mod_log_cmd=De les ordres FTP mod_log_nick=Format del registre mod_log_all=Totes mod_log_ecmd=Hi falten les ordres FTP mod_log_enick=Hi falta el nom del format o bé és invŕlid mod_log_ecmdnick=Quan especifiques ordres per registrar, has d'introduir un format de registre mod_log_nickname=Nom del format mod_log_fmt=Cadena de format mod_log_format=Formats de registre personalitzats mod_log_enickname=Hi falta el nom del format o bé és invŕlid mod_log_efmt=Hi falta la cadena de format mod_pam_pam=Fes servir PAM per a l'autenticació mod_pam_config=Autentica fent servir el servei PAM mod_pam_econfig=Hi falta el servei PAM o bé és invŕlid mod_readme_display=Avisa a l'usuari dels fitxers readme que coincideixin amb mod_readme_none=Cap mod_readme_edisplay=Hi falta el patró dels fitxers readme start_err=No he pogut engegar el servidor FTP start_einetd=No pots engegar el dimoni servidor en mode inetd. ftpaccess_title=Fitxers d'Opcions per Directori ftpaccess_desc=Les opcions per directori addicionals es poden especificar amb un fitxer (anomenat normalment .ftpaccess) a cada directori. Les opcions s'apliquen a tots els fitxers del directori i a qualsevol subdirectori, a menys que sigui obviat per un altre fitxer d'opcions. ftpaccess_create=Crea Fitxer d'Opcions ftpaccess_find=Busca Fitxers d'Opcions ftpaccess_auto=Sota anňnim ftpaccess_from=A partir del directori ftpaccess_return=a la llista de fitxers d'opcions ftpusers_title=Usuaris FTP Denegats ftpusers_desc=Si estŕ activat sota la icona d'Autenticació, els usuaris del fitxer $1 llistat a a sota tindran l'accés denegat al servidor FTP. ftpindex_title=Fitxer d'Opcions per Directori ftpindex_delete=Suprimeix el fitxer ftpindex_opts=Opcions per Directori ftpindex_edit=Edita les Directives ftpindex_limit=Opcions d'ordre ftpindex_addlimit=Afegeix opcions d'ordre a... ftpindex_header2=$1 a $2 ftpindex_return=a l fitxer d'opcions per directori ftpindex_header=De $1 find_err=No he pogut trobar cap fitxer d'opcions find_eanon=L'FTP anňnim no estŕ configurat a cap servidor virtual log_global=He canviat les opcions globals $1 log_ftpusers=He canviat els usuaris FTP denegats log_virtc=He creat el servidor $1 log_virts=He reconfigurat el servidor $1 log_virtd=He suprimit el servidor $1 log_virtm=He editat manualment el servidor $1 log_virt=He canviat $1 al servidor $2 log_dirc=He creat el directori $1 log_dirc_l=He creat el directori $1 del servidor $2 log_dirs=He canviat el directori $1 log_dirs_l=He canviat el directori $1 del servidor $2 log_dird=He suprimit el directori $1 log_dird_l=He suprimit el directori $1 del servidor $2 log_dirm=He editat manualment el directori $1 log_dirm_l=He editat manualment el directori $1 del servidor $2 log_dir=He canviat $1 del directori $2 log_dir_l=He canviat $1 del directori $2 del servidor $3 log_limitc=He creat les opcions d'ordre de $1 log_limits=He reconfigurat les opcions d'ordre de $1 log_limitd=He suprimit les opcions d'ordre de $1 log_limitm=He editat manualment les opcions d'ordre de $1 log_limit=He canviat $1 les opcions d'ordre de $2 log_ftpaccessc=He creat el fitxer d'opcions $1 log_ftpaccessd=He suprimit el fitxer d'opcions $1 log_ftpaccessm=He editat manualment el fitxer d'opcions $1 log_ftpaccess=He canviat $1 al fitxer d'opcions $2 log_anonc=He configurat l'FTP anňnim del servidor $1 log_anons=He reconfigurat l'FTP anňnim del servidor $1 log_anond=He suprimit l'FTP anňnim del servidor $1 log_anonm=He editat manualment l'FTP anňnim del servidor $1 log_anon=He canviat $1 a l'FTP anňnim del servidor $2 log_start=He iniciat proftpd log_apply=He aplicat els canvis eafter=La verificació de la configuració ha fallat: no s'han desat $1 canvis. proftpd_apply=Aplica els Canvis proftpd_stop=Atura ProFTPd proftpd_start=Inicia ProFTPd proftpd/lang/es0100664000567100000120000004525310067401523013501 0ustar jcameronwheelindex_title=Servidor ProFTPD index_eproftpd=El servidor ProFTPD $1 no pudo ser hallado en tu sistema. Quizás no está instalado o tu configuración del módulo no es correcta. index_eproftpd2=El programa $1 no parece ser un servidor ProFTPD. Quizás no está instalado o tu configuración del módulo no es correcta. index_eversion=La versión del servidor ProFTPD $1 no está soportada por Webmin. Sólo las versiones 1.2 y superiores están contempladas. index_econf=El archivo de configuración ProFTPD $1 no existe o es inválido. Quizás tu configuración del módulo no es correcta. index_apply=Aplicar Cambios index_applymsg=Haz click en este botón para aplicar la configuración en curso mediante el envío de la seńal SIGHUP al proceso ProFTPD actuálmente en ejecución. index_start=Arrancar Servidor index_startmsg=Haz click en este botón para arrancar el servidor FTP con la configuración actual. También puedes configurar el servidor para ser arrancado automáticamente cuando sea necesario mediante el módulo de Servicios de Internet. index_startmsg2=Haz click en este botón para arrancar el servidor FTP con la configuración actual. También puedes configurar el servidor para ser arrancado automáticamente cuando sea necesario mediante inetd o algún programa similar. index_return=menú principal index_virts=Servidores Virtuales index_virt=Servidor Virtual index_type=Tipo de Servidor index_addr=Dirección index_name=Nombre de Servidor index_port=Puerto FTP index_defserv=Servidor por defecto index_defdesc=Maneja cualquier conexión FTP no manejada por servidores virtuales. index_any=Cualquiera index_vdesc=Maneja todas las conexiones a $1 index_eip=<Desconocido> index_global=Configuración Global index_create=Crear servidor virtual index_version=Versión $1 de ProFTPd efailed=No pude salvar $1 type_0=Opciones de Red type_1=Opciones de Diario type_2=Archivos y Directorios type_3=Control de Acceso type_4=Varios type_5=Usuario y Grupo type_6=Autenticación virt_title=Opciones de Servidor Virtual virt_header1=Para $1 virt_header2=Para servidor por defecto virt_header3=Opciones de $1 virt_anon=FTP anónimo virt_header=Opciones de Por-directorio y Por-comando virt_dir=Directorio $1 virt_limit=Comandos $1 virt_adddir=Ańadir opciones de por-directorio para... virt_addlimit=Ańadir opciones de por-comando para... virt_path=Trayectoria de directorio virt_cmds=Comandos FTP virt_return=servidor virtual virt_virt=Configurar Servidor Virtual virt_edit=Editar Directivas vserv_title=Configurar Servidor Virtual vserv_addr=Dirección vserv_name=Nombre de servidor vserv_port=Puerto FTP vserv_delete=Borrar servidor virtual vserv_eaddr=Dirección falta o es inválida vserv_eport=Número de puerto falta o es inválido vserv_ename=Nombre de servidor falta anon_title=Opciones de FTP anónimo anon_header1=En servidor virtual $1 anon_header2=En servidor por defecto anon_anon=Configurar FTP anónimo anon_return=opciones de FTP anónimo anon_header3=Para FTP anónimo en servidor virtual $1 anon_header4=Para FTP anónimo en servidor por defecto aserv_title=Configurar FTP anónimo aserv_create=Configurar FTP Anónimo aserv_root=Directorio para Chroot aserv_user=Acceder a archivos como usuario aserv_group=Acceder a archivos como grupo aserv_err=No pude salvar FTP anónimo aserv_eroot=Directorio chroot falta o es inválido aserv_euser=Usuario unix falta o es inválido aserv_egroup=Grupo unix falta o es inválido aserv_desc=El FTP anónimo aún no ha sido configurado para este servidor virtual. Usa este formulario para poner las opciones de configuración inicial. dir_title=Opciones de Por-Directorio dir_header2=Para directorio $1 en servidor por defecto dir_header1=Para directorio $1 en servidor virtual $2 dir_edit=Editar Directivas dir_return=opciones de por-directorio dir_header3=opciones $1 en $2 dir_header=Opciones de por-comando dir_dir=Configurar Directorio dir_header4=Para directorio $1 en FTP anónimo manual_title=Editar Directivas manual_header=Usa la caja de edición inferior para editar manuálmente las directivas ProFTPD en $1 que se aplican a este servidor virtual, directorio o comandos. limit_title=Opciones de Por-Comando limit_header4=Para comandos $1 en directorio $2 limit_header2=Para comandos $1 en servidor por defecto limit_header1=Para comandos $1 en servidor virtual $2 limit_edit=Editar Directivas limit_limit=Configurar Comandos limit_header3=opciones $1 para comandos $2 limit_return=opciones de por-comando limit_header5=Para comandos $1 en FTP anónimo limit_header6=Para comandos $1 en archivo $2 lserv_title=Configurar Comandos lserv_cmd=Comandos FTP lserv_delete=Borrar configuración de comandos lserv_err=No pude salvar comandos lserv_ecmd=No se han seleccionado comandos dserv_title=Configurar Directorio dserv_dir=Trayectoria de directorio dserv_err=No pude salvar directorio dserv_edir=Trayectoria de directorio falta dserv_delete=Borrar configuración de directorio mod_core_type=Tipo de servidor mod_core_inetd=Ejecutar desde Inetd mod_core_stand=Demonio solitario mod_core_port=Escuchar en puerto mod_core_eport=Número de puerto falta o es inválido mod_core_servername=Nombre de servidor mostrado a usuarios mod_core_eservername=Nombre de servidor falta mod_core_defaultserver=żUsar este servidor virtual por defecto? mod_core_instances=Máximas sesiones concurrentes mod_core_einstances=Número de sesiones falta o es inválido mod_core_umask=Umask de nuevo archivo mod_core_eumask=Umask falta o es inválida mod_core_user=Ejecutar como usuario Unix mod_core_uname=Nombre de usuario mod_core_uid=UID mod_core_group=Ejecutar como grupo Unix mod_core_gname=Nombre de grupo mod_core_gid=GID mod_core_tlog=Archivo de diario de transferncias FTP mod_core_etlog=Archivo de diario de transferencias falta o es inválido mod_core_accessdeny=Mensaje de fallo de login mod_core_accessgrant=Mensaje de login con éxito mod_core_adall=Política de control de acceso mod_core_addefault=Igual que el padre mod_core_allowall=Permitir a todos los clientes mod_core_denyall=Denegar a todos los clientes mod_core_filter=Regexp autorizadas de comandos FTP mod_core_foreign=żPermito transferencias forasteras de datos? mod_core_overwrite=żPermito sobreescribir archivos? mod_core_restart=żPermito reiniciar descargas? mod_core_restart2=żPermito reiniciar cargas? mod_core_require=żEs necesaria la clave de acceso para login anónimo? mod_core_anongroup=Grupos en los que tratar a los miembros como anónimos mod_core_eanongroup=No se ha digitado grupo anónimo mod_core_authalias=żSólo permito hacer login a usuarios con alias? mod_core_authusingalias=żUso clave de acceso de alias para login anónimo? mod_core_bind=Forzar a dirección mod_core_bind_all=Todas las direcciones mod_core_ebind=Dirección forzada falta o es inválida mod_core_cdpath=Atajo CD a Directorios mod_core_classes=żActivo clases para control de acceso? mod_core_cls=Clases de control de acceso mod_core_cname=Nombre de clase mod_core_ctype=Tipo y valor mod_core_climit=Máx conexiones mod_core_cregex=Coincidencia de nombre de máquina de cliente mod_core_cip=IP de Cliente de red/CIDR mod_core_eclimit=Máx conexiones falta o es inválido mod_core_ecregex=Coincidencia de nombre de máquina de cliente falta mod_core_ecip=IP de Cliente de red/CIDR falta o es inválido mod_core_buffer=Tamańo máximo de comando FTP mod_core_ebuffer=Tamańo máximo de comando falta o es inválido mod_core_transfer=Modo de transferencia por defecto mod_core_binary=Binario mod_core_ascii=ASCII mod_core_defer=żDifiero mensaje de bienvenida hasta haber hecho login? mod_core_aborted=żBorro cargas abortadas? mod_core_dfilter=Regexp de comandos FTP denegados mod_core_display=Archivo de mensajes de pre-login mod_core_none=Ninguno mod_core_edisplay=Archivo de mensajes de pre-login falta mod_core_firstcd=Nombre de archivo README de directorio mod_core_efirstcd=Nombre de archivo README de directorio falta mod_core_goaway=Demasiados archivos de mensajes de conexión mod_core_egoaway=Falta 'Demasiados archivos de mensajes de conexión' mod_core_login=Archivo de mensajes de post-login mod_core_elogin=Falta archivo de mensajes de post-login mod_core_quit=Archivo de mensajes de logout mod_core_equit=Falta archivo de mensajes de logout mod_core_gowner=Propietario de grupo de archivos cargados mod_core_egowner=Grupo para archivos cargados falta o es inválido mod_core_grouppassword=Claves de acceso de grupo mod_core_gpname=Grupo Unix mod_core_gppass=Clave de acceso mod_core_gpdef=Dejar sin cambiar mod_core_egpname=Nombre de grupo unix inválido mod_core_hstor=żOculto archivos cargados? mod_core_hgroup=Ocultar archivos pertenecientes a grupos mod_core_ehgroup=Nombre de grupo del que ocultar archivos inválido mod_core_hnoaccess=żOculto archivos que no pueden ser accedidos? mod_core_huser=Ocultar archivos pertenecientes a usuarios mod_core_ehuser=Nombre de usuario del que ocultar archivos inválido mod_core_ident=żBusco indentificación remota de nombre de usuario? mod_core_ihidden=żHago inacesibles los archivos ocultos? mod_core_masq=Enmascarar como dirección mod_core_masq_def=Usar dirección real mod_core_emasq=Dirección de enmascaramiento falta o es inválida mod_core_maxc=Máximos logins concurrentes mod_core_maxc1=Ilimitados mod_core_maxcmsg=Mensaje de error de login mod_core_emaxc=Máximo número de logins falta o es inválido mod_core_maxch=Máximos logins concurrentes falta o es inválido mod_core_maxcu=Máximos logins concurrentes por usuario mod_core_logins=Máximos fallos de login por sesión mod_core_elogins=Número de logins fallidos falta o es inválido mod_core_rfc2228=żEnviar respuesta de estilo RFC2228? mod_core_pasv=Rango de puerto PASV mod_core_pasvr=Mín - máx mod_core_epasv=Número de puerto PASV falta o es inválido mod_core_pathallow=Regex de nombre de archivo cargado autorizado mod_core_any=Cualquiera mod_core_pathdeny=Regex de nombre de archivo cargado denegado mod_core_pidfile=Escribir PID en archivo mod_core_epidfile=Archivo PID falta o es inválido mod_core_shell=żSólo permitir login a usuarios con shell válidos? mod_core_cpulimit=Límites de recursos de CPU mod_core_ecpulimit=límite de recurso de CPU mod_core_memlimit=Límites de recursos de Memoria mod_core_ememlimit=límite de recurso de memoria mod_core_filelimit=Límites de archivos abiertos mod_core_efilelimit=límite de archivo abierto mod_core_soft=Límite por Soft: mod_core_hard=Límite por Hard: mod_core_max=Máximo mod_core_esoft=Falta o inválido $1 soft mod_core_ehard=Falta o inválido $1 hard mod_core_score=Trayectoria a directorio de aciertos mod_core_escore=Directorio de aciertos falta o es inválido mod_core_admin=Dirección de correo del administrador del Servidor mod_core_eadmin=Dirección de correo falta o es inválida mod_core_ident=Mensaje de conexión de cliente mod_core_ident_def=Mostrar mensaje por defecto mod_core_links=żMuestro enlaces simbólicos? mod_core_tight=żSólo fuerzo a puertos necesarios? mod_core_facility=Facilidad de diario de Sistema mod_core_level=Nivel de diario de sistema mod_core_backlog=Tamańo de cola de respaldo de diario TCP mod_core_ebacklog=Tamańo de cola de respaldo de diario falta o es inválido mod_core_nodelay=żUso opción de socket TCP_NODELAY (TCP_SinRETARDO)? mod_core_rwindow=Medida de ventana receptora de TCP mod_core_erwindow=Medida de ventana receptora falta o es inválida mod_core_swindow=Medida de ventana emisora de TCP mod_core_eswindow=Medida de ventana emisora falta o es inválida mod_core_gmt=żMuestro horas en GMT? mod_core_tidle=Tiempo sin hacer nada antes de desconectar mod_core_etidle=Tiempo sin hacer nada falta o es inválido mod_core_secs=segundos mod_core_tlogin=Tiempo a esperar por autenticación mod_core_etlogin=Tiempo de autenticación falta o es inválido mod_core_ttransfer=Tiempo a esperar por primera transferencia mod_core_ettransfer=Tiempo de primera transferencia falta o es inválido mod_core_tstalled=Tiempo a esperar por atasco en transferencia de datos mod_core_etstalled=Tiempo de atasco en transferencia falta o es inválido mod_core_ftpusers=żDenegar a usuarios en archivo /etc/ftpusers? mod_core_hostsallow=Archivo de máquinas a las que autorizar mod_core_ehostsallow=Archivo de máquinas a las que autorizar no existe mod_core_hostsdeny=Archivo de máquinas a las que denegar mod_core_ehostsdeny=Archivo de Máquinas a las que denegar no existe mod_core_revdns=żHago búsqueda inversa de DNS de direcciones de cliente? mod_core_userdir=żHago Chroot a subdirectorio de nombre de usuario? mod_core_ualias=Aliases de nombre de usuario mod_core_afrom=Nombre de usuario de login mod_core_ato=Nombre de usuario real mod_core_eafrom=Nombre de usuario de login en alias inválido mod_core_eato=Nombre de usuario real en alias falta o es inválido mod_core_uowner=Propietario de archivos cargados mod_core_euowner=Falta o es inválido el propietario de archivos cargados mod_core_userpassword=Claves de acceso de usuarios sobrepasa mod_core_upname=Usuario Unix mod_core_uppass=Clave de acceso mod_core_updef=Dejar sin cambio mod_core_eupname=Nombre de usuario unix inválido mod_core_wtmp=żGrabo logins en wtmp? mod_core_allow_deny=Restringir acceso mod_core_allowdeny=Permitir luego denegar mod_core_denyallow=Denegar luego permitir mod_core_allow=Permitir mod_core_deny=Denegar mod_core_mode_0=Todos mod_core_mode_1=Ninguno mod_core_mode_2=Dirección IP mod_core_mode_3=Red mod_core_mode_4=Nombre de máquina mod_core_cond=Condición mod_core_action=Acción mod_core_agroup=Sólo permitir grupos mod_core_auser=Sólo permitir usuarios mod_core_all=Todos mod_core_dgroup=Denegar grupos mod_core_duser=Denegar usuarios mod_core_eip='$1' no es una dirección IP válida mod_core_enet='$1' no es una dirección de red válida mod_core_ehost='$1' no es un nombre de máquina válido mod_ls_fakegroup=żGrupo falso en listados de directorio? mod_ls_fakeuser=żUsuario falso en listados de directorio? mod_ls_fakemode=żPermisos falsos en listados de directorio? mod_ls_nofake=Permisos reales mod_ls_efakemode=Los permisos falsos deben de estar en octal mod_ls_dotfiles=żMuestro archivos que empiecen por . en listados? mod_ls_ls=Opciones adicionales de ls mod_ls_els=Opciones adicionales de ls falta mod_auth_chdir=Directorio inicial de login mod_auth_echdir=Directorio inicial falta o es inválido mod_auth_chroot=Directorios de Chroot mod_auth_dir=Directorio mod_auth_groups=Grupos de Unix mod_auth_all=Todos mod_auth_edir=directorio de chroot inválido mod_auth_egroups=No se han digitado grupos de unix para chroot mod_auth_echroot=Directorio de chroot falta o es inválido mod_auth_login=żNo pregunto por clave de acceso si se deniega el login? mod_auth_root=żPermito hacer login a root? mod_site_chmod=żPermito comando chroot? mod_unixpw_ufile=Archivo alternativo de clave de acceso de Unix mod_unixpw_eufile=Archivo de clave de acceso de Unix falta o es inválido mod_unixpw_gfile=Archivo alternativo de grupo de Unix mod_unixpw_egfile=Archivo de grupo de Unix falta o es inválido mod_unixpw_none=Ninguno mod_unixpw_pam=żTrato siempre a PAM como autoritativo? mod_unixpw_persist=żMantengo archivo de clave de acceso abierto de forma persistente? mod_log_syslog=Llevar diario de errores en archivo mod_log_sysdef=Diario de sistema mod_log_esyslog=Archivo de diario falta o es inválido mod_log_extended=Archivos de diario de cliente mod_log_file=Archivo de diario mod_log_cmd=Para comandos FTP mod_log_nick=Formato de diario mod_log_all=Todos mod_log_ecmd=Faltan comandos FTP mod_log_enick=Nombre de formato de diario falta o es inválido mod_log_ecmdnick=Debes de digitar un formato de diario si especificas comandos de los que llevar diario mod_log_nickname=Nombre de formato mod_log_fmt=Cadena de formato mod_log_format=Formatos de diario de cliente mod_log_enickname=Nombre de formato falta o es inválido mod_log_efmt=Cadena de formato falta mod_pam_pam=żUso PAM para autenticación? mod_pam_config=Autenticar mediante servicio PAM mod_pam_econfig=Servicio PAM falta o es inválido mod_readme_display=Notificar al usuario del los archivos leeme que coincidan mod_readme_none=Ninguno mod_readme_edisplay=Modelo de archivos leeme falta start_err=No pude arrancar servidor FTP start_einetd=No puedes arrancar el demonio del servidor en modo inetd. ftpaccess_title=Archivos de Opciones de Por-Directorio ftpaccess_desc=Se pueden especificar opciones adicionales de por-directory en un archivo (normálmente llamado .ftpaccess) en cada directorio. Las opciones se aplican a todos los archivos de ese directorio y de sus subdirectorios, a menos que sean sobrepasadas por otro archivo de opciones. ftpaccess_create=Crear Archivo de Opciones ftpaccess_find=Hallar Archivos de Opciones ftpaccess_auto=Bajo anónimo ftpaccess_from=Desde directorio ftpaccess_return=lista de archivo de opciones ftpusers_title=Usuarios de FTP denegados ftpusers_desc=Si activado bajo el icono de Autenticación, a los usuarios listados debajo desde el archivo $1 se les denegará el acceso por login al usuario FTP. ftpindex_title=Archivo de Opciones de Por-Directorio ftpindex_delete=Borrar Archivo ftpindex_opts=Opciones de Por-Directorio ftpindex_edit=Editar Directivas ftpindex_limit=Opciones de Por-comando ftpindex_addlimit=Ańadir opciones de por-comando para... ftpindex_header2=$1 en $2 ftpindex_return=archivo de opciones de por-directorio ftpindex_header=Para $1 find_err=No pude hallar archivos de opciones find_eanon=FTP anónimo no está configurado en los servidores virtuales log_global=Cambiadas opciones $1 globales log_ftpusers=Cambiados usuarios de FTP denegados log_virtc=Creado servidor $1 log_virts=Reconfigurado servidor $1 log_virtd=Borrado servidor $1 log_virtm=Manuálmente editado servidor $1 log_virt=Cambiado $1 en servidor $2 log_dirc=Creado directorio $1 log_dirc_l=Creado directorio $1 en servidor $2 log_dirs=Cambiado directorio $1 log_dirs_l=Cambiado directorio $1 en servidor $2 log_dird=Borrado directorio $1 log_dird_l=Borrado directorio $1 en servidor $2 log_dirm=Manuálmente editado directorio $1 log_dirm_l=Manuálmente editado directorio $1 en servidor $2 log_dir=Cambiado $1 en directorio $2 log_dir_l=Cambiado $1 en directorio $2 en servidor $3 log_limitc=Creadas opciones de por-comando para $1 log_limits=Reconfiguradas opciones de por-comando para $1 log_limitd=Borradas opciones de por-comando para $1 log_limitm=Manuálmente editadas opciones de por-comando para $1 log_limit=Cambiado $1 en opciones de por-comando para $2 log_ftpaccessc=Creado archivo de opciones $1 log_ftpaccessd=Borrado archivo de opciones $1 log_ftpaccessm=Editado manuálmente archivo de opciones $1 log_ftpaccess=Cambiado $1 en archivo de opciones $2 log_start=Arrancado proftpd log_apply=Aplicados los cambios manual_configs=Editar Archivos de Configuración manual_title=Editar Directivas manual_header=Usa la caja de edición inferior para editar manuálmente las directivas de Apache en $1 que se aplicarán a este servidor virtual, directorio o archivos. manual_ecannot=No estás autorizado a editar manuálmente las directivas manual_file=Editar Directivas en Archivo: manual_efile=Archivo de configuración de Apache inválido proftpd/lang/it0100644000567100000120000003727607444116310013514 0ustar jcameronwheelindex_title=ProFTPD Server index_eproftpd=The ProFTPD server $1 could not be found on your system. Maybe it is not installed, or your module configuration is incorrect. index_eproftpd2=The program $1 does not appear to be the ProFTPD server. Maybe it is not installed, or your module configuration is incorrect. index_eversion=The version of ProFTPD server $1 is not supported by Webmin. Only versions 0.99 and above are supported. index_econf=The ProFTPD config file $1 does not exist or is not valid. Maybe your module configuration is incorrect. index_apply=Apply Changes index_applymsg=Click this button to apply the current configuration by sending a SIGHUP signal to the running ProFTPD process. index_start=Start Server index_startmsg=Click this button to start the FTP server with the current configuration. You can also configure the server to be started automatically when needed using the Internet Services module. index_startmsg2=Click this button to start the FTP server with the current configuration. You can also configure the server to be started automatically when needed using inetd or some equivalent program. index_return=main menu index_virts=Virtual Servers index_virt=Virtual Server index_type=Server type index_addr=Address index_name=Server name index_port=FTP port index_defserv=Default server index_defdesc=Handles any FTP connections not handled by virtual servers. index_any=Any index_vdesc=Handles all connections to $1 index_eip=<Unknown> index_global=Global Configuration index_create=Create virtual server efailed=Failed to save $1 type_0=Networking Options type_1=Logging Options type_2=Files and Directories type_3=Access Control type_4=Miscellaneous type_5=User and Group type_6=Authentication virt_title=Virtual Server Options virt_header1=For $1 virt_header2=For default server virt_header3=$1 options virt_anon=Anonymous FTP virt_header=Per-directory and Per-command options virt_dir=Directory $1 virt_limit=Commands $1 virt_adddir=Add per-directory options for .. virt_addlimit=Add per-command options for .. virt_path=Directory path virt_cmds=FTP commands virt_return=virtual server virt_virt=Configure Virtual Server virt_edit=Edit Directives vserv_title=Configure Virtual Server vserv_addr=Address vserv_name=Server name vserv_port=FTP port vserv_delete=Delete virtual server vserv_eaddr=Missing or invalid address vserv_eport=Missing or invalid port number vserv_ename=Missing server name anon_title=Anonymous FTP Options anon_header1=In virtual server $1 anon_header2=In default server anon_anon=Configure Anonymous FTP anon_return=anonymous FTP options anon_header3=For anonymous FTP in virtual server $1 anon_header4=For anonymous FTP in default server aserv_title=Configure Anonymous FTP aserv_create=Setup Anonymous FTP aserv_root=Chroot directory aserv_user=Access files as user aserv_group=Access files as group aserv_err=Failed to save anonymous FTP aserv_eroot=Missing or invalid chroot directory aserv_euser=Missing or invalid Unix user aserv_egroup=Missing or invalid Unix group aserv_desc=Anonymous FTP has not yet been setup for this virtual server. Use this form to set the initial configuration options. dir_title=Per-Directory Options dir_header2=For directory $1 in default server dir_header1=For directory $1 in virtual server $2 dir_edit=Edit Directives dir_return=per-directory options dir_header3=$1 options in $2 dir_header=Per-command options dir_dir=Configure Directory dir_header4=For directory $1 in anonymous FTP manual_title=Edit Directives manual_header=Use the text box below to manually edit the ProFTPD directives in $1 that apply to this virtual server, directory or commands. limit_title=Per-Command Options limit_header4=For commands $1 in directory $2 limit_header2=For commands $1 in default server limit_header1=For commands $1 in virtual server $2 limit_edit=Edit Directives limit_limit=Configure Commands limit_header3=$1 options for commands $2 limit_return=per-command options limit_header5=For commands $1 in anonymous FTP limit_header6=For commands $1 in file $2 lserv_title=Configure Commands lserv_cmd=FTP commands lserv_delete=Delete commands config lserv_err=Failed to save commands lserv_ecmd=No commands selected dserv_title=Configure Directory dserv_dir=Directory path dserv_err=Failed to save directory dserv_edir=Missing directory path dserv_delete=Delete directory config mod_core_type=Server type mod_core_inetd=Run from Inetd mod_core_stand=Stand-alone daemon mod_core_port=Listen on port mod_core_eport=Missing or invalid port number mod_core_servername=Server name displayed to users mod_core_eservername=Missing server name mod_core_defaultserver=Use this virtual server by default? mod_core_instances=Maximum concurrent sessions mod_core_einstances=Missing or invalid number of sessions mod_core_umask=New file umask mod_core_eumask=Missing or invalid umask mod_core_user=Run as Unix user mod_core_uname=User name mod_core_uid=UID mod_core_group=Run as Unix group mod_core_gname=Group name mod_core_gid=GID mod_core_tlog=FTP transfers logfile mod_core_etlog=Missing or invalid transfers logfile mod_core_accessdeny=Failed login message mod_core_accessgrant=Successful login message mod_core_adall=Access control policy mod_core_addefault=Same as parent mod_core_allowall=Allow all clients mod_core_denyall=Deny all clients mod_core_filter=Allowed FTP commands regexp mod_core_foreign=Allow foreign data transfers? mod_core_overwrite=Allow overwriting of files? mod_core_restart=Allow restarted downloads? mod_core_restart2=Allow restarted uploads? mod_core_require=Require password for anonymous login? mod_core_anongroup=Groups to treat members as anonymous mod_core_eanongroup=No anonymous group entered mod_core_authalias=Only allow aliased users to login? mod_core_authusingalias=Use alias password for anonymous login? mod_core_bind=Bind to address mod_core_bind_all=All addresses mod_core_ebind=Missing or invalid bind address mod_core_cdpath=Shortcut CD directories mod_core_classes=Enable classes for access control? mod_core_cls=Access control classes mod_core_cname=Class name mod_core_ctype=Type and value mod_core_climit=Max connections mod_core_cregex=Client hostname match mod_core_cip=Client IP network/CIDR mod_core_eclimit=Missing or invalid max connections mod_core_ecregex=Missing client hostname match mod_core_ecip=Missing or invalid client IP network/CIDR mod_core_buffer=Maximum FTP command length mod_core_ebuffer=Missing or invalid maximum command length mod_core_transfer=Default transfer mode mod_core_binary=Binary mod_core_ascii=ASCII mod_core_defer=Defer welcome message until after login? mod_core_aborted=Deleted aborted uploads? mod_core_dfilter=Denied FTP commands regexp mod_core_display=Pre-login message file mod_core_none=None mod_core_edisplay=Missing pre-login message file mod_core_firstcd=Directory README filename mod_core_efirstcd=Missing directory README filename mod_core_goaway=Too many connections message file mod_core_egoaway=Missing too many connections file mod_core_login=Post-login message file mod_core_elogin=Missing post-login message file mod_core_quit=Logout message file mod_core_equit=Missing logout message file mod_core_gowner=Group owner of uploaded files mod_core_egowner=Missing or invalid group for uploaded files mod_core_grouppassword=Group passwords mod_core_gpname=Unix group mod_core_gppass=Password mod_core_gpdef=Leave unchanged mod_core_egpname=Invalid Unix group name mod_core_hstor=Hide uploaded files? mod_core_hgroup=Hide files owned by groups mod_core_ehgroup=Invalid group name to hide files of mod_core_hnoaccess=Hide files that cannot be accessed? mod_core_huser=Hide files owned by users mod_core_ehuser=Invalid user name to hide files of mod_core_ident=Lookup remote Ident username? mod_core_ihidden=Make hidden files inaccessible? mod_core_masq=Masquerade as address mod_core_masq_def=Use real address mod_core_emasq=Missing or invalid masquerade address mod_core_maxc=Maximum concurrent logins mod_core_maxc1=Unlimited mod_core_maxcmsg=Login error message mod_core_emaxc=Missing or invalid maximum number of logins mod_core_maxch=Maximum concurrent logins per host mod_core_maxcu=Maximum concurrent logins per user mod_core_logins=Maximum failed logins per session mod_core_elogins=Missing or invalid number of failed logins mod_core_rfc2228=Send RFC2228-style responses? mod_core_pasv=PASV port range mod_core_pasvr=Min - max mod_core_epasv=Missing or invalid PASV port number mod_core_pathallow=Allowed uploaded filename regex mod_core_any=Any mod_core_pathdeny=Denied uploaded filename regex mod_core_pidfile=Write PID to file mod_core_epidfile=Missing or invalid PID file mod_core_shell=Only allow login by users with valid shell? mod_core_cpulimit=CPU resource limits mod_core_ecpulimit=CPU resource limit mod_core_memlimit=Memory resource limits mod_core_ememlimit=memory resource limit mod_core_filelimit=Open files limits mod_core_efilelimit=open files limit mod_core_soft=Soft limit: mod_core_hard=Hard limit: mod_core_max=Maximum mod_core_esoft=Missing or invalid soft $1 mod_core_ehard=Missing or invalid hard $1 mod_core_score=Path to scoreboard directory mod_core_escore=Missing or invalid scoreboard directory mod_core_admin=Server administrator's email address mod_core_eadmin=Missing or invalid email address mod_core_identmsg=Client connection message mod_core_identmsg_def=Show default message mod_core_links=Show symbolic links? mod_core_tight=Only bind to needed ports? mod_core_facility=System log facility mod_core_level=System log level mod_core_backlog=TCP backlog queue length mod_core_ebacklog=Missing or invalid backlog queue length mod_core_nodelay=Use TCP_NODELAY socket option? mod_core_rwindow=TCP receive window size mod_core_erwindow=Missing or invalid receive window size mod_core_swindow=TCP send window size mod_core_eswindow=Missing or invalid send window size mod_core_gmt=Show times in GMT? mod_core_tidle=Idle time before disconnecting mod_core_etidle=Missing or invalid idle time mod_core_secs=seconds mod_core_tlogin=Time to wait for authentication mod_core_etlogin=Missing or invalid authentication time mod_core_ttransfer=Time to wait for first transfer mod_core_ettransfer=Missing or invalid first transfer time mod_core_tstalled=Time to wait for stalled data transfer mod_core_etstalled=Missing or invalid stalled transfer time mod_core_ftpusers=Deny users in /etc/ftpusers file? mod_core_hostsallow=Hosts to allow file mod_core_ehostsallow=Hosts to allow file does not exist mod_core_hostsdeny=Hosts to deny file mod_core_ehostsdeny=Hosts to deny file does not exist mod_core_revdns=Do reverse DNS lookups of client addresses? mod_core_userdir=Chroot to username subdirectory? mod_core_ualias=Username aliases mod_core_afrom=Login username mod_core_ato=Real username mod_core_eafrom=Invalid login username in alias mod_core_eato=Missing or invalid real username in alias mod_core_uowner=Owner of uploaded files mod_core_euowner=Missing or invalid owner for uploaded files mod_core_userpassword=User passwords overrides mod_core_upname=Unix user mod_core_uppass=Password mod_core_updef=Leave unchanged mod_core_eupname=Invalid Unix user name mod_core_wtmp=Record logins in wtmp? mod_core_allow_deny=Restrict access mod_core_allowdeny=Allow then deny mod_core_denyallow=Deny then allow mod_core_allow=Allow mod_core_deny=Deny mod_core_mode_0=All mod_core_mode_1=None mod_core_mode_2=IP address mod_core_mode_3=Network mod_core_mode_4=Hostname mod_core_cond=Condition mod_core_action=Action mod_core_agroup=Only allow groups mod_core_auser=Only allow users mod_core_all=All mod_core_dgroup=Deny groups mod_core_duser=Deny users mod_core_eip='$1' is not a valid IP address mod_core_enet='$1' is not a valid network address mod_core_ehost='$1' is not a valid hostname mod_ls_fakegroup=Fake group in directory listings? mod_ls_fakeuser=Fake user in directory listings? mod_ls_fakemode=Fake permissions in directory listings? mod_ls_dotfiles=Show files starting with . in listings? mod_ls_ls=Additional ls options mod_ls_els=Missing additional ls options mod_auth_chdir=Initial login directory mod_auth_echdir=Missing or invalid initial directory mod_auth_chroot=Chroot directories mod_auth_dir=Directory mod_auth_groups=Unix groups mod_auth_all=Everyone mod_auth_edir=Invalid chroot directory mod_auth_egroups=No Unix groups for chroot entered mod_auth_echroot=Missing or invalid chroot directory mod_auth_login=Don't ask for password if login is denied? mod_auth_root=Allow login by root? mod_site_chmod=Allow chmod command? mod_unixpw_ufile=Alternate Unix password file mod_unixpw_eufile=Missing or invalid Unix password file mod_unixpw_gfile=Alternate Unix group file mod_unixpw_egfile=Missing or invalid Unix group file mod_unixpw_none=None mod_unixpw_pam=Always treat PAM as authorative? mod_unixpw_persist=Keep password file open persistently? mod_log_syslog=Log errors to file mod_log_sysdef=System log mod_log_esyslog=Missing or invalid log file mod_log_extended=Custom logfiles mod_log_file=Logfile mod_log_cmd=For FTP commands mod_log_nick=Log format mod_log_all=All mod_log_ecmd=Missing FTP commands mod_log_enick=Missing or invalid log format name mod_log_ecmdnick=You must enter a log format when specifying commands to log mod_log_nickname=Format name mod_log_fmt=Format string mod_log_format=Custom log formats mod_log_enickname=Missing or invalid format name mod_log_efmt=Missing format string mod_pam_pam=Use PAM for authentication? mod_pam_config=Authenticate using PAM service mod_pam_econfig=Missing or invalid PAM service mod_readme_display=Notify user of readme files matching mod_readme_none=None mod_readme_edisplay=Missing readme files pattern start_err=Failed to start FTP server start_einetd=You cannot start the server daemon when in inetd mode. ftpaccess_title=Per-Directory Options Files ftpaccess_desc=Additional per-directory options can be specified in a file (usually called .ftpaccess) in each directory. The options apply to all files in that directory and any sub-directories, unless overridden by another options file. ftpaccess_create=Create Options File ftpaccess_find=Find Options Files ftpaccess_auto=Under anonymous ftpaccess_from=From directory ftpaccess_return=options file list ftpusers_title=Denied FTP Users ftpusers_desc=If enabled under the Authentication icon, the users listed below from the file $1 will be denied login access to the FTP user. ftpindex_title=Per-Directory Options File ftpindex_delete=Delete File ftpindex_opts=Per-Directory Options ftpindex_edit=Edit Directives ftpindex_limit=Per-command options ftpindex_addlimit=Add per-command options for .. ftpindex_header2=$1 in $2 ftpindex_return=per-directory options file ftpindex_header=For $1 find_err=Failed to find options files find_eanon=Anonymous FTP is not setup in any virtual server log_global=Changed global $1 options log_ftpusers=Changed denied FTP users log_virtc=Created server $1 log_virts=Reconfigured server $1 log_virtd=Deleted server $1 log_virtm=Manually edited server $1 log_virt=Changed $1 in server $2 log_dirc=Created directory $1 log_dirc_l=Created directory $1 in server $2 log_dirs=Changed directory $1 log_dirs_l=Changed directory $1 in server $2 log_dird=Deleted directory $1 log_dird_l=Deleted directory $1 in server $2 log_dirm=Manually edited directory $1 log_dirm_l=Manually edited directory $1 in server $2 log_dir=Changed $1 in directory $2 log_dir_l=Changed $1 in directory $2 in server $3 log_limitc=Created per-command options for $1 log_limits=Reconfigured per-command options for $1 log_limitd=Deleted per-command options for $1 log_limitm=Manually edited per-command options for $1 log_limit=Changed $1 in per-command options for $2 log_ftpaccessc=Created options file $1 log_ftpaccessd=Deleted options file $1 log_ftpaccessm=Manually edited options file $1 log_ftpaccess=Changed $1 in options file $2 log_start=Started proftpd log_apply=Applied changes proftpd/lang/ru_RU0100664000567100000120000004506510005107333014121 0ustar jcameronwheellserv_cmd=Ęîěŕíäű FTP aserv_desc=Ŕíîíčěíűé FTP ďîęŕ ĺůĺ íĺ íŕńňđîĺí äë˙ ýňîăî âčđňóŕëüíîăî ńĺđâĺđŕ. Čńďîëüçóéňĺ ýňó ôîđěó äë˙ íŕńňđîéęč ďŕđŕěĺňđîâ číčöčŕëčçŕöčč. virt_addlimit=Äîáŕâčňü ďŕđŕěĺňđű äë˙ ęŕćäîé ęîěŕíäű äë˙ .. mod_log_enickname=Íĺ óęŕçŕíî čëč íĺęîđđĺęňíîĺ čě˙ ôîđěŕňŕ ćóđíŕëŕ mod_core_cname=Čě˙ ęëŕńńŕ index_type=Ňčď ńĺđâĺđŕ mod_core_pathallow=Đĺăóë˙đíîĺ âűđŕćĺíčĺ äë˙ đŕçđĺřĺííűő çŕăđóćŕĺěűő ôŕéëîâ mod_core_login=Ôŕéë ńîîáůĺíčé ďîńëĺ đĺăčńňđŕöčč limit_return=ďŕđŕěĺňđű äë˙ ęŕćäîé ęîěŕíäű mod_log_ecmd=Íĺ óęŕçŕíű ęîěŕíäű FTP log_ftpusers=Čçěĺíĺíű çŕďđĺůĺííűĺ ďîëüçîâŕňĺëč FTP mod_unixpw_egfile=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé ŕëüňĺđíŕňčâíűé ôŕéë ăđóďď Unix mod_log_sysdef=Ńčńňĺěíűé ćóđíŕë mod_ls_efakemode=Ďîääĺëüíűĺ ďđŕâŕ äîëćíű áűňü â âîńüěĺđč÷íîě âčäĺ virt_return=âčđňóŕëüíűé ńĺđâĺđ mod_ls_efakegroup=Íĺ óęŕçŕíŕ čëč íĺęîđđĺęňíŕ˙ ďîääĺëüíŕ˙ ăđóďďŕ mod_core_grouppassword=Ďŕđîëč ăđóďďű mod_core_rfc2228=Îňďđŕâë˙ňü îňâĺňű â ńňčëĺ RFC2228? mod_core_denyallow=Çŕďđĺňčňü, çŕňĺě đŕçđĺřčňü mod_core_binary=Äâîč÷íűé vserv_delete=Óäŕëĺíčĺ âčđňóŕëüíîăî ńĺđâĺđŕ mod_core_ettransfer=Íĺ óęŕçŕíî čëč íĺęîđđĺęňíîĺ âđĺě˙ îćčäŕíč˙ ďĺđâîé ďĺđĺäŕ÷č mod_core_cls=Ęëŕńńű óďđŕâëĺíč˙ äîńňóďîě mod_core_inetd=Çŕďóńę čç Inetd dserv_edir=Íĺ óęŕçŕí ďóňü ę ęŕňŕëîăó mod_core_gppass=Ďŕđîëü aserv_eroot=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé ęŕňŕëîă chroot mod_core_revdns=Ďđîčçâîäčňü îáđŕňíűé ďîčńę ďî DNS ŕäđĺńîâ ęëčĺíňŕ? mod_core_maxc1=Íĺ îăđŕíč÷ĺíî mod_core_equit=Íĺ óęŕçŕí ôŕéë ńîîáůĺíčé đŕçđĺăčńňđŕöčč mod_core_aborted=Óäŕë˙ňü îňěĺíĺííűĺ çŕăđóçęč? aserv_root=Îăđŕíč÷ĺíčĺ äî ęŕňŕëîăŕ ftpusers_title=Çŕďđĺůĺííűĺ ďîëüçîâŕňĺëč FTP mod_core_egpname=Íĺęîđđĺęňíîĺ čě˙ ăđóďďű Unix mod_core_hostsallow=Ôŕéë đŕçđĺřĺííűő óçëîâ mod_core_cpulimit=Îăđŕíč÷ĺíčĺ đĺńóđńîâ ďđîöĺńńîđŕ mod_core_anongroup=Ăđóďďű, ÷üč ďîëüçîâŕňĺëč âîńďđčíčěŕţňń˙, ęŕę ŕíîíčěíűĺ mod_core_dgroup=Çŕďđĺňčňü ăđóďďŕě mod_core_etidle=Íĺ óęŕçŕíî čëč íĺęîđđĺęňíîĺ âđĺě˙ ďđîńňî˙ manual_efile=Íĺęîđđĺęňíűé ôŕéë íŕńňđîĺę ProFTPd mod_auth_none=Íĺň mod_core_ehgroup=Íĺęîđđĺęňíîĺ čě˙ ăđóďďű mod_core_afrom=Čě˙ ďîëüçîâŕňĺë˙ äë˙ đĺăčńňđŕöčč mod_core_accessgrant=Ńîîáůĺíčĺ îá óńďĺříîé đĺăčńňđŕöčč mod_core_eport=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé íîěĺđ ďîđňŕ mod_core_maxc=Ěŕęńčěŕëüíîĺ ÷čńëî îäíîâđĺěĺííűé đĺăčńňđŕöčé index_eip=<Íĺčçâĺńňíî> mod_core_ehost='$1' íĺ ˙âë˙ĺňń˙ ęîđđĺęňíűě čěĺíĺě óçëŕ virt_header=Ďŕđŕěĺňđű äë˙ ęŕćäîăî ęŕňŕëîăŕ č äë˙ ęŕćäîé ęîěŕíäű mod_core_ihidden=Ńäĺëŕňü ńďđ˙ňŕííűĺ ôŕéëű íĺäîńňóďíűěč? mod_ls_fakeuser=Ďîääĺëűâŕňü ďîëüçîâŕňĺëĺé â ńďčńęŕő ęŕňŕëîăîâ? mod_core_einstances=Íĺ óęŕçŕíî čëč íĺęîđđĺęňíîĺ ÷čńëî ńĺńńčé vserv_eport=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé íîěĺđ ďîđňŕ find_eanon=Ŕíîíčěíűé FTP íĺ íŕńňđîĺí íč íŕ îäíîě čç âčđňóŕëüíűő ńĺđâĺđîâ ftpindex_opts=Îďöčč äë˙ ęŕćäîăî ęŕňŕëîăŕ vserv_name=Čě˙ ńĺđâĺđŕ mod_core_swindow=Đŕçěĺđ îęíŕ îňďđŕâęč TCP anon_anon=Íŕńňđîéęŕ ŕíîíčěíîăî FTP index_start=Çŕďóńę ńĺđâĺđŕ mod_core_ctype=Ňčď č çíŕ÷ĺíčĺ mod_unixpw_none=Íĺň mod_core_elogins=Íĺ óęŕçŕíî čëč íĺęîđđĺęňíîĺ ęîëč÷ĺńňâî îřčáîę đĺăčńňđŕöčč mod_core_upname=Ďîëüçîâŕňĺëü Unix virt_path=Ďóňü ę ęŕňŕëîăó anon_return=ďŕđŕěĺňđű ŕíîíčěíîăî FTP index_econf=Ôŕéë íŕńňđîĺę ProFTPD $1 íĺ ńóůĺńňâóĺň čëč íĺęîđđĺęňĺí. Âîçěîćíî íĺęîđđĺęňíű âŕřč íŕńňđîéęč ěîäóë˙. mod_core_eumask=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé umask vserv_addr=Ŕäđĺń mod_core_maxch=Ěŕęńčěŕëüíîĺ ÷čńëî îäíîâđĺěĺííűé đĺăčńňđŕöčé íŕ óçĺë mod_core_etlogin=Íĺ óęŕçŕíî čëč íĺęîđđĺęňíîĺ âđĺě˙ ŕóňĺíňčôčęŕöčč mod_core_eswindow=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé đŕçěĺđ îęíŕ îňďđŕâęč manual_ecannot=Âŕě çŕďđĺůĺíî đĺäŕęňčđîâŕíčĺ äčđĺęňčâ âđó÷íóţ mod_core_euowner=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé âëŕäĺëĺö çŕęŕ÷ŕííűő ôŕéëîâ mod_core_ato=Íŕńňî˙ůĺĺ čě˙ ďîëüçîâŕňĺë˙ dir_title=Ďŕđŕěĺňđű äë˙ ęŕćäîăî ęŕňŕëîăŕ ftpindex_delete=Óäŕëĺíčĺ ôŕéëŕ mod_ls_fakemode=Ďîääĺëűâŕňü ďđŕâŕ â ńďčńęŕő ęŕňŕëîăîâ mod_core_maxcu=Ěŕęńčěŕëüíîĺ ÷čńëî îäíîâđĺěĺííűé đĺăčńňđŕöčé íŕ ďîëüçîâŕňĺë˙ limit_title=Ďŕđŕěĺňđű äë˙ ęŕćäîé ęîěŕíäű ftpindex_limit=Îďöčč äë˙ ęŕćäîé ęîěŕíäű mod_core_links=Ďîęŕçűâŕňü ńčěâîëüíűĺ ńńűëęč? log_apply=Ďđčěĺíĺíű čçěĺíĺíč˙ mod_core_ehostsdeny=Ôŕéë çŕďđĺůĺííűő óçëîâ íĺ ńóůĺńňâóĺň mod_auth_edir=Íĺęîđđĺęňíűé ęŕňŕëîă chroot mod_core_eip='$1' íĺ ˙âë˙ĺňń˙ ęîđđĺęňíűě ŕäđĺńîě IP mod_unixpw_pam=Âńĺăäŕ âîńďđčíčěŕňü PAM ęŕę ńđĺäńňâî ŕâňîđčçŕöčč? virt_header1=Äë˙ $1 mod_core_agroup=Đŕçđĺřčňü ňîëüęî ăđóďďŕě mod_core_efilelimit=îăđŕíč÷ĺíč˙ îňęđűňűő ôŕéëîâ virt_header2=Äë˙ ńĺđâĺđŕ ďî óěîë÷ŕíčţ mod_log_syslog=Âĺńňč ćóđíŕë îřčáîę mod_core_transfer=Đĺćčě ďĺđĺäŕ÷č ďî óěîë÷ŕíčţ dserv_title=Íŕńňđîéęŕ ęŕňŕëîăŕ mod_core_updef=Îńňŕâčňü áĺç čçěĺíĺíčé virt_header3=$1 ďŕđŕěĺňđîâ ftpindex_edit=Đĺäŕęňčđîâŕíčĺ äčđĺęňčâ index_virts=Âčđňóŕëüíűĺ ńĺđâĺđű virt_adddir=Äîáŕâčňü ďŕđŕěĺňđű äë˙ ęŕćäîăî ęŕňŕëîăŕ äë˙ .. virt_title=Ďŕđŕěĺňđű âčđňóŕëüíîăî ńĺđâĺđŕ mod_core_ecpulimit=îăđŕíč÷ĺíčĺ đĺńóđńîâ ďđîöĺńńîđŕ mod_core_backlog=Äëčíŕ î÷ĺđĺäč ôîíîâîăî ćóđíŕëŕ TCP mod_core_max=Ěŕęńčěóě mod_core_masq_def=Čńďîëüçîâŕňü đĺŕëüíűé ŕäđĺń mod_ls_fakesamegroup=Ďđčńîĺäčíĺííŕ˙ ăđóďďŕ mod_core_allow=Đŕçđĺřčňü log_dirm_l=Âđó÷íóţ îňđĺäŕęňčđîâŕí ęŕňŕëîă $1 íŕ ńĺđâĺđĺ $2 mod_auth_dir=Ęŕňŕëîă mod_core_hnoaccess=Ďđ˙ňŕňü ôŕéëű, ę ęîňîđűě íĺň äîńňóďŕ? ftpusers_desc=Ĺńëč âęëţ÷ĺíî ďîä ďčęňîăđŕěěîé Ŕóňĺíňčôčęŕöč˙, ňî ďîëüçîâŕňĺë˙ě čç ńďčńęŕ íčćĺ čç ôŕéëŕ $1 áóäĺň çŕďđĺůĺí äîńňóď íŕ đĺăčńňđŕöčţ ďîëüçîâŕňĺë˙ FTP. log_virt=Čçěĺíĺí $1 íŕ ńĺđâĺđĺ $2 index_eproftpd=Ńĺđâĺđ ProFTPD $1 íĺ íŕéäĺí íŕ âŕřĺé ńčńňĺěĺ. Âîçěîćíî, îí íĺ óńňŕíîâëĺí, čëč íĺęîđđĺęňíű âŕřč íŕńňđîéęč ěîäóë˙. vserv_ename=Íĺ óęŕçŕíî čě˙ ńĺđâĺđŕ mod_auth_chroot=Îăđŕíč÷čňü ďîëüçîâŕňĺëĺé â ęŕňŕëîăŕő mod_core_ebind=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé ŕäđĺń ďđčâ˙çęč index_startmsg=Íŕćěčňĺ íŕ ýňó ęíîďęó äë˙ çŕďóńęŕ ńĺđâĺđŕ FTP ń ňĺęóůčěč íŕńňđîéęŕěč. Âű ňŕęćĺ ěîćĺňĺ íŕńňđîčňü ŕâňîěŕňč÷ĺńęčé çŕďóńę ńĺđâĺđŕ ďî íĺîáőîäčěîńňč, čńďîëüçó˙ ěîäóëü Ńëóćáű číňĺđíĺň. mod_core_duser=Çŕďđĺňčňü ďîëüçîâŕňĺë˙ě mod_core_ebacklog=Íĺ óęŕçŕíŕ čëč íĺęîđđĺęňíŕ˙ äëčíŕ î÷ĺđĺäč ôîíîâîăî ćóđíŕëŕ mod_core_uid=UID mod_core_ehard=Íĺ óęŕçŕíî čëč íĺęîđđĺęňíîĺ ćĺńňęîĺ îăđŕíč÷ĺíčĺ $1 aserv_euser=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé ďîëüçîâŕňĺëü Unix manual_header=Čńďîëüçóéňĺ ňĺęńňîâîĺ ďîëĺ íčćĺ äë˙ đĺäŕęňčđîâŕíč˙ äčđĺęňčâ ProFTPD â $1, ďđčěĺí˙ĺěűő ę âčđňóŕëüíîěó ńĺđâĺđó, ęŕňŕëîăó čëč ęîěŕíäŕě. index_defserv=Ńĺđâĺđ ďî óěîë÷ŕíčţ mod_core_emasq=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé ŕäđĺń ěŕńęčđîâęč aserv_user=Äîńňóď ę ôŕéëŕě, ęŕę ďîëüçîâŕňĺëü anon_header1= âčđňóŕëüíîě ńĺđâĺđĺ $1 anon_header2= ńĺđâĺđĺ ďî óěîë÷ŕíčţ vserv_eaddr=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé ŕäđĺń anon_header3=Äë˙ ŕíîíčěíîăî FTP â âčđňóŕëüíîě ńĺđâĺđĺ $1 anon_header4=Äë˙ ŕíîíčěíîăî FTP â ńĺđâĺđĺ ďî óěîë÷ŕíčţ limit_edit=Đĺäŕęňčđîâŕíčĺ äčđĺęňčâ mod_core_cond=Óńëîâčĺ mod_core_tlog=Ôŕéë ćóđíŕëŕ ďĺđĺäŕ÷č FTP mod_core_enet='$1' íĺ ˙âë˙ĺňń˙ ęîđđĺęňíűě ŕäđĺńîě ńĺňč log_dirc_l=Ńîçäŕí ęŕňŕëîă $1 íŕ ńĺđâĺđĺ $2 mod_ls_ls=Äîďîëíčňĺëüíűĺ îďöčč ls mod_core_group=Çŕďóńęŕňü, ęŕę îň ăđóďďű Unix mod_core_uppass=Ďŕđîëü mod_core_identmsg_def=Ďîęŕçŕňü ńîîáůĺíčĺ ďî óěîë÷ŕíčţ mod_core_bind_all=Âńĺ ŕäđĺńŕ efailed=Îřčáęŕ ďđč ńîőđŕíĺíčč $1 log_dirc=Čçěĺíĺí ęŕňŕëîă $1 log_dird=Óäŕëĺí ęŕňŕëîă $1 index_version=ProFTPd âĺđńčč $1 mod_core_pidfile=Çŕďčńŕňü PID â ôŕéë mod_core_gpdef=Îńňŕâčňü áĺç čçěĺíĺíčé mod_core_eupname=Íĺęîđđĺęňíîĺ čě˙ ďîëüçîâŕňĺë˙ Unix index_return=îńíîâíîĺ ěĺíţ dserv_delete=Óäŕëĺíčĺ íŕńňđîĺę ęŕňŕëîăŕ mod_ls_fakegroup=Ďîääĺëűâŕňü ăđóďďű â ńďčńęŕő ęŕňŕëîăîâ? log_dirm=Âđó÷íóţ îňđĺäŕęňčđîâŕí ęŕňŕëîă $1 virt_dir=Ęŕňŕëîă $1 mod_core_pasvr=ěčí - ěŕęń log_dirs=Čçěĺíĺí ęŕňŕëîă $1 mod_ls_fakeasgroup=Äŕ, ęŕę ăđóďďŕ .. ftpaccess_desc=Äîďîëíčňĺëüíűĺ îďöčč äë˙ ęŕćäîăî ęŕňŕëîăŕ ěîăóň áűňü óęŕçŕíű â ôŕéëĺ (îáű÷íî íŕçűâŕĺňń˙ .ftpaccess) â ęŕćäîě ęŕňŕëîăĺ. Îďöčč ďđčěĺí˙ţňń˙ ęî âńĺě ôŕéëŕě â ýňîě ęŕňŕëîăĺ č âî âńĺő ďîäęŕňŕëîăŕő, ďîęŕ íĺ áóäóň ďĺđĺîďđĺäĺëĺíű äđóăčě ôŕéëîě ďŕđŕěĺňđîâ. mod_ls_dotfiles=Ďîęŕçűâŕňü â ńďčńęŕő ôŕéëű, íŕ÷číŕţůčĺń˙ ń ňî÷ęč "."? mod_core_auser=Đŕçđĺřčňü ňîëüęî ďîëüçîâŕňĺë˙ě mod_core_tidle=Âđĺě˙ ďđîńňî˙ ďĺđĺä đŕçđűâîě ńîĺäčíĺíč˙ mod_core_epidfile=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé ôŕéë PID mod_site_chmod=Đŕçđĺřčňü ęîěŕíäó chmod? dir_header1=Äë˙ ęŕňŕëîăŕ $1 â âčđňóŕëüíîě ńĺđâĺđĺ $2 mod_core_overwrite=Đŕçđĺřčňü ďĺđĺçŕďčńü ôŕéëîâ? dir_header2=Äë˙ ęŕňŕëîăŕ $1 â ńĺđâĺđĺ ďî óěîë÷ŕíčţ dir_header3=$1 ďŕđŕěĺňđîâ â $2 dir_header4=Äë˙ ęŕňŕëîăŕ $1 â ŕíîíčěíîě FTP mod_pam_config=Ďđîčçâîäčňü ŕóňĺíňčôčęŕöčţ ń ďîěîůüţ ńëóćá PAM mod_pam_pam=Čńďîëüçîâŕňü PAM äë˙ ŕóňĺíňčôčęŕöčč? mod_log_all=Âńĺ mod_core_servername=Čě˙ ńĺđâĺđŕ, ďîęŕçűâŕĺěîĺ ďîëüçîâŕňĺë˙ě ftpaccess_from=Čç ęŕňŕëîăŕ mod_core_user=Çŕďóńęŕňü, ęŕę îň ďîëüçîâŕňĺë˙ Unix ftpaccess_auto=Ęŕę ŕíîíčěíűé log_dirs_l=Čçěĺíĺí ęŕňŕëîă $1 íŕ ńĺđâĺđĺ $2 mod_core_ttransfer=Âđĺě˙ îćčäŕíč˙ ďĺđâîé ďĺđĺäŕ÷č mod_core_uname=Čě˙ ďîëüçîâŕňĺë˙ ftpaccess_return=ńďčńîę ôŕéëîâ ďŕđŕěĺňđîâ start_einetd=Âű íĺ ěîćĺňĺ çŕďóńňčňü äĺěîí ńĺđâĺđŕ â đĺćčěĺ inetd. virt_cmds=Ęîěŕíäű FTP mod_core_ehostsallow=Ôŕéë đŕçđĺřĺííűő óçëîâ íĺ ńóůĺńňâóĺň mod_core_umask=Íîâűé ôŕéë umask mod_log_format=Ďîëüçîâŕňĺëüńęčé ôîđěŕň ćóđíŕëŕ mod_core_esoft=Íĺ óęŕçŕíî čëč íĺęîđđĺęňíîĺ ě˙ăęîĺ îăđŕíč÷ĺíčĺ $1 mod_log_fmt=Ńňđîęŕ ôîđěŕňŕ mod_auth_login=Íĺ çŕďđŕřčâŕňü ďŕđîëü, ĺńëč đĺăčńňđŕöč˙ çŕďđĺůĺíŕ? mod_core_ecip=Íĺ óęŕçŕíŕ čëč íĺęîđđĺęňíŕ˙ ńĺňü IP ęëčĺíňŕ/CIDR aserv_egroup=Íĺ óęŕçŕíŕ čëč íĺęîđđĺęňíŕ˙ ăđóďďŕ Unix mod_log_nickname=Čě˙ ôîđěŕňŕ mod_core_epasv=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé íîěĺđ ďîđňŕ PASV mod_pam_econfig=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé ńĺđâčń PAM ftpindex_header2=$1 â $2 mod_core_firstcd=Čě˙ ôŕéëŕ ęŕňŕëîăŕ README mod_auth_chdir=Íŕ÷ŕëüíűé ęŕňŕëîă đĺăčńňđŕöčč mod_log_file=Ôŕéë ćóđíŕëŕ vserv_title=Íŕńňđîéęŕ âčđňóŕëüíîăî ńĺđâĺđŕ mod_core_instances=Ěŕęńčěŕëüíîĺ ęîëč÷ĺńňâî îäíîâđĺěĺííűő ńîĺäčíĺíčé mod_core_allow_deny=Îăđŕíč÷ĺííűé äîńňóď mod_auth_groups=Ăđóďďű Unix ftpindex_return=ôŕéë îďöčé äë˙ ęŕćäîăî ęŕňŕëîăŕ mod_auth_echroot=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé ęŕňŕëîă chroot mod_core_stand=Îňäĺëüíűé äĺěîí mod_core_efirstcd=Íĺ óęŕçŕíî čě˙ ôŕéëŕ ęŕňŕëîăŕ README log_dird_l=Óäŕëĺí ęŕňŕëîă $1 íŕ ńĺđâĺđĺ $2 mod_core_ftpusers=Çŕďđĺňčňü ďîëüçîâŕňĺëĺé â ôŕéëĺ /etc/ftpusers? mod_core_classes=Âęëţ÷čňü ęëŕńńű äë˙ óďđŕâëĺíč˙ äîńňóďîě? mod_core_ehuser=Íĺęîđđĺęňíîĺ čě˙ ďîëüçîâŕňĺë˙ mod_core_pathdeny=Đĺăóë˙đíîĺ âűđŕćĺíčĺ äë˙ çŕďđĺůĺííűő çŕăđóćŕĺěűő ôŕéëîâ mod_core_none=Íĺň mod_core_gname=Čě˙ ăđóďďű mod_ls_nofake=Íŕńňî˙ůčĺ ďđŕâŕ index_applymsg=Íŕćěčňĺ íŕ ýňó ęíîďęó äë˙ ďđčěĺíĺíč˙ ňĺęóůčő íŕńňđîĺę îňďđŕâęîé ńčăíŕëŕ SIGHUP çŕďóůĺííűě ďđîöĺńńŕě ProFTPD. mod_core_quit=Ôŕéë ńîîáůĺíčé đŕçđĺăčńňđŕöčč mod_core_cregex=Ńîâďŕäĺíčĺ ń čěĺíĺě óçŕ ęëčĺíňŕ log_limitc=Ńîçäŕíű îďöčč äë˙ ęŕćäîé ęîěŕíäű äë˙ $1 log_limitd=Óäŕëĺíű îďöčč äë˙ ęŕćäîé ęîěŕíäű äë˙ $1 lserv_delete=Óäŕëĺíčĺ íŕńňđîĺę ęîěŕíä mod_core_memlimit=Îăđŕíč÷ĺíčĺ đĺńóđńîâ ďŕě˙ňč mod_log_ecmdnick=Âű äîëćíű ââĺńňč ôîđěŕň ćóđíŕëŕ ďđč óęŕçŕíčč çŕíîńčěűő â ćóđíŕë ęîěŕíä dir_edit=Đĺäŕęňčđîâŕíčĺ äčđĺęňčâ mod_core_userdir=Čńďîëí˙ňü chroot â ďîäęŕňŕëîă ďîëüçîâŕňĺë˙? log_limitm=Âđó÷íóţ îňđĺäŕęňčđîâŕíű îďöčč äë˙ ęŕćäîé ęîěŕíäű äë˙ $1 mod_core_maxcmsg=Ńîîáůĺíčĺ îá îřčáęĺ đĺăčńňđŕöčč dir_dir=Íŕńňđîéęŕ ęŕňŕëîăŕ mod_core_shell=Đŕçđĺřŕňü đĺăčńňđŕöčţ ňîëüęî ďîëüçîâŕňĺë˙ě ń ęîđđĺęňíîé îáîëî÷ęîé? log_limits=Ďĺđĺíŕńňđîĺíű îďöčč äë˙ ęŕćäîé ęîěŕíäű äë˙ $1 limit_limit=Íŕńňđîéęŕ ęîěŕíä mod_core_gid=GID mod_log_enick=Íĺ óęŕçŕíî čëč íĺęîđđĺęňíîĺ čě˙ ôîđěŕňŕ ćóđíŕëŕ index_defdesc=Îáđŕáŕňűâŕĺň ëţáűĺ ńîĺäčíĺíč˙ FTPá íĺ îáđŕáŕňűâŕĺěűĺ âčđňóŕëüíűěč ńĺđâĺđŕěč. ftpaccess_find=Ďîčńę ôŕéëŕ ďŕđŕěĺňđîâ virt_anon=Ŕíîíčěíűé FTP manual_configs=Đĺäŕęňčđîâŕíčĺ ôŕéëîâ íŕńňđîĺę mod_readme_edisplay=Íĺ óęŕçŕí řŕáëîí ôŕéëîâ readme dserv_err=Îřčáęŕ ďđč ńîőđŕíĺíčč ęŕňŕëîăŕ mod_core_hostsdeny=Ôŕéë çŕďđĺůĺííűő óçëîâ mod_core_port=Ńëóřŕňü ďîđň ftpindex_header=Äë˙ $1 mod_core_require=Ňđĺáîâŕňü ďŕđîëü äë˙ ŕíîíčěíîé đĺăčńňđŕöčč? index_eversion=Âĺđńč˙ ńĺđâĺđŕ ProFTPD $1 íĺ ďîääĺđćčâŕĺňń˙ Webmin. Ďîääĺđćčâŕţňń˙ ňîëüęî âĺđńčč 0.99 č âűřĺ. mod_core_facility=Ńđĺäńňâî âĺäĺíč˙ ńčńňĺěíîăî ćóđíŕëŕ mod_core_emaxc=Íĺ óęŕçŕíî čëč íĺęîđđĺęňíîĺ ěŕęńčěŕëüíîĺ ęîëč÷ĺńňâî đĺăčńňđŕöčé mod_core_filelimit=Îăđŕíč÷ĺíč˙ îňęđűňűő ôŕéëîâ mod_log_efmt=Íĺ óęŕçŕíŕ ńňđîęŕ ôîđěŕňŕ mod_core_ualias=Ďńĺâäîíčě čěĺíč ďîëüçîâŕňĺë˙ mod_core_all=Âńĺ index_global=Îáůčĺ íŕńňđîéęč virt_limit=Ęîěŕíäű $1 mod_core_defer=Ďîęŕçűâŕňü ďđčâĺňńňâčĺ ňîëüęî ďîńëĺ đĺăčńňđŕöčč? mod_auth_echdir=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé íŕ÷ŕëüíűé ęŕňŕëîă log_start=Çŕďóůĺí proftpd mod_core_restart2=Đŕçđĺřčňü ďîâňîđíóţ çŕăđóçęó? mod_core_gowner=Óńňŕíŕâëčâŕĺěŕ˙ ăđóďďŕ äë˙ çŕęŕ÷ŕííűő ôŕéëîâ mod_core_cdpath=Ńîęđŕůĺíčĺ ęŕňŕëîăîâ CD mod_readme_display=Óâĺäîěë˙ňü ďîëüçîâŕňĺë˙ î ńîâďŕäĺíčč ôŕéëîâ readme mod_core_eadmin=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé ŕäđĺń email mod_core_display=Ôŕéë ńîîáůĺíčé ďĺđĺä đĺăčńňđŕöčĺé mod_core_buffer=Ěŕęńčěŕëüíŕ˙ äëčíŕ ęîěŕíäű FTP index_any=Ëţáîé mod_log_esyslog=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé ôŕéë ćóđíŕëŕ index_apply=Ďđčěĺíčňü čçěĺíĺíč˙ mod_core_climit=Ěŕęńčěóě ńîĺäčíĺíčé mod_core_escore=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé ęŕňŕëîă ďîäń÷ĺňŕ ńňŕňčńňčęč mod_core_identmsg=Ńîîáůĺíčĺ ďđč ďîäęëţ÷ĺíčč ęëčĺíňŕ index_port=Ďîđň FTP mod_core_eanongroup=Íĺ ââĺäĺíű ŕíîíčěíűĺ ăđóďďű aserv_group=Äîńňóď ę ôŕéëŕě, ęŕę ăđóďďŕ mod_core_elogin=Íĺ óęŕçŕí ôŕéë ńîîáůĺíčé ďîńëĺ đĺăčńňđŕöčč mod_core_edisplay=Íĺ óęŕçŕí ôŕéë ńîîáůĺíčé ďĺđĺä đĺăčńňđŕöčĺé mod_core_addefault=Ňŕęčĺ ćĺ, ęŕę č ó đîäčňĺë˙ index_vdesc=Îáđŕáŕňűâŕĺň âńĺ ńîĺäčíĺíč˙ íŕ $1 mod_auth_root=Đŕçđĺřčňü đĺăčńňđŕöčţ äë˙ root? log_limit=Čçěĺíĺíű $1 â îďöčé äë˙ ęŕćäîé ęîěŕíäű äë˙ $2 mod_core_ememlimit=îăđŕíč÷ĺíčĺ đĺńóđńîâ ďŕě˙ňč mod_auth_home=Äîěŕříčé ęŕňŕëîă mod_core_denyall=Çŕďđĺňčňü âńĺě ęëčĺíňŕě mod_core_tight=Ďđčâ˙çűâŕňü ňîëüęî ę íóćíűě ďîđňŕě? log_virtc=Čçěĺíĺí ńĺđâĺđ $1 lserv_err=Îřčáęŕ ďđč ńîőđŕíĺíčč ęîěŕíä log_virtd=Óäŕëĺí ńĺđâĺđ $1 mod_auth_egroups=Íĺ ââĺäĺíű ăđóďďű Unix äë˙ chroot mod_core_goaway=Ôŕéë ńîîáůĺíčé äë˙ ńëčřęîě áîëüřîăî ęîëč÷ĺńňâŕ ńîĺäčíĺíčé lserv_ecmd=Íĺ âűáđŕíű ęîěŕíäű type_0=Ďŕđŕěĺňđű ńĺňč type_1=Ďŕđŕěĺňđű âĺäĺíč˙ ćóđíŕëŕ type_2=Ôŕéëű č ęŕňŕëîăč type_3=Óďđŕâëĺíčĺ äîńňóďîě mod_core_dfilter=Đĺăóë˙đíűĺ âűđŕćĺíč˙ çŕďđĺůĺííűő ęîěŕíä FTP mod_readme_none=Íĺň type_4=Đŕçíîĺ dir_return=ďŕđŕěĺňđű äë˙ ęŕćäîăî ęŕňŕëîăŕ type_5=Ďîëüçîâŕňĺëč č ăđóďďű log_virtm=Âđó÷íóţ îňđĺäŕęňčđîâŕí ńĺđâĺđ $1 type_6=Ŕóňĺíňčôčęŕöč˙ mod_core_ecregex=Íĺ óęŕçŕíî ńîâďŕäĺíčĺ ń čěĺíĺě óçëŕ ęëčĺíňŕ mod_unixpw_ufile=Ŕëüňĺđíŕňčâíűé ôŕéë ďŕđîëĺé Unix log_virts=Ďĺđĺíŕńňđîĺí ńĺđâĺđ $1 aserv_create=Íŕńňđîéęŕ ŕíîíčěíîăî FTP mod_core_ascii=ASCII mod_core_bind=Ďđčâ˙çŕňü ę ŕäđĺńó mod_core_authusingalias=Čńďîëüçîâŕňü ďŕđîëü ďńĺâäîíčěŕ äë˙ ŕíîíčěíîé đĺăčńňđŕöčč? ftpindex_addlimit=Äîáŕâčňü îďöčč äë˙ ęŕćäîé ęîěŕíäű äë˙ .. mod_core_authalias=Đŕçđĺřčňü đĺăčńňđŕöčţ ňîëüęî äë˙ ďîëüçîâŕňĺëĺé ń ďńĺâäîíčěŕěč? mod_core_eservername=Íĺ óęŕçŕíî čě˙ ńĺđâĺđŕ aserv_err=Îřčáęŕ ďđč ńîőđŕíĺíčč ŕíîíčěíîăî FTP mod_core_hard=Ćĺńňęîĺ îăđŕíč÷ĺíčĺ: mod_ls_els=Íĺ óęŕçŕíű äîďîëíčňĺëüíűĺ îďöčč ls start_err=Îřčáęŕ ďđč çŕďóńęĺ ńĺđâĺđŕ FTP mod_core_eato=Íĺ óęŕçŕíî čëč íĺęîđđĺęňíîĺ íŕńňî˙ůĺĺ čě˙ ďîëüçîâŕňĺë˙ â ďńĺâäîíčěĺ mod_core_masq=Ěŕńęčđîâŕňü ęŕę ŕäđĺń mod_core_any=Ëţáîĺ mod_core_rwindow=Đŕçěĺđ îęíŕ ďđčĺěŕ TCP mod_core_tstalled=Âđĺě˙ îćčäŕíč˙ çŕâčńřĺé ďĺđĺäŕ÷č äŕííűő index_title=Ńĺđâĺđ ProFTPD ftpaccess_title=Ôŕéëŕ îďöčé äë˙ ęŕćäîăî ęŕňŕëîăŕ dserv_dir=Ďóňü ę ęŕňŕëîăó virt_edit=Đĺäŕęňčđîâŕíčĺ äčđĺęňčâ mod_core_eafrom=Íĺęîđđĺęňíîĺ čě˙ ďîëüçîâŕňĺë˙ äë˙ đĺăčńňđŕöčč â ďńĺâäîíčěĺ ftpindex_title=Ôŕéë îďöčé äë˙ ęŕćäîăî ęŕňŕëîăŕ mod_ls_fakesameuser=Ďđčńîĺäčíĺííűé ďîëüçîâŕňĺëü mod_core_level=Óđîâĺíü âĺäĺíč˙ ńčńňĺěíîăî ćóđíŕëŕ mod_core_deny=Çŕďđĺňčňü mod_core_defaultserver=Čńďîëüçîâŕňü ýňîň âčđňóŕëüíűé ńĺđâĺđ ďî óěîë÷ŕíčţ? mod_core_secs=ń mod_core_mode_0=Âńĺ mod_core_mode_1=Íĺň mod_core_mode_2=Ŕäđĺń IP mod_core_mode_3=Ńĺňü mod_core_allowall=Đŕçđĺřčňü âńĺě ęëčĺíňŕě mod_core_mode_4=Čě˙ óçëŕ mod_core_huser=Ďđ˙ňŕňü ôŕéëű ďîëüçîâŕňĺëĺé mod_core_etlog=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé ôŕéë ćóđíŕëŕ ďĺđĺäŕ÷č index_virt=Âčđňóŕëüíűé ńĺđâĺđ mod_core_erwindow=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé đŕçěĺđ îęíŕ ďđčĺěŕ mod_core_cip=Ńĺňü IP ęëčĺíňŕ/CIDR mod_log_extended=Ôŕéëű ćóđíŕëŕ ďîëüçîâŕňĺëĺé mod_core_accessdeny=Ńîîáůĺíčĺ îá îřčáęĺ đĺăčńňđŕöčč mod_unixpw_persist=Äĺđćŕňü ôŕéë ďŕđîëĺé ďîńňî˙ííî îňęđűňűě? dir_header=Ďŕđŕěĺňđű äë˙ ęŕćäîé ęîěŕíäű mod_log_cmd=Äë˙ ęîěŕíä FTP mod_core_adall=Ďîëčňčęč óďđŕâëĺíč˙ äîńňóďîě mod_core_ident=Čńęŕňü čě˙ ďîëüçîâŕňĺë˙ äë˙ óäŕëĺííîăî Ident? mod_core_gpname=Ăđóďďŕ Unix anon_title=Ďŕđŕěĺňđű ŕíîíčěíîăî FTP index_name=Čě˙ ńĺđâĺđŕ aserv_title=Íŕńňđîéęŕ ŕíîíčěíîăî FTP mod_core_filter=Đĺăóë˙đíîĺ âűđŕćĺíčĺ đŕçđĺřĺííűő ęîěŕíä FTP mod_auth_all=Âńĺ log_global=Čçěĺíĺíű îáůčĺ ďŕđŕěĺňđű $1 index_eproftpd2=Ďđîăđŕěěŕ $1 íĺ ˙âë˙ĺňń˙ ńĺđâĺđîě ProFTPD. Âîçěîćíî, îí íĺ óńňŕíîâëĺí, čëč íĺęîđđĺęňíű âŕřč íŕńňđîéęč ěîäóë˙. mod_unixpw_gfile=Ŕëüňĺđíŕňčâíűé ôŕéë ăđóďď Unix virt_virt=Íŕńňđîéęŕ âčđňóŕëüíîăî ńĺđâĺđŕ mod_core_hgroup=Ďđ˙ňŕňü ôŕéëű ăđóďď index_create=Ńîçäŕíčĺ âčđňóŕëüíîăî ńĺđâĺđŕ mod_core_egowner=Íĺ óęŕçŕíŕ čëč íĺęîđđĺęňíŕ˙ ăđóďďŕ äë˙ çŕęŕ÷ŕííűő ôŕéëîâ mod_core_gmt=Ďîęŕçűâŕňü âđĺě˙ â ôîđěŕňĺ GMT? manual_title=Đĺäŕęňčđîâŕíčĺ äčđĺęňčâ index_addr=Ŕäđĺń mod_core_ebuffer=Íĺ óęŕçŕíŕ čëč íĺęîđđĺęňíŕ˙ ěŕęńčěŕëüíŕ˙ äëčíŕ ęîěŕíäű mod_core_userpassword=Ďĺđĺîďđĺäĺëĺíčĺ ďŕđîëĺé ďîëüçîâŕňĺëĺé log_dir=Čçěĺíĺí $1 â ęŕňŕëîăĺ $2 mod_core_action=Äĺéńňâčĺ mod_core_type=Ňčď ńĺđâĺđŕ limit_header1=Äë˙ ęîěŕíä $1 â âčđňóŕëüíîě ńĺđâĺđĺ $2 mod_core_eclimit=Íĺ óęŕçŕíî čëč íĺęîđđĺęňíîĺ ěŕęńčěŕëüíîĺ ęîëč÷ĺńňâî ńîĺäčíĺíčé limit_header2=Äë˙ ęîěŕíä $1 â ńĺđâĺđĺ ďî óěîë÷ŕíčţ mod_core_nodelay=čńďîëüçîâŕňü îďöčţ ńîęĺňŕ TCP_NODELAY? mod_ls_fakeasuser=Äŕ, ęŕę ďîëüçîâŕňĺëü .. mod_core_wtmp=Çŕďčńűâŕňü đĺăčńňđŕöčč â wtmp? limit_header3=$1 ďŕđŕěĺňđîâ äë˙ ęîěŕíä $2 limit_header4=Äë˙ ęîěŕíä $1 â ęŕňŕëîăĺ $2 mod_unixpw_eufile=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé ŕëüňĺđíŕňčâíűé ôŕéë ďŕđîëĺé Unix limit_header5=Äë˙ ęîěŕíä $1 â ŕíîíčěíîě FTP lserv_title=Íŕńňđîéęŕ ęîěŕíä limit_header6=Äë˙ ęîěŕíä $1 â ôŕéëĺ $2 mod_core_hstor=Ńďđ˙ňŕňü çŕęŕ÷ŕííűĺ ôŕéëű? mod_core_logins=Ěŕęńčěŕëüíîĺ ÷čńëî îřčáîę đĺăčńňđŕöčč â ńĺńńčč log_dir_l=Čçěĺíĺí $1 â ęŕňŕëîăĺ $2 íŕ ńĺđâĺđĺ $3 mod_core_allowdeny=Đŕçđĺřčňü, çŕňĺě çŕďđĺňčňü log_ftpaccess=Čçěĺíĺíű $1 â ôŕéëĺ îďöčé $2 mod_core_soft=Ě˙ăęîĺ îăđŕíč÷ĺíčĺ: mod_core_tlogin=Âđĺě˙ îćčäŕíč˙ ŕóňĺíňčôčęŕöčč mod_core_egoaway=Íĺ óęŕçŕí ôŕéë ńîîáůĺíčé äë˙ ńëčřęîě áîëüřîăî ęîëč÷ĺńňâŕ ńîĺäčíĺíčé mod_ls_efakeuser=Íĺ óęŕçŕí čëč íĺęîđđĺęňíűé ďîääĺëüíűé ďîëüçîâŕňĺëü log_ftpaccessc=Ńîçäŕí ôŕéë îďöčé $1 ftpaccess_create=Ńîçäŕíčĺ ôŕéëŕ ďŕđŕěĺňđîâ log_ftpaccessd=Óäŕëĺí ôŕéë îďöčé $1 find_err=Îřčáęŕ ďđč ďîčńęĺ ôŕéëîâ ďŕđŕěĺňđîâ vserv_port=Ďîđň FTP mod_core_pasv=Äčŕďŕçîí ďîđňîâ PASV mod_core_uowner=Âëŕäĺëĺö çŕęŕ÷ŕííűő ôŕéëîâ index_startmsg2=Íŕćěčňĺ íŕ ýňó ęíîďęó äë˙ çŕďóńęŕ ńĺđâĺđŕ FTP ń ňĺęóůčěč íŕńňđîéęŕěč. Âű ňŕęćĺ ěîćĺňĺ íŕńňđîčňü ŕâňîěŕňč÷ĺńęčé çŕďóńę ńĺđâĺđŕ ďî íĺîáőîäčěîńňč, čńďîëüçó˙ inetd čë äđóăčĺ ýęâčâŕëĺíňíűĺ ďđîăđŕěěű. mod_core_etstalled=Íĺ óęŕçŕíî čëč íĺęîđđĺęňíîĺ âđĺě˙ çŕâčńřĺé ďĺđĺäŕ÷č mod_log_nick=Ôîđěŕň ćóđíŕëŕ mod_core_restart=Đŕçđĺřčňü ďîâňîđíóţ çŕăđóçęó? mod_core_admin=Ŕäđĺń email ŕäěčíčńňđŕňîđŕ ńĺđâĺđŕ log_ftpaccessm=Âđó÷íóţ îňđĺäŕęňčđîâŕí ôŕéë îďöčé $1 mod_core_foreign=Đŕçđĺřčňü ďĺđĺäŕ÷ó ÷óćčő äŕííűő? manual_file=Đĺäŕęňčđîâŕíčĺ äčđĺęňčâ â ôŕéëĺ: mod_core_score=Ďóňü ę ęŕňŕëîăó ďîäń÷ĺňŕ ńňŕňčńňčęč proftpd/lang/ru_SU0100644000567100000120000004512010067401530014114 0ustar jcameronwheelindex_title=óĹŇ×ĹŇ ProFTPD index_eproftpd=óĹŇ×ĹŇ ProFTPD $1 ÎĹ ÎÁĘÄĹÎ ÎÁ ×ÁŰĹĘ ÓÉÓÔĹÍĹ. ÷ĎÚÍĎÖÎĎ, ĎÎ ÎĹ ŐÓÔÁÎĎ×ĚĹÎ, ÉĚÉ ÎĹËĎŇŇĹËÔÎŮ ×ÁŰÉ ÎÁÓÔŇĎĘËÉ ÍĎÄŐĚŃ. index_eproftpd2=đŇĎÇŇÁÍÍÁ $1 ÎĹ Ń×ĚŃĹÔÓŃ ÓĹŇ×ĹŇĎÍ ProFTPD. ÷ĎÚÍĎÖÎĎ, ĎÎ ÎĹ ŐÓÔÁÎĎ×ĚĹÎ, ÉĚÉ ÎĹËĎŇŇĹËÔÎŮ ×ÁŰÉ ÎÁÓÔŇĎĘËÉ ÍĎÄŐĚŃ. index_eversion=÷ĹŇÓÉŃ ÓĹŇ×ĹŇÁ ProFTPD $1 ÎĹ ĐĎÄÄĹŇÖÉ×ÁĹÔÓŃ Webmin. đĎÄÄĹŇÖÉ×ÁŔÔÓŃ ÔĎĚŘËĎ ×ĹŇÓÉÉ 0.99 É ×ŮŰĹ. index_econf=ćÁĘĚ ÎÁÓÔŇĎĹË ProFTPD $1 ÎĹ ÓŐÝĹÓÔ×ŐĹÔ ÉĚÉ ÎĹËĎŇŇĹËÔĹÎ. ÷ĎÚÍĎÖÎĎ ÎĹËĎŇŇĹËÔÎŮ ×ÁŰÉ ÎÁÓÔŇĎĘËÉ ÍĎÄŐĚŃ. index_apply=đŇÉÍĹÎÉÔŘ ÉÚÍĹÎĹÎÉŃ index_applymsg=îÁÖÍÉÔĹ ÎÁ ÜÔŐ ËÎĎĐËŐ ÄĚŃ ĐŇÉÍĹÎĹÎÉŃ ÔĹËŐÝÉČ ÎÁÓÔŇĎĹË ĎÔĐŇÁ×ËĎĘ ÓÉÇÎÁĚÁ SIGHUP ÚÁĐŐÝĹÎÎŮÍ ĐŇĎĂĹÓÓÁÍ ProFTPD. index_start=úÁĐŐÓË ÓĹŇ×ĹŇÁ index_startmsg=îÁÖÍÉÔĹ ÎÁ ÜÔŐ ËÎĎĐËŐ ÄĚŃ ÚÁĐŐÓËÁ ÓĹŇ×ĹŇÁ FTP Ó ÔĹËŐÝÉÍÉ ÎÁÓÔŇĎĘËÁÍÉ. ÷Ů ÔÁËÖĹ ÍĎÖĹÔĹ ÎÁÓÔŇĎÉÔŘ Á×ÔĎÍÁÔÉŢĹÓËÉĘ ÚÁĐŐÓË ÓĹŇ×ĹŇÁ ĐĎ ÎĹĎÂČĎÄÉÍĎÓÔÉ, ÉÓĐĎĚŘÚŐŃ ÍĎÄŐĚŘ óĚŐÖÂŮ ÉÎÔĹŇÎĹÔ. index_startmsg2=îÁÖÍÉÔĹ ÎÁ ÜÔŐ ËÎĎĐËŐ ÄĚŃ ÚÁĐŐÓËÁ ÓĹŇ×ĹŇÁ FTP Ó ÔĹËŐÝÉÍÉ ÎÁÓÔŇĎĘËÁÍÉ. ÷Ů ÔÁËÖĹ ÍĎÖĹÔĹ ÎÁÓÔŇĎÉÔŘ Á×ÔĎÍÁÔÉŢĹÓËÉĘ ÚÁĐŐÓË ÓĹŇ×ĹŇÁ ĐĎ ÎĹĎÂČĎÄÉÍĎÓÔÉ, ÉÓĐĎĚŘÚŐŃ inetd ÉĚ ÄŇŐÇÉĹ ÜË×É×ÁĚĹÎÔÎŮĹ ĐŇĎÇŇÁÍÍŮ. index_return=ĎÓÎĎ×ÎĎĹ ÍĹÎŔ index_virts=÷ÉŇÔŐÁĚŘÎŮĹ ÓĹŇ×ĹŇŮ index_virt=÷ÉŇÔŐÁĚŘÎŮĘ ÓĹŇ×ĹŇ index_type=ôÉĐ ÓĹŇ×ĹŇÁ index_addr=áÄŇĹÓ index_name=éÍŃ ÓĹŇ×ĹŇÁ index_port=đĎŇÔ FTP index_defserv=óĹŇ×ĹŇ ĐĎ ŐÍĎĚŢÁÎÉŔ index_defdesc=ďÂŇÁÂÁÔŮ×ÁĹÔ ĚŔÂŮĹ ÓĎĹÄÉÎĹÎÉŃ FTP ÎĹ ĎÂŇÁÂÁÔŮ×ÁĹÍŮĹ ×ÉŇÔŐÁĚŘÎŮÍÉ ÓĹŇ×ĹŇÁÍÉ. index_any=ěŔÂĎĘ index_vdesc=ďÂŇÁÂÁÔŮ×ÁĹÔ ×ÓĹ ÓĎĹÄÉÎĹÎÉŃ ÎÁ $1 index_eip=<îĹÉÚ×ĹÓÔÎĎ> index_global=ďÂÝÉĹ ÎÁÓÔŇĎĘËÉ index_create=óĎÚÄÁÎÉĹ ×ÉŇÔŐÁĚŘÎĎÇĎ ÓĹŇ×ĹŇÁ index_version=ProFTPd ×ĹŇÓÉÉ $1 efailed=ďŰÉÂËÁ ĐŇÉ ÓĎČŇÁÎĹÎÉÉ $1 type_0=đÁŇÁÍĹÔŇŮ ÓĹÔÉ type_1=đÁŇÁÍĹÔŇŮ ×ĹÄĹÎÉŃ ÖŐŇÎÁĚÁ type_2=ćÁĘĚŮ É ËÁÔÁĚĎÇÉ type_3=őĐŇÁ×ĚĹÎÉĹ ÄĎÓÔŐĐĎÍ type_4=ňÁÚÎĎĹ type_5=đĎĚŘÚĎ×ÁÔĹĚÉ É ÇŇŐĐĐŮ type_6=áŐÔĹÎÔÉĆÉËÁĂÉŃ virt_title=đÁŇÁÍĹÔŇŮ ×ÉŇÔŐÁĚŘÎĎÇĎ ÓĹŇ×ĹŇÁ virt_header1=äĚŃ $1 virt_header2=äĚŃ ÓĹŇ×ĹŇÁ ĐĎ ŐÍĎĚŢÁÎÉŔ virt_header3=$1 ĐÁŇÁÍĹÔŇĎ× virt_anon=áÎĎÎÉÍÎŮĘ FTP virt_header=đÁŇÁÍĹÔŇŮ ÄĚŃ ËÁÖÄĎÇĎ ËÁÔÁĚĎÇÁ É ÄĚŃ ËÁÖÄĎĘ ËĎÍÁÎÄŮ virt_dir=ëÁÔÁĚĎÇ $1 virt_limit=ëĎÍÁÎÄŮ $1 virt_adddir=äĎÂÁ×ÉÔŘ ĐÁŇÁÍĹÔŇŮ ÄĚŃ ËÁÖÄĎÇĎ ËÁÔÁĚĎÇÁ ÄĚŃ .. virt_addlimit=äĎÂÁ×ÉÔŘ ĐÁŇÁÍĹÔŇŮ ÄĚŃ ËÁÖÄĎĘ ËĎÍÁÎÄŮ ÄĚŃ .. virt_path=đŐÔŘ Ë ËÁÔÁĚĎÇŐ virt_cmds=ëĎÍÁÎÄŮ FTP virt_return=×ÉŇÔŐÁĚŘÎŮĘ ÓĹŇ×ĹŇ virt_virt=îÁÓÔŇĎĘËÁ ×ÉŇÔŐÁĚŘÎĎÇĎ ÓĹŇ×ĹŇÁ virt_edit=ňĹÄÁËÔÉŇĎ×ÁÎÉĹ ÄÉŇĹËÔÉ× vserv_title=îÁÓÔŇĎĘËÁ ×ÉŇÔŐÁĚŘÎĎÇĎ ÓĹŇ×ĹŇÁ vserv_addr=áÄŇĹÓ vserv_name=éÍŃ ÓĹŇ×ĹŇÁ vserv_port=đĎŇÔ FTP vserv_delete=őÄÁĚĹÎÉĹ ×ÉŇÔŐÁĚŘÎĎÇĎ ÓĹŇ×ĹŇÁ vserv_eaddr=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ÁÄŇĹÓ vserv_eport=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ÎĎÍĹŇ ĐĎŇÔÁ vserv_ename=îĹ ŐËÁÚÁÎĎ ÉÍŃ ÓĹŇ×ĹŇÁ anon_title=đÁŇÁÍĹÔŇŮ ÁÎĎÎÉÍÎĎÇĎ FTP anon_header1=÷ ×ÉŇÔŐÁĚŘÎĎÍ ÓĹŇ×ĹŇĹ $1 anon_header2=÷ ÓĹŇ×ĹŇĹ ĐĎ ŐÍĎĚŢÁÎÉŔ anon_anon=îÁÓÔŇĎĘËÁ ÁÎĎÎÉÍÎĎÇĎ FTP anon_return=ĐÁŇÁÍĹÔŇŮ ÁÎĎÎÉÍÎĎÇĎ FTP anon_header3=äĚŃ ÁÎĎÎÉÍÎĎÇĎ FTP × ×ÉŇÔŐÁĚŘÎĎÍ ÓĹŇ×ĹŇĹ $1 anon_header4=äĚŃ ÁÎĎÎÉÍÎĎÇĎ FTP × ÓĹŇ×ĹŇĹ ĐĎ ŐÍĎĚŢÁÎÉŔ aserv_title=îÁÓÔŇĎĘËÁ ÁÎĎÎÉÍÎĎÇĎ FTP aserv_create=îÁÓÔŇĎĘËÁ ÁÎĎÎÉÍÎĎÇĎ FTP aserv_root=ďÇŇÁÎÉŢĹÎÉĹ ÄĎ ËÁÔÁĚĎÇÁ aserv_user=äĎÓÔŐĐ Ë ĆÁĘĚÁÍ, ËÁË ĐĎĚŘÚĎ×ÁÔĹĚŘ aserv_group=äĎÓÔŐĐ Ë ĆÁĘĚÁÍ, ËÁË ÇŇŐĐĐÁ aserv_err=ďŰÉÂËÁ ĐŇÉ ÓĎČŇÁÎĹÎÉÉ ÁÎĎÎÉÍÎĎÇĎ FTP aserv_eroot=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ËÁÔÁĚĎÇ chroot aserv_euser=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ĐĎĚŘÚĎ×ÁÔĹĚŘ Unix aserv_egroup=îĹ ŐËÁÚÁÎÁ ÉĚÉ ÎĹËĎŇŇĹËÔÎÁŃ ÇŇŐĐĐÁ Unix aserv_desc=áÎĎÎÉÍÎŮĘ FTP ĐĎËÁ ĹÝĹ ÎĹ ÎÁÓÔŇĎĹÎ ÄĚŃ ÜÔĎÇĎ ×ÉŇÔŐÁĚŘÎĎÇĎ ÓĹŇ×ĹŇÁ. éÓĐĎĚŘÚŐĘÔĹ ÜÔŐ ĆĎŇÍŐ ÄĚŃ ÎÁÓÔŇĎĘËÉ ĐÁŇÁÍĹÔŇĎ× ÉÎÉĂÉÁĚÉÚÁĂÉÉ. dir_title=đÁŇÁÍĹÔŇŮ ÄĚŃ ËÁÖÄĎÇĎ ËÁÔÁĚĎÇÁ dir_header2=äĚŃ ËÁÔÁĚĎÇÁ $1 × ÓĹŇ×ĹŇĹ ĐĎ ŐÍĎĚŢÁÎÉŔ dir_header1=äĚŃ ËÁÔÁĚĎÇÁ $1 × ×ÉŇÔŐÁĚŘÎĎÍ ÓĹŇ×ĹŇĹ $2 dir_edit=ňĹÄÁËÔÉŇĎ×ÁÎÉĹ ÄÉŇĹËÔÉ× dir_return=ĐÁŇÁÍĹÔŇŮ ÄĚŃ ËÁÖÄĎÇĎ ËÁÔÁĚĎÇÁ dir_header3=$1 ĐÁŇÁÍĹÔŇĎ× × $2 dir_header=đÁŇÁÍĹÔŇŮ ÄĚŃ ËÁÖÄĎĘ ËĎÍÁÎÄŮ dir_dir=îÁÓÔŇĎĘËÁ ËÁÔÁĚĎÇÁ dir_header4=äĚŃ ËÁÔÁĚĎÇÁ $1 × ÁÎĎÎÉÍÎĎÍ FTP manual_title=ňĹÄÁËÔÉŇĎ×ÁÎÉĹ ÄÉŇĹËÔÉ× manual_header=éÓĐĎĚŘÚŐĘÔĹ ÔĹËÓÔĎ×ĎĹ ĐĎĚĹ ÎÉÖĹ ÄĚŃ ŇĹÄÁËÔÉŇĎ×ÁÎÉŃ ÄÉŇĹËÔÉ× ProFTPD × $1, ĐŇÉÍĹÎŃĹÍŮČ Ë ×ÉŇÔŐÁĚŘÎĎÍŐ ÓĹŇ×ĹŇŐ, ËÁÔÁĚĎÇŐ ÉĚÉ ËĎÍÁÎÄÁÍ. manual_configs=ňĹÄÁËÔÉŇĎ×ÁÎÉĹ ĆÁĘĚĎ× ÎÁÓÔŇĎĹË manual_ecannot=÷ÁÍ ÚÁĐŇĹÝĹÎĎ ŇĹÄÁËÔÉŇĎ×ÁÎÉĹ ÄÉŇĹËÔÉ× ×ŇŐŢÎŐŔ manual_file=ňĹÄÁËÔÉŇĎ×ÁÎÉĹ ÄÉŇĹËÔÉ× × ĆÁĘĚĹ: manual_efile=îĹËĎŇŇĹËÔÎŮĘ ĆÁĘĚ ÎÁÓÔŇĎĹË ProFTPd limit_title=đÁŇÁÍĹÔŇŮ ÄĚŃ ËÁÖÄĎĘ ËĎÍÁÎÄŮ limit_header4=äĚŃ ËĎÍÁÎÄ $1 × ËÁÔÁĚĎÇĹ $2 limit_header2=äĚŃ ËĎÍÁÎÄ $1 × ÓĹŇ×ĹŇĹ ĐĎ ŐÍĎĚŢÁÎÉŔ limit_header1=äĚŃ ËĎÍÁÎÄ $1 × ×ÉŇÔŐÁĚŘÎĎÍ ÓĹŇ×ĹŇĹ $2 limit_edit=ňĹÄÁËÔÉŇĎ×ÁÎÉĹ ÄÉŇĹËÔÉ× limit_limit=îÁÓÔŇĎĘËÁ ËĎÍÁÎÄ limit_header3=$1 ĐÁŇÁÍĹÔŇĎ× ÄĚŃ ËĎÍÁÎÄ $2 limit_return=ĐÁŇÁÍĹÔŇŮ ÄĚŃ ËÁÖÄĎĘ ËĎÍÁÎÄŮ limit_header5=äĚŃ ËĎÍÁÎÄ $1 × ÁÎĎÎÉÍÎĎÍ FTP limit_header6=äĚŃ ËĎÍÁÎÄ $1 × ĆÁĘĚĹ $2 lserv_title=îÁÓÔŇĎĘËÁ ËĎÍÁÎÄ lserv_cmd=ëĎÍÁÎÄŮ FTP lserv_delete=őÄÁĚĹÎÉĹ ÎÁÓÔŇĎĹË ËĎÍÁÎÄ lserv_err=ďŰÉÂËÁ ĐŇÉ ÓĎČŇÁÎĹÎÉÉ ËĎÍÁÎÄ lserv_ecmd=îĹ ×ŮÂŇÁÎŮ ËĎÍÁÎÄŮ dserv_title=îÁÓÔŇĎĘËÁ ËÁÔÁĚĎÇÁ dserv_dir=đŐÔŘ Ë ËÁÔÁĚĎÇŐ dserv_err=ďŰÉÂËÁ ĐŇÉ ÓĎČŇÁÎĹÎÉÉ ËÁÔÁĚĎÇÁ dserv_edir=îĹ ŐËÁÚÁÎ ĐŐÔŘ Ë ËÁÔÁĚĎÇŐ dserv_delete=őÄÁĚĹÎÉĹ ÎÁÓÔŇĎĹË ËÁÔÁĚĎÇÁ mod_core_type=ôÉĐ ÓĹŇ×ĹŇÁ mod_core_inetd=úÁĐŐÓË ÉÚ Inetd mod_core_stand=ďÔÄĹĚŘÎŮĘ ÄĹÍĎÎ mod_core_port=óĚŐŰÁÔŘ ĐĎŇÔ mod_core_eport=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ÎĎÍĹŇ ĐĎŇÔÁ mod_core_servername=éÍŃ ÓĹŇ×ĹŇÁ, ĐĎËÁÚŮ×ÁĹÍĎĹ ĐĎĚŘÚĎ×ÁÔĹĚŃÍ mod_core_eservername=îĹ ŐËÁÚÁÎĎ ÉÍŃ ÓĹŇ×ĹŇÁ mod_core_defaultserver=éÓĐĎĚŘÚĎ×ÁÔŘ ÜÔĎÔ ×ÉŇÔŐÁĚŘÎŮĘ ÓĹŇ×ĹŇ ĐĎ ŐÍĎĚŢÁÎÉŔ? mod_core_instances=íÁËÓÉÍÁĚŘÎĎĹ ËĎĚÉŢĹÓÔ×Ď ĎÄÎĎ×ŇĹÍĹÎÎŮČ ÓĎĹÄÉÎĹÎÉĘ mod_core_einstances=îĹ ŐËÁÚÁÎĎ ÉĚÉ ÎĹËĎŇŇĹËÔÎĎĹ ŢÉÓĚĎ ÓĹÓÓÉĘ mod_core_umask=îĎ×ŮĘ ĆÁĘĚ umask mod_core_eumask=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ umask mod_core_user=úÁĐŐÓËÁÔŘ, ËÁË ĎÔ ĐĎĚŘÚĎ×ÁÔĹĚŃ Unix mod_core_uname=éÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ mod_core_uid=UID mod_core_group=úÁĐŐÓËÁÔŘ, ËÁË ĎÔ ÇŇŐĐĐŮ Unix mod_core_gname=éÍŃ ÇŇŐĐĐŮ mod_core_gid=GID mod_core_tlog=ćÁĘĚ ÖŐŇÎÁĚÁ ĐĹŇĹÄÁŢÉ FTP mod_core_etlog=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ĆÁĘĚ ÖŐŇÎÁĚÁ ĐĹŇĹÄÁŢÉ mod_core_accessdeny=óĎĎÂÝĹÎÉĹ Ď ĎŰÉÂËĹ ŇĹÇÉÓÔŇÁĂÉÉ mod_core_accessgrant=óĎĎÂÝĹÎÉĹ Ď ŐÓĐĹŰÎĎĘ ŇĹÇÉÓÔŇÁĂÉÉ mod_core_adall=đĎĚÉÔÉËÉ ŐĐŇÁ×ĚĹÎÉŃ ÄĎÓÔŐĐĎÍ mod_core_addefault=ôÁËÉĹ ÖĹ, ËÁË É Ő ŇĎÄÉÔĹĚŃ mod_core_allowall=ňÁÚŇĹŰÉÔŘ ×ÓĹÍ ËĚÉĹÎÔÁÍ mod_core_denyall=úÁĐŇĹÔÉÔŘ ×ÓĹÍ ËĚÉĹÎÔÁÍ mod_core_filter=ňĹÇŐĚŃŇÎĎĹ ×ŮŇÁÖĹÎÉĹ ŇÁÚŇĹŰĹÎÎŮČ ËĎÍÁÎÄ FTP mod_core_foreign=ňÁÚŇĹŰÉÔŘ ĐĹŇĹÄÁŢŐ ŢŐÖÉČ ÄÁÎÎŮČ? mod_core_overwrite=ňÁÚŇĹŰÉÔŘ ĐĹŇĹÚÁĐÉÓŘ ĆÁĘĚĎ×? mod_core_restart=ňÁÚŇĹŰÉÔŘ ĐĎ×ÔĎŇÎŐŔ ÚÁÇŇŐÚËŐ? mod_core_restart2=ňÁÚŇĹŰÉÔŘ ĐĎ×ÔĎŇÎŐŔ ÚÁÇŇŐÚËŐ? mod_core_require=ôŇĹÂĎ×ÁÔŘ ĐÁŇĎĚŘ ÄĚŃ ÁÎĎÎÉÍÎĎĘ ŇĹÇÉÓÔŇÁĂÉÉ? mod_core_anongroup=çŇŐĐĐŮ, ŢŘÉ ĐĎĚŘÚĎ×ÁÔĹĚÉ ×ĎÓĐŇÉÎÉÍÁŔÔÓŃ, ËÁË ÁÎĎÎÉÍÎŮĹ mod_core_eanongroup=îĹ ××ĹÄĹÎŮ ÁÎĎÎÉÍÎŮĹ ÇŇŐĐĐŮ mod_core_authalias=ňÁÚŇĹŰÉÔŘ ŇĹÇÉÓÔŇÁĂÉŔ ÔĎĚŘËĎ ÄĚŃ ĐĎĚŘÚĎ×ÁÔĹĚĹĘ Ó ĐÓĹ×ÄĎÎÉÍÁÍÉ? mod_core_authusingalias=éÓĐĎĚŘÚĎ×ÁÔŘ ĐÁŇĎĚŘ ĐÓĹ×ÄĎÎÉÍÁ ÄĚŃ ÁÎĎÎÉÍÎĎĘ ŇĹÇÉÓÔŇÁĂÉÉ? mod_core_bind=đŇÉ×ŃÚÁÔŘ Ë ÁÄŇĹÓŐ mod_core_bind_all=÷ÓĹ ÁÄŇĹÓÁ mod_core_ebind=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ÁÄŇĹÓ ĐŇÉ×ŃÚËÉ mod_core_cdpath=óĎËŇÁÝĹÎÉĹ ËÁÔÁĚĎÇĎ× CD mod_core_classes=÷ËĚŔŢÉÔŘ ËĚÁÓÓŮ ÄĚŃ ŐĐŇÁ×ĚĹÎÉŃ ÄĎÓÔŐĐĎÍ? mod_core_cls=ëĚÁÓÓŮ ŐĐŇÁ×ĚĹÎÉŃ ÄĎÓÔŐĐĎÍ mod_core_cname=éÍŃ ËĚÁÓÓÁ mod_core_ctype=ôÉĐ É ÚÎÁŢĹÎÉĹ mod_core_climit=íÁËÓÉÍŐÍ ÓĎĹÄÉÎĹÎÉĘ mod_core_cregex=óĎ×ĐÁÄĹÎÉĹ Ó ÉÍĹÎĹÍ ŐÚÁ ËĚÉĹÎÔÁ mod_core_cip=óĹÔŘ IP ËĚÉĹÎÔÁ/CIDR mod_core_eclimit=îĹ ŐËÁÚÁÎĎ ÉĚÉ ÎĹËĎŇŇĹËÔÎĎĹ ÍÁËÓÉÍÁĚŘÎĎĹ ËĎĚÉŢĹÓÔ×Ď ÓĎĹÄÉÎĹÎÉĘ mod_core_ecregex=îĹ ŐËÁÚÁÎĎ ÓĎ×ĐÁÄĹÎÉĹ Ó ÉÍĹÎĹÍ ŐÚĚÁ ËĚÉĹÎÔÁ mod_core_ecip=îĹ ŐËÁÚÁÎÁ ÉĚÉ ÎĹËĎŇŇĹËÔÎÁŃ ÓĹÔŘ IP ËĚÉĹÎÔÁ/CIDR mod_core_buffer=íÁËÓÉÍÁĚŘÎÁŃ ÄĚÉÎÁ ËĎÍÁÎÄŮ FTP mod_core_ebuffer=îĹ ŐËÁÚÁÎÁ ÉĚÉ ÎĹËĎŇŇĹËÔÎÁŃ ÍÁËÓÉÍÁĚŘÎÁŃ ÄĚÉÎÁ ËĎÍÁÎÄŮ mod_core_transfer=ňĹÖÉÍ ĐĹŇĹÄÁŢÉ ĐĎ ŐÍĎĚŢÁÎÉŔ mod_core_binary=ä×ĎÉŢÎŮĘ mod_core_ascii=ASCII mod_core_defer=đĎËÁÚŮ×ÁÔŘ ĐŇÉ×ĹÔÓÔ×ÉĹ ÔĎĚŘËĎ ĐĎÓĚĹ ŇĹÇÉÓÔŇÁĂÉÉ? mod_core_aborted=őÄÁĚŃÔŘ ĎÔÍĹÎĹÎÎŮĹ ÚÁÇŇŐÚËÉ? mod_core_dfilter=ňĹÇŐĚŃŇÎŮĹ ×ŮŇÁÖĹÎÉŃ ÚÁĐŇĹÝĹÎÎŮČ ËĎÍÁÎÄ FTP mod_core_display=ćÁĘĚ ÓĎĎÂÝĹÎÉĘ ĐĹŇĹÄ ŇĹÇÉÓÔŇÁĂÉĹĘ mod_core_none=îĹÔ mod_core_edisplay=îĹ ŐËÁÚÁÎ ĆÁĘĚ ÓĎĎÂÝĹÎÉĘ ĐĹŇĹÄ ŇĹÇÉÓÔŇÁĂÉĹĘ mod_core_firstcd=éÍŃ ĆÁĘĚÁ ËÁÔÁĚĎÇÁ README mod_core_efirstcd=îĹ ŐËÁÚÁÎĎ ÉÍŃ ĆÁĘĚÁ ËÁÔÁĚĎÇÁ README mod_core_goaway=ćÁĘĚ ÓĎĎÂÝĹÎÉĘ ÄĚŃ ÓĚÉŰËĎÍ ÂĎĚŘŰĎÇĎ ËĎĚÉŢĹÓÔ×Á ÓĎĹÄÉÎĹÎÉĘ mod_core_egoaway=îĹ ŐËÁÚÁÎ ĆÁĘĚ ÓĎĎÂÝĹÎÉĘ ÄĚŃ ÓĚÉŰËĎÍ ÂĎĚŘŰĎÇĎ ËĎĚÉŢĹÓÔ×Á ÓĎĹÄÉÎĹÎÉĘ mod_core_login=ćÁĘĚ ÓĎĎÂÝĹÎÉĘ ĐĎÓĚĹ ŇĹÇÉÓÔŇÁĂÉÉ mod_core_elogin=îĹ ŐËÁÚÁÎ ĆÁĘĚ ÓĎĎÂÝĹÎÉĘ ĐĎÓĚĹ ŇĹÇÉÓÔŇÁĂÉÉ mod_core_quit=ćÁĘĚ ÓĎĎÂÝĹÎÉĘ ŇÁÚŇĹÇÉÓÔŇÁĂÉÉ mod_core_equit=îĹ ŐËÁÚÁÎ ĆÁĘĚ ÓĎĎÂÝĹÎÉĘ ŇÁÚŇĹÇÉÓÔŇÁĂÉÉ mod_core_gowner=őÓÔÁÎÁ×ĚÉ×ÁĹÍÁŃ ÇŇŐĐĐÁ ÄĚŃ ÚÁËÁŢÁÎÎŮČ ĆÁĘĚĎ× mod_core_egowner=îĹ ŐËÁÚÁÎÁ ÉĚÉ ÎĹËĎŇŇĹËÔÎÁŃ ÇŇŐĐĐÁ ÄĚŃ ÚÁËÁŢÁÎÎŮČ ĆÁĘĚĎ× mod_core_grouppassword=đÁŇĎĚÉ ÇŇŐĐĐŮ mod_core_gpname=çŇŐĐĐÁ Unix mod_core_gppass=đÁŇĎĚŘ mod_core_gpdef=ďÓÔÁ×ÉÔŘ ÂĹÚ ÉÚÍĹÎĹÎÉĘ mod_core_egpname=îĹËĎŇŇĹËÔÎĎĹ ÉÍŃ ÇŇŐĐĐŮ Unix mod_core_hstor=óĐŇŃÔÁÔŘ ÚÁËÁŢÁÎÎŮĹ ĆÁĘĚŮ? mod_core_hgroup=đŇŃÔÁÔŘ ĆÁĘĚŮ ÇŇŐĐĐ mod_core_ehgroup=îĹËĎŇŇĹËÔÎĎĹ ÉÍŃ ÇŇŐĐĐŮ mod_core_hnoaccess=đŇŃÔÁÔŘ ĆÁĘĚŮ, Ë ËĎÔĎŇŮÍ ÎĹÔ ÄĎÓÔŐĐÁ? mod_core_huser=đŇŃÔÁÔŘ ĆÁĘĚŮ ĐĎĚŘÚĎ×ÁÔĹĚĹĘ mod_core_ehuser=îĹËĎŇŇĹËÔÎĎĹ ÉÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ mod_core_ident=éÓËÁÔŘ ÉÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ ÄĚŃ ŐÄÁĚĹÎÎĎÇĎ Ident? mod_core_ihidden=óÄĹĚÁÔŘ ÓĐŇŃÔÁÎÎŮĹ ĆÁĘĚŮ ÎĹÄĎÓÔŐĐÎŮÍÉ? mod_core_masq=íÁÓËÉŇĎ×ÁÔŘ ËÁË ÁÄŇĹÓ mod_core_masq_def=éÓĐĎĚŘÚĎ×ÁÔŘ ŇĹÁĚŘÎŮĘ ÁÄŇĹÓ mod_core_emasq=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ÁÄŇĹÓ ÍÁÓËÉŇĎ×ËÉ mod_core_maxc=íÁËÓÉÍÁĚŘÎĎĹ ŢÉÓĚĎ ĎÄÎĎ×ŇĹÍĹÎÎŮĘ ŇĹÇÉÓÔŇÁĂÉĘ mod_core_maxc1=îĹ ĎÇŇÁÎÉŢĹÎĎ mod_core_maxcmsg=óĎĎÂÝĹÎÉĹ Ď ĎŰÉÂËĹ ŇĹÇÉÓÔŇÁĂÉÉ mod_core_emaxc=îĹ ŐËÁÚÁÎĎ ÉĚÉ ÎĹËĎŇŇĹËÔÎĎĹ ÍÁËÓÉÍÁĚŘÎĎĹ ËĎĚÉŢĹÓÔ×Ď ŇĹÇÉÓÔŇÁĂÉĘ mod_core_maxch=íÁËÓÉÍÁĚŘÎĎĹ ŢÉÓĚĎ ĎÄÎĎ×ŇĹÍĹÎÎŮĘ ŇĹÇÉÓÔŇÁĂÉĘ ÎÁ ŐÚĹĚ mod_core_maxcu=íÁËÓÉÍÁĚŘÎĎĹ ŢÉÓĚĎ ĎÄÎĎ×ŇĹÍĹÎÎŮĘ ŇĹÇÉÓÔŇÁĂÉĘ ÎÁ ĐĎĚŘÚĎ×ÁÔĹĚŃ mod_core_logins=íÁËÓÉÍÁĚŘÎĎĹ ŢÉÓĚĎ ĎŰÉÂĎË ŇĹÇÉÓÔŇÁĂÉÉ × ÓĹÓÓÉÉ mod_core_elogins=îĹ ŐËÁÚÁÎĎ ÉĚÉ ÎĹËĎŇŇĹËÔÎĎĹ ËĎĚÉŢĹÓÔ×Ď ĎŰÉÂĎË ŇĹÇÉÓÔŇÁĂÉÉ mod_core_rfc2228=ďÔĐŇÁ×ĚŃÔŘ ĎÔ×ĹÔŮ × ÓÔÉĚĹ RFC2228? mod_core_pasv=äÉÁĐÁÚĎÎ ĐĎŇÔĎ× PASV mod_core_pasvr=ÍÉÎ - ÍÁËÓ mod_core_epasv=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ÎĎÍĹŇ ĐĎŇÔÁ PASV mod_core_pathallow=ňĹÇŐĚŃŇÎĎĹ ×ŮŇÁÖĹÎÉĹ ÄĚŃ ŇÁÚŇĹŰĹÎÎŮČ ÚÁÇŇŐÖÁĹÍŮČ ĆÁĘĚĎ× mod_core_any=ěŔÂĎĹ mod_core_pathdeny=ňĹÇŐĚŃŇÎĎĹ ×ŮŇÁÖĹÎÉĹ ÄĚŃ ÚÁĐŇĹÝĹÎÎŮČ ÚÁÇŇŐÖÁĹÍŮČ ĆÁĘĚĎ× mod_core_pidfile=úÁĐÉÓÁÔŘ PID × ĆÁĘĚ mod_core_epidfile=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ĆÁĘĚ PID mod_core_shell=ňÁÚŇĹŰÁÔŘ ŇĹÇÉÓÔŇÁĂÉŔ ÔĎĚŘËĎ ĐĎĚŘÚĎ×ÁÔĹĚŃÍ Ó ËĎŇŇĹËÔÎĎĘ ĎÂĎĚĎŢËĎĘ? mod_core_cpulimit=ďÇŇÁÎÉŢĹÎÉĹ ŇĹÓŐŇÓĎ× ĐŇĎĂĹÓÓĎŇÁ mod_core_ecpulimit=ĎÇŇÁÎÉŢĹÎÉĹ ŇĹÓŐŇÓĎ× ĐŇĎĂĹÓÓĎŇÁ mod_core_memlimit=ďÇŇÁÎÉŢĹÎÉĹ ŇĹÓŐŇÓĎ× ĐÁÍŃÔÉ mod_core_ememlimit=ĎÇŇÁÎÉŢĹÎÉĹ ŇĹÓŐŇÓĎ× ĐÁÍŃÔÉ mod_core_filelimit=ďÇŇÁÎÉŢĹÎÉŃ ĎÔËŇŮÔŮČ ĆÁĘĚĎ× mod_core_efilelimit=ĎÇŇÁÎÉŢĹÎÉŃ ĎÔËŇŮÔŮČ ĆÁĘĚĎ× mod_core_soft=íŃÇËĎĹ ĎÇŇÁÎÉŢĹÎÉĹ: mod_core_hard=öĹÓÔËĎĹ ĎÇŇÁÎÉŢĹÎÉĹ: mod_core_max=íÁËÓÉÍŐÍ mod_core_esoft=îĹ ŐËÁÚÁÎĎ ÉĚÉ ÎĹËĎŇŇĹËÔÎĎĹ ÍŃÇËĎĹ ĎÇŇÁÎÉŢĹÎÉĹ $1 mod_core_ehard=îĹ ŐËÁÚÁÎĎ ÉĚÉ ÎĹËĎŇŇĹËÔÎĎĹ ÖĹÓÔËĎĹ ĎÇŇÁÎÉŢĹÎÉĹ $1 mod_core_score=đŐÔŘ Ë ËÁÔÁĚĎÇŐ ĐĎÄÓŢĹÔÁ ÓÔÁÔÉÓÔÉËÉ mod_core_escore=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ËÁÔÁĚĎÇ ĐĎÄÓŢĹÔÁ ÓÔÁÔÉÓÔÉËÉ mod_core_admin=áÄŇĹÓ email ÁÄÍÉÎÉÓÔŇÁÔĎŇÁ ÓĹŇ×ĹŇÁ mod_core_eadmin=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ÁÄŇĹÓ email mod_core_identmsg=óĎĎÂÝĹÎÉĹ ĐŇÉ ĐĎÄËĚŔŢĹÎÉÉ ËĚÉĹÎÔÁ mod_core_identmsg_def=đĎËÁÚÁÔŘ ÓĎĎÂÝĹÎÉĹ ĐĎ ŐÍĎĚŢÁÎÉŔ mod_core_links=đĎËÁÚŮ×ÁÔŘ ÓÉÍ×ĎĚŘÎŮĹ ÓÓŮĚËÉ? mod_core_tight=đŇÉ×ŃÚŮ×ÁÔŘ ÔĎĚŘËĎ Ë ÎŐÖÎŮÍ ĐĎŇÔÁÍ? mod_core_facility=óŇĹÄÓÔ×Ď ×ĹÄĹÎÉŃ ÓÉÓÔĹÍÎĎÇĎ ÖŐŇÎÁĚÁ mod_core_level=őŇĎ×ĹÎŘ ×ĹÄĹÎÉŃ ÓÉÓÔĹÍÎĎÇĎ ÖŐŇÎÁĚÁ mod_core_backlog=äĚÉÎÁ ĎŢĹŇĹÄÉ ĆĎÎĎ×ĎÇĎ ÖŐŇÎÁĚÁ TCP mod_core_ebacklog=îĹ ŐËÁÚÁÎÁ ÉĚÉ ÎĹËĎŇŇĹËÔÎÁŃ ÄĚÉÎÁ ĎŢĹŇĹÄÉ ĆĎÎĎ×ĎÇĎ ÖŐŇÎÁĚÁ mod_core_nodelay=ÉÓĐĎĚŘÚĎ×ÁÔŘ ĎĐĂÉŔ ÓĎËĹÔÁ TCP_NODELAY? mod_core_rwindow=ňÁÚÍĹŇ ĎËÎÁ ĐŇÉĹÍÁ TCP mod_core_erwindow=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ŇÁÚÍĹŇ ĎËÎÁ ĐŇÉĹÍÁ mod_core_swindow=ňÁÚÍĹŇ ĎËÎÁ ĎÔĐŇÁ×ËÉ TCP mod_core_eswindow=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ŇÁÚÍĹŇ ĎËÎÁ ĎÔĐŇÁ×ËÉ mod_core_gmt=đĎËÁÚŮ×ÁÔŘ ×ŇĹÍŃ × ĆĎŇÍÁÔĹ GMT? mod_core_tidle=÷ŇĹÍŃ ĐŇĎÓÔĎŃ ĐĹŇĹÄ ŇÁÚŇŮ×ĎÍ ÓĎĹÄÉÎĹÎÉŃ mod_core_etidle=îĹ ŐËÁÚÁÎĎ ÉĚÉ ÎĹËĎŇŇĹËÔÎĎĹ ×ŇĹÍŃ ĐŇĎÓÔĎŃ mod_core_secs=Ó mod_core_tlogin=÷ŇĹÍŃ ĎÖÉÄÁÎÉŃ ÁŐÔĹÎÔÉĆÉËÁĂÉÉ mod_core_etlogin=îĹ ŐËÁÚÁÎĎ ÉĚÉ ÎĹËĎŇŇĹËÔÎĎĹ ×ŇĹÍŃ ÁŐÔĹÎÔÉĆÉËÁĂÉÉ mod_core_ttransfer=÷ŇĹÍŃ ĎÖÉÄÁÎÉŃ ĐĹŇ×ĎĘ ĐĹŇĹÄÁŢÉ mod_core_ettransfer=îĹ ŐËÁÚÁÎĎ ÉĚÉ ÎĹËĎŇŇĹËÔÎĎĹ ×ŇĹÍŃ ĎÖÉÄÁÎÉŃ ĐĹŇ×ĎĘ ĐĹŇĹÄÁŢÉ mod_core_tstalled=÷ŇĹÍŃ ĎÖÉÄÁÎÉŃ ÚÁ×ÉÓŰĹĘ ĐĹŇĹÄÁŢÉ ÄÁÎÎŮČ mod_core_etstalled=îĹ ŐËÁÚÁÎĎ ÉĚÉ ÎĹËĎŇŇĹËÔÎĎĹ ×ŇĹÍŃ ÚÁ×ÉÓŰĹĘ ĐĹŇĹÄÁŢÉ mod_core_ftpusers=úÁĐŇĹÔÉÔŘ ĐĎĚŘÚĎ×ÁÔĹĚĹĘ × ĆÁĘĚĹ /etc/ftpusers? mod_core_hostsallow=ćÁĘĚ ŇÁÚŇĹŰĹÎÎŮČ ŐÚĚĎ× mod_core_ehostsallow=ćÁĘĚ ŇÁÚŇĹŰĹÎÎŮČ ŐÚĚĎ× ÎĹ ÓŐÝĹÓÔ×ŐĹÔ mod_core_hostsdeny=ćÁĘĚ ÚÁĐŇĹÝĹÎÎŮČ ŐÚĚĎ× mod_core_ehostsdeny=ćÁĘĚ ÚÁĐŇĹÝĹÎÎŮČ ŐÚĚĎ× ÎĹ ÓŐÝĹÓÔ×ŐĹÔ mod_core_revdns=đŇĎÉÚ×ĎÄÉÔŘ ĎÂŇÁÔÎŮĘ ĐĎÉÓË ĐĎ DNS ÁÄŇĹÓĎ× ËĚÉĹÎÔÁ? mod_core_userdir=éÓĐĎĚÎŃÔŘ chroot × ĐĎÄËÁÔÁĚĎÇ ĐĎĚŘÚĎ×ÁÔĹĚŃ? mod_core_ualias=đÓĹ×ÄĎÎÉÍ ÉÍĹÎÉ ĐĎĚŘÚĎ×ÁÔĹĚŃ mod_core_afrom=éÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ ÄĚŃ ŇĹÇÉÓÔŇÁĂÉÉ mod_core_ato=îÁÓÔĎŃÝĹĹ ÉÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ mod_core_eafrom=îĹËĎŇŇĹËÔÎĎĹ ÉÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ ÄĚŃ ŇĹÇÉÓÔŇÁĂÉÉ × ĐÓĹ×ÄĎÎÉÍĹ mod_core_eato=îĹ ŐËÁÚÁÎĎ ÉĚÉ ÎĹËĎŇŇĹËÔÎĎĹ ÎÁÓÔĎŃÝĹĹ ÉÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ × ĐÓĹ×ÄĎÎÉÍĹ mod_core_uowner=÷ĚÁÄĹĚĹĂ ÚÁËÁŢÁÎÎŮČ ĆÁĘĚĎ× mod_core_euowner=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ×ĚÁÄĹĚĹĂ ÚÁËÁŢÁÎÎŮČ ĆÁĘĚĎ× mod_core_userpassword=đĹŇĹĎĐŇĹÄĹĚĹÎÉĹ ĐÁŇĎĚĹĘ ĐĎĚŘÚĎ×ÁÔĹĚĹĘ mod_core_upname=đĎĚŘÚĎ×ÁÔĹĚŘ Unix mod_core_uppass=đÁŇĎĚŘ mod_core_updef=ďÓÔÁ×ÉÔŘ ÂĹÚ ÉÚÍĹÎĹÎÉĘ mod_core_eupname=îĹËĎŇŇĹËÔÎĎĹ ÉÍŃ ĐĎĚŘÚĎ×ÁÔĹĚŃ Unix mod_core_wtmp=úÁĐÉÓŮ×ÁÔŘ ŇĹÇÉÓÔŇÁĂÉÉ × wtmp? mod_core_allow_deny=ďÇŇÁÎÉŢĹÎÎŮĘ ÄĎÓÔŐĐ mod_core_allowdeny=ňÁÚŇĹŰÉÔŘ, ÚÁÔĹÍ ÚÁĐŇĹÔÉÔŘ mod_core_denyallow=úÁĐŇĹÔÉÔŘ, ÚÁÔĹÍ ŇÁÚŇĹŰÉÔŘ mod_core_allow=ňÁÚŇĹŰÉÔŘ mod_core_deny=úÁĐŇĹÔÉÔŘ mod_core_mode_0=÷ÓĹ mod_core_mode_1=îĹÔ mod_core_mode_2=áÄŇĹÓ IP mod_core_mode_3=óĹÔŘ mod_core_mode_4=éÍŃ ŐÚĚÁ mod_core_cond=őÓĚĎ×ÉĹ mod_core_action=äĹĘÓÔ×ÉĹ mod_core_agroup=ňÁÚŇĹŰÉÔŘ ÔĎĚŘËĎ ÇŇŐĐĐÁÍ mod_core_auser=ňÁÚŇĹŰÉÔŘ ÔĎĚŘËĎ ĐĎĚŘÚĎ×ÁÔĹĚŃÍ mod_core_all=÷ÓĹ mod_core_dgroup=úÁĐŇĹÔÉÔŘ ÇŇŐĐĐÁÍ mod_core_duser=úÁĐŇĹÔÉÔŘ ĐĎĚŘÚĎ×ÁÔĹĚŃÍ mod_core_eip='$1' ÎĹ Ń×ĚŃĹÔÓŃ ËĎŇŇĹËÔÎŮÍ ÁÄŇĹÓĎÍ IP mod_core_enet='$1' ÎĹ Ń×ĚŃĹÔÓŃ ËĎŇŇĹËÔÎŮÍ ÁÄŇĹÓĎÍ ÓĹÔÉ mod_core_ehost='$1' ÎĹ Ń×ĚŃĹÔÓŃ ËĎŇŇĹËÔÎŮÍ ÉÍĹÎĹÍ ŐÚĚÁ mod_ls_fakegroup=đĎÄÄĹĚŮ×ÁÔŘ ÇŇŐĐĐŮ × ÓĐÉÓËÁČ ËÁÔÁĚĎÇĎ×? mod_ls_fakeuser=đĎÄÄĹĚŮ×ÁÔŘ ĐĎĚŘÚĎ×ÁÔĹĚĹĘ × ÓĐÉÓËÁČ ËÁÔÁĚĎÇĎ×? mod_ls_fakemode=đĎÄÄĹĚŮ×ÁÔŘ ĐŇÁ×Á × ÓĐÉÓËÁČ ËÁÔÁĚĎÇĎ× mod_ls_nofake=îÁÓÔĎŃÝÉĹ ĐŇÁ×Á mod_ls_efakemode=đĎÄÄĹĚŘÎŮĹ ĐŇÁ×Á ÄĎĚÖÎŮ ÂŮÔŘ × ×ĎÓŘÍĹŇÉŢÎĎÍ ×ÉÄĹ mod_ls_dotfiles=đĎËÁÚŮ×ÁÔŘ × ÓĐÉÓËÁČ ĆÁĘĚŮ, ÎÁŢÉÎÁŔÝÉĹÓŃ Ó ÔĎŢËÉ "."? mod_ls_ls=äĎĐĎĚÎÉÔĹĚŘÎŮĹ ĎĐĂÉÉ ls mod_ls_els=îĹ ŐËÁÚÁÎŮ ÄĎĐĎĚÎÉÔĹĚŘÎŮĹ ĎĐĂÉÉ ls mod_ls_fakeasuser=äÁ, ËÁË ĐĎĚŘÚĎ×ÁÔĹĚŘ .. mod_ls_fakesameuser=đŇÉÓĎĹÄÉÎĹÎÎŮĘ ĐĎĚŘÚĎ×ÁÔĹĚŘ mod_ls_fakeasgroup=äÁ, ËÁË ÇŇŐĐĐÁ .. mod_ls_fakesamegroup=đŇÉÓĎĹÄÉÎĹÎÎÁŃ ÇŇŐĐĐÁ mod_ls_efakeuser=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ĐĎÄÄĹĚŘÎŮĘ ĐĎĚŘÚĎ×ÁÔĹĚŘ mod_ls_efakegroup=îĹ ŐËÁÚÁÎÁ ÉĚÉ ÎĹËĎŇŇĹËÔÎÁŃ ĐĎÄÄĹĚŘÎÁŃ ÇŇŐĐĐÁ mod_auth_chdir=îÁŢÁĚŘÎŮĘ ËÁÔÁĚĎÇ ŇĹÇÉÓÔŇÁĂÉÉ mod_auth_echdir=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ÎÁŢÁĚŘÎŮĘ ËÁÔÁĚĎÇ mod_auth_chroot=ďÇŇÁÎÉŢÉÔŘ ĐĎĚŘÚĎ×ÁÔĹĚĹĘ × ËÁÔÁĚĎÇÁČ mod_auth_home=äĎÍÁŰÎÉĘ ËÁÔÁĚĎÇ mod_auth_none=îĹÔ mod_auth_dir=ëÁÔÁĚĎÇ mod_auth_groups=çŇŐĐĐŮ Unix mod_auth_all=÷ÓĹ mod_auth_edir=îĹËĎŇŇĹËÔÎŮĘ ËÁÔÁĚĎÇ chroot mod_auth_egroups=îĹ ××ĹÄĹÎŮ ÇŇŐĐĐŮ Unix ÄĚŃ chroot mod_auth_echroot=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ËÁÔÁĚĎÇ chroot mod_auth_login=îĹ ÚÁĐŇÁŰÉ×ÁÔŘ ĐÁŇĎĚŘ, ĹÓĚÉ ŇĹÇÉÓÔŇÁĂÉŃ ÚÁĐŇĹÝĹÎÁ? mod_auth_root=ňÁÚŇĹŰÉÔŘ ŇĹÇÉÓÔŇÁĂÉŔ ÄĚŃ root? mod_site_chmod=ňÁÚŇĹŰÉÔŘ ËĎÍÁÎÄŐ chmod? mod_unixpw_ufile=áĚŘÔĹŇÎÁÔÉ×ÎŮĘ ĆÁĘĚ ĐÁŇĎĚĹĘ Unix mod_unixpw_eufile=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ÁĚŘÔĹŇÎÁÔÉ×ÎŮĘ ĆÁĘĚ ĐÁŇĎĚĹĘ Unix mod_unixpw_gfile=áĚŘÔĹŇÎÁÔÉ×ÎŮĘ ĆÁĘĚ ÇŇŐĐĐ Unix mod_unixpw_egfile=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ÁĚŘÔĹŇÎÁÔÉ×ÎŮĘ ĆÁĘĚ ÇŇŐĐĐ Unix mod_unixpw_none=îĹÔ mod_unixpw_pam=÷ÓĹÇÄÁ ×ĎÓĐŇÉÎÉÍÁÔŘ PAM ËÁË ÓŇĹÄÓÔ×Ď Á×ÔĎŇÉÚÁĂÉÉ? mod_unixpw_persist=äĹŇÖÁÔŘ ĆÁĘĚ ĐÁŇĎĚĹĘ ĐĎÓÔĎŃÎÎĎ ĎÔËŇŮÔŮÍ? mod_log_syslog=÷ĹÓÔÉ ÖŐŇÎÁĚ ĎŰÉÂĎË mod_log_sysdef=óÉÓÔĹÍÎŮĘ ÖŐŇÎÁĚ mod_log_esyslog=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ĆÁĘĚ ÖŐŇÎÁĚÁ mod_log_extended=ćÁĘĚŮ ÖŐŇÎÁĚÁ ĐĎĚŘÚĎ×ÁÔĹĚĹĘ mod_log_file=ćÁĘĚ ÖŐŇÎÁĚÁ mod_log_cmd=äĚŃ ËĎÍÁÎÄ FTP mod_log_nick=ćĎŇÍÁÔ ÖŐŇÎÁĚÁ mod_log_all=÷ÓĹ mod_log_ecmd=îĹ ŐËÁÚÁÎŮ ËĎÍÁÎÄŮ FTP mod_log_enick=îĹ ŐËÁÚÁÎĎ ÉĚÉ ÎĹËĎŇŇĹËÔÎĎĹ ÉÍŃ ĆĎŇÍÁÔÁ ÖŐŇÎÁĚÁ mod_log_ecmdnick=÷Ů ÄĎĚÖÎŮ ××ĹÓÔÉ ĆĎŇÍÁÔ ÖŐŇÎÁĚÁ ĐŇÉ ŐËÁÚÁÎÉÉ ÚÁÎĎÓÉÍŮČ × ÖŐŇÎÁĚ ËĎÍÁÎÄ mod_log_nickname=éÍŃ ĆĎŇÍÁÔÁ mod_log_fmt=óÔŇĎËÁ ĆĎŇÍÁÔÁ mod_log_format=đĎĚŘÚĎ×ÁÔĹĚŘÓËÉĘ ĆĎŇÍÁÔ ÖŐŇÎÁĚÁ mod_log_enickname=îĹ ŐËÁÚÁÎĎ ÉĚÉ ÎĹËĎŇŇĹËÔÎĎĹ ÉÍŃ ĆĎŇÍÁÔÁ ÖŐŇÎÁĚÁ mod_log_efmt=îĹ ŐËÁÚÁÎÁ ÓÔŇĎËÁ ĆĎŇÍÁÔÁ mod_pam_pam=éÓĐĎĚŘÚĎ×ÁÔŘ PAM ÄĚŃ ÁŐÔĹÎÔÉĆÉËÁĂÉÉ? mod_pam_config=đŇĎÉÚ×ĎÄÉÔŘ ÁŐÔĹÎÔÉĆÉËÁĂÉŔ Ó ĐĎÍĎÝŘŔ ÓĚŐÖ PAM mod_pam_econfig=îĹ ŐËÁÚÁÎ ÉĚÉ ÎĹËĎŇŇĹËÔÎŮĘ ÓĹŇ×ÉÓ PAM mod_readme_display=ő×ĹÄĎÍĚŃÔŘ ĐĎĚŘÚĎ×ÁÔĹĚŃ Ď ÓĎ×ĐÁÄĹÎÉÉ ĆÁĘĚĎ× readme mod_readme_none=îĹÔ mod_readme_edisplay=îĹ ŐËÁÚÁÎ ŰÁÂĚĎÎ ĆÁĘĚĎ× readme start_err=ďŰÉÂËÁ ĐŇÉ ÚÁĐŐÓËĹ ÓĹŇ×ĹŇÁ FTP start_einetd=÷Ů ÎĹ ÍĎÖĹÔĹ ÚÁĐŐÓÔÉÔŘ ÄĹÍĎÎ ÓĹŇ×ĹŇÁ × ŇĹÖÉÍĹ inetd. ftpaccess_title=ćÁĘĚÁ ĎĐĂÉĘ ÄĚŃ ËÁÖÄĎÇĎ ËÁÔÁĚĎÇÁ ftpaccess_desc=äĎĐĎĚÎÉÔĹĚŘÎŮĹ ĎĐĂÉÉ ÄĚŃ ËÁÖÄĎÇĎ ËÁÔÁĚĎÇÁ ÍĎÇŐÔ ÂŮÔŘ ŐËÁÚÁÎŮ × ĆÁĘĚĹ (ĎÂŮŢÎĎ ÎÁÚŮ×ÁĹÔÓŃ .ftpaccess) × ËÁÖÄĎÍ ËÁÔÁĚĎÇĹ. ďĐĂÉÉ ĐŇÉÍĹÎŃŔÔÓŃ ËĎ ×ÓĹÍ ĆÁĘĚÁÍ × ÜÔĎÍ ËÁÔÁĚĎÇĹ É ×Ď ×ÓĹČ ĐĎÄËÁÔÁĚĎÇÁČ, ĐĎËÁ ÎĹ ÂŐÄŐÔ ĐĹŇĹĎĐŇĹÄĹĚĹÎŮ ÄŇŐÇÉÍ ĆÁĘĚĎÍ ĐÁŇÁÍĹÔŇĎ×. ftpaccess_create=óĎÚÄÁÎÉĹ ĆÁĘĚÁ ĐÁŇÁÍĹÔŇĎ× ftpaccess_find=đĎÉÓË ĆÁĘĚÁ ĐÁŇÁÍĹÔŇĎ× ftpaccess_auto=ëÁË ÁÎĎÎÉÍÎŮĘ ftpaccess_from=éÚ ËÁÔÁĚĎÇÁ ftpaccess_return=ÓĐÉÓĎË ĆÁĘĚĎ× ĐÁŇÁÍĹÔŇĎ× ftpusers_title=úÁĐŇĹÝĹÎÎŮĹ ĐĎĚŘÚĎ×ÁÔĹĚÉ FTP ftpusers_desc=ĺÓĚÉ ×ËĚŔŢĹÎĎ ĐĎÄ ĐÉËÔĎÇŇÁÍÍĎĘ áŐÔĹÎÔÉĆÉËÁĂÉŃ, ÔĎ ĐĎĚŘÚĎ×ÁÔĹĚŃÍ ÉÚ ÓĐÉÓËÁ ÎÉÖĹ ÉÚ ĆÁĘĚÁ $1 ÂŐÄĹÔ ÚÁĐŇĹÝĹÎ ÄĎÓÔŐĐ ÎÁ ŇĹÇÉÓÔŇÁĂÉŔ ĐĎĚŘÚĎ×ÁÔĹĚŃ FTP. ftpindex_title=ćÁĘĚ ĎĐĂÉĘ ÄĚŃ ËÁÖÄĎÇĎ ËÁÔÁĚĎÇÁ ftpindex_delete=őÄÁĚĹÎÉĹ ĆÁĘĚÁ ftpindex_opts=ďĐĂÉÉ ÄĚŃ ËÁÖÄĎÇĎ ËÁÔÁĚĎÇÁ ftpindex_edit=ňĹÄÁËÔÉŇĎ×ÁÎÉĹ ÄÉŇĹËÔÉ× ftpindex_limit=ďĐĂÉÉ ÄĚŃ ËÁÖÄĎĘ ËĎÍÁÎÄŮ ftpindex_addlimit=äĎÂÁ×ÉÔŘ ĎĐĂÉÉ ÄĚŃ ËÁÖÄĎĘ ËĎÍÁÎÄŮ ÄĚŃ .. ftpindex_header2=$1 × $2 ftpindex_return=ĆÁĘĚ ĎĐĂÉĘ ÄĚŃ ËÁÖÄĎÇĎ ËÁÔÁĚĎÇÁ ftpindex_header=äĚŃ $1 find_err=ďŰÉÂËÁ ĐŇÉ ĐĎÉÓËĹ ĆÁĘĚĎ× ĐÁŇÁÍĹÔŇĎ× find_eanon=áÎĎÎÉÍÎŮĘ FTP ÎĹ ÎÁÓÔŇĎĹÎ ÎÉ ÎÁ ĎÄÎĎÍ ÉÚ ×ÉŇÔŐÁĚŘÎŮČ ÓĹŇ×ĹŇĎ× log_global=éÚÍĹÎĹÎŮ ĎÂÝÉĹ ĐÁŇÁÍĹÔŇŮ $1 log_ftpusers=éÚÍĹÎĹÎŮ ÚÁĐŇĹÝĹÎÎŮĹ ĐĎĚŘÚĎ×ÁÔĹĚÉ FTP log_virtc=éÚÍĹÎĹÎ ÓĹŇ×ĹŇ $1 log_virts=đĹŇĹÎÁÓÔŇĎĹÎ ÓĹŇ×ĹŇ $1 log_virtd=őÄÁĚĹÎ ÓĹŇ×ĹŇ $1 log_virtm=÷ŇŐŢÎŐŔ ĎÔŇĹÄÁËÔÉŇĎ×ÁÎ ÓĹŇ×ĹŇ $1 log_virt=éÚÍĹÎĹÎ $1 ÎÁ ÓĹŇ×ĹŇĹ $2 log_dirc=éÚÍĹÎĹÎ ËÁÔÁĚĎÇ $1 log_dirc_l=óĎÚÄÁÎ ËÁÔÁĚĎÇ $1 ÎÁ ÓĹŇ×ĹŇĹ $2 log_dirs=éÚÍĹÎĹÎ ËÁÔÁĚĎÇ $1 log_dirs_l=éÚÍĹÎĹÎ ËÁÔÁĚĎÇ $1 ÎÁ ÓĹŇ×ĹŇĹ $2 log_dird=őÄÁĚĹÎ ËÁÔÁĚĎÇ $1 log_dird_l=őÄÁĚĹÎ ËÁÔÁĚĎÇ $1 ÎÁ ÓĹŇ×ĹŇĹ $2 log_dirm=÷ŇŐŢÎŐŔ ĎÔŇĹÄÁËÔÉŇĎ×ÁÎ ËÁÔÁĚĎÇ $1 log_dirm_l=÷ŇŐŢÎŐŔ ĎÔŇĹÄÁËÔÉŇĎ×ÁÎ ËÁÔÁĚĎÇ $1 ÎÁ ÓĹŇ×ĹŇĹ $2 log_dir=éÚÍĹÎĹÎ $1 × ËÁÔÁĚĎÇĹ $2 log_dir_l=éÚÍĹÎĹÎ $1 × ËÁÔÁĚĎÇĹ $2 ÎÁ ÓĹŇ×ĹŇĹ $3 log_limitc=óĎÚÄÁÎŮ ĎĐĂÉÉ ÄĚŃ ËÁÖÄĎĘ ËĎÍÁÎÄŮ ÄĚŃ $1 log_limits=đĹŇĹÎÁÓÔŇĎĹÎŮ ĎĐĂÉÉ ÄĚŃ ËÁÖÄĎĘ ËĎÍÁÎÄŮ ÄĚŃ $1 log_limitd=őÄÁĚĹÎŮ ĎĐĂÉÉ ÄĚŃ ËÁÖÄĎĘ ËĎÍÁÎÄŮ ÄĚŃ $1 log_limitm=÷ŇŐŢÎŐŔ ĎÔŇĹÄÁËÔÉŇĎ×ÁÎŮ ĎĐĂÉÉ ÄĚŃ ËÁÖÄĎĘ ËĎÍÁÎÄŮ ÄĚŃ $1 log_limit=éÚÍĹÎĹÎŮ $1 × ĎĐĂÉĘ ÄĚŃ ËÁÖÄĎĘ ËĎÍÁÎÄŮ ÄĚŃ $2 log_ftpaccessc=óĎÚÄÁÎ ĆÁĘĚ ĎĐĂÉĘ $1 log_ftpaccessd=őÄÁĚĹÎ ĆÁĘĚ ĎĐĂÉĘ $1 log_ftpaccessm=÷ŇŐŢÎŐŔ ĎÔŇĹÄÁËÔÉŇĎ×ÁÎ ĆÁĘĚ ĎĐĂÉĘ $1 log_ftpaccess=éÚÍĹÎĹÎŮ $1 × ĆÁĘĚĹ ĎĐĂÉĘ $2 log_start=úÁĐŐÝĹÎ proftpd log_apply=đŇÉÍĹÎĹÎŮ ÉÚÍĹÎĹÎÉŃ proftpd/lang/zh_CN0100664000567100000120000003062307630064656014104 0ustar jcameronwheelindex_title=ProFTPD ˇţÎńĆ÷ index_eproftpd=ÔÚÄúľÄϾͳÖĐδŐŇľ˝ProFTPD ˇţÎńĆ÷ $1ĄŁżÉÄÜÉĐδ°˛×°ŁŹťňŐßÄŁżéĹäÖòťŐýȡĄŁ index_eproftpd2=ProFTPD ˇţÎńĆ÷ÖĐËĆşőĂťÓĐłĚĐň$1ĄŁżÉÄÜÉĐδ°˛×°ŁŹťňŐßÄúľÄÄŁżéĹäÖòťŐýȡĄŁ index_eversion=Webmin ˛ťÖ§łÖ¸Ă°ćąžľÄProFTPD $1ŁŹËüÖťÖ§łÖ0.99ťňŇÔÉϰ湞ĄŁ index_econf=WebminĹäÖĂÎÄźţ$1˛ť´ćÔÚťňÎŢЧĄŁżÉÄÜÄúľÄÄŁżéĹäÖòťŐýȡĄŁ index_apply=ÓŚÓøü¸Ä index_applymsg=ľăť÷¸Ă°´ĹĽÍ¨šý¸řŐýÔÚÔËĐĐľÄProFTPD łĚĐňˇ˘ËÍSIGHUPĐĹşĹÓŚÓĂľąÇ°ľÄĹäÖĂĄŁ index_start=ĆôśŻˇţÎńĆ÷ index_startmsg=ľăť÷¸Ă°´ĹĽŇÔľąÇ°ľÄĹäÖĂŔ´ĆôśŻFTPˇţÎńĆ÷ĄŁČôĐčŇŞľÄť°ŁŹÄúҲżÉŇÔĘšÓĂInternet ˇţÎńÄŁżé˝ŤˇţÎńĆ÷ĹäÖĂÎŞ×ÔśŻĆôśŻĄŁ index_startmsg2=ľăť÷¸Ă°´ĹĽŇÔľąÇ°ľÄĹäÖĂŔ´ĆôśŻFTPˇţÎńĆ÷ĄŁČôĐčŇŞľÄť°ŁŹÄúҲżÉĘšÓĂinetdťňijЊ͏ľČłĚĐň˝ŤˇţÎńĆ÷ĹäÖĂłÉÎŞ×ÔśŻĆôśŻĄŁ index_return=Ö÷˛ËľĽ index_virts=ĐéÄâˇţÎńĆ÷ index_virt=ĐéÄâˇţÎńĆ÷ index_type=ˇţÎńĆ÷ŔŕĐÍ index_addr=ľŘÖˇ index_name=ˇţÎńĆ÷ĂűłĆ index_port=FTPśËżÚ index_defserv=ÄŹČϡţÎńĆ÷ index_defdesc=´ŚŔíδÓëĐéÄâˇţÎńĆ÷ÁŹ˝ÓľÄFTPÁŹ˝Ó index_any=ČκΠindex_vdesc=˝ŤËůÓĐÁŹ˝Ó´ŚŔíÖÁ$1 index_eip=<Unknown> index_global=ČŤžÖĹäÖĂ index_create=´´˝¨ĐéÄâˇţÎńĆ÷ index_version=ProFTPd°ćąž$1 efailed=Îޡ¨ąŁ´ć$1 type_0=ÍřÂçŃĄĎî type_1=ľÇŸѥĎî type_2=ÎÄźţşÍĿŸ type_3=ˇĂÎĘżŘÖĆ type_4=ÔÓĎî type_5=ÓĂť§şÍ×é type_6=ŃéÖ¤ virt_title=ĐéÄâˇţÎńĆ÷ŃĄĎî virt_header1=śÔÓÚ$1 virt_header2=śÔÓÚÄŹČϡţÎńĆ÷ virt_header3=$1ŃĄĎî virt_anon=ÄäĂűÎÄźţ´ŤËÍĐ­Ňé virt_header=Ăż¸öĿŸşÍĂż¸öĂüÁîŃĄĎî virt_dir=ĿŸ$1 virt_limit=ĂüÁî$1 virt_adddir=ÎŞ..ĐÂÔöĂż¸öĿŸѥĎî virt_addlimit=ÎŞ..ĐÂÔöĂż¸öĂüÁîŃĄĎî virt_path=ĿŸ¡žś virt_cmds=FTPĂüÁî virt_return=ĐéÄâˇţÎńĆ÷ virt_virt=ĹäÖĂĐéÄâˇţÎńĆ÷ virt_edit=ąŕź­ÄżÂź vserv_title=ĹäÖĂĐéÄâˇţÎńĆ÷ vserv_addr=ľŘÖˇ vserv_name=ˇţÎńĆ÷ĂűłĆ vserv_port=FTPśËżÚ vserv_delete=ÉžłýĐéÄâˇţÎńĆ÷ vserv_eaddr=δĘäČëľŘÖˇťňÎŢЧľÄľŘÖˇ vserv_eport=δĘäČëśËżÚşĹťňÎŢЧľÄśËżÚşĹ vserv_ename=δĘäČëˇţÎńĆ÷ĂűłĆ anon_title=ÄäĂűFTPŃĄĎî anon_header1=ÔÚĐéÄâˇţÎńĆ÷$1ÖĐ anon_header2=ÔÚÄŹČϾġţÎńĆ÷ÖĐ anon_anon=ĹäÖĂÄäĂűFTP anon_return=ÄäĂűFTPŃĄĎî anon_header3=śÔÓÚĐéÄâˇţÎńĆ÷$1ÖĐľÄÄäĂűFTP anon_header4=śÔÓÚÄŹČϡţÎńĆ÷ÖĐľÄÄäĂűFTP aserv_title=ĹäÖĂÄäĂűFTP aserv_create=ÉčÖĂÄäĂűFTP aserv_root=ChrootĿŸ aserv_user=ŇÔÓĂť§ľÄÉíˇÝ˛éż´ÎÄźţ aserv_group=ŇÔ×éľÄÉíˇÝ˛éż´ÎÄźţ aserv_err=Îޡ¨ąŁ´ćÄäĂűFTP aserv_eroot=δĘäČëťňÎŢЧľÄchrootĿŸ aserv_euser=δĘäČëťňÎŢЧľÄUnixÓĂť§ aserv_egroup=δĘäČëťňÎŢЧľÄUnix×é aserv_desc=ĂťÓĐÎŞąžĐéÄâˇţÎńĆ÷ÉčÖĂľÄÄäĂűFTPĄŁÇëĘšÓĂ´ËąíŔ´É蜨łőĘźľÄĹäÖĂŃĄĎ dir_title=Ăż¸öĿŸѥĎî dir_header2=śÔÓÚÄŹČϡţÎńĆ÷ÖĐľÄĿŸ$1 dir_header1=śÔÓÚĐéÄâˇţÎńĆ÷$2ÖĐľÄĿŸ$1 dir_edit=ąŕź­ÄżÂź dir_return=Ăż¸öĿŸѥĎî dir_header3=$2ÖĐľÄ$1ŃĄĎî dir_header=Ăż¸öĂüÁîŃĄĎî dir_dir=ĹäÖĂĿŸ dir_header4=śÔÓÚÄäĂűFTPľÄĿŸ$1 manual_title=ąŕź­ÄżÂź manual_header=ÇëĘšÓĂĎÂĂćľÄÎÄ×ÖżňŁŹĘÖš¤ąŕź­$1ÖĐÓŚÓĂÓÚąžˇţÎńĆ÷Ą˘ÄżÂźťňĂüÁîľÄProFTPDĿŸĄŁ limit_title=Ăż¸öĂüÁîŃĄĎî limit_header4=śÔÓÚĿŸ$2ÖĐľÄĂüÁî$1 limit_header2=śÔÓÚÄŹČϡţÎńĆ÷ÖĐľÄĂüÁî$1 limit_header1=śÔÓÚĐéÄâˇţÎńĆ÷$2ÖĐľÄĂüÁî$1 limit_edit=ąŕź­ÄżÂź limit_limit=ĹäÖĂĂüÁî limit_header3=ĂüÁî$2ľÄ$1ŃĄĎî limit_return=Ăż¸öĂüÁîŃĄĎî limit_header5=śÔÓÚÄäĂűFTPÖĐľÄĂüÁî$1 limit_header6=śÔÓÚÎÄźţ$2ÖĐľÄĂüÁî$1 lserv_title=ĹäÖĂĂüÁî lserv_cmd=FTPĂüÁî lserv_delete=ÉžłýĂüÁîĹäÖĂ lserv_err=Îޡ¨ąŁ´ćĂüÁî lserv_ecmd=δѥÔńĂüÁî dserv_title=ĹäÖĂĿŸ dserv_dir=ĿŸ¡žś dserv_err=Îޡ¨ąŁ´ćĿŸ dserv_edir=δĘäČëĿŸ¡žś dserv_delete=ÉžłýĿŸĹäÖĂ mod_core_type=ˇţÎńĆ÷ŔŕĐÍ mod_core_inetd=´ÓInetdÔËĐĐ mod_core_stand=śŔÁ˘ľÄĘŘť¤˝řłĚ mod_core_port=źŕĚýśËżÚ mod_core_eport=δĘäČëťňÎŢЧľÄśËżÚşĹ mod_core_servername=ĎňÓĂť§ĎÔĘžľÄˇţÎńĆ÷ĂűłĆ mod_core_eservername=δĘäČëˇţÎńĆ÷ĂűłĆ mod_core_defaultserver=ĘšÓĂÄŹČĎľÄĐéÄâˇţÎńĆ÷ mod_core_instances=×î´óľÄÍŹĆÚśÔť°Ęý mod_core_einstances=δĘäČëťňÎŢЧľÄśÔť°Ęý mod_core_umask=ĐÂÎÄźţumask mod_core_eumask=δĘäČëťňÎŢЧľÄumask mod_core_user=ŇÔUnixÓĂť§ľÄÉíˇÝŔ´ÔËĐĐ mod_core_uname=ÓĂť§Ăű mod_core_uid=UID mod_core_group=ŇÔUnix×éľÄÉíˇÝÔËĐĐ mod_core_gname=×éĂű mod_core_gid=GID mod_core_tlog=FTP´ŤĘäČŐÖžÎÄźţ mod_core_etlog=δĘäČëťňÎŢЧľÄ´ŤĘäČŐÖžÎÄźţ mod_core_accessdeny=ľÇŸʧ°ÜĐĹϢ mod_core_accessgrant=ľÇÂźłÉšŚĐĹϢ mod_core_adall=ˇĂÎĘżŘÖƲßÂÔ mod_core_addefault=ÓëĎŕÍŹŁżŁż mod_core_allowall=ÔĘĐíËůÓоĿ͝§śË mod_core_denyall=žÜžřËůÓоĿ͝§śË mod_core_filter=ÔĘĐíFTPĂüÁîŐýÔňąí´ďĘ˝ mod_core_foreign=ÔĘĐíÍâŔ´ľÄĘýžÝ´ŤĘäÂ𣿠mod_core_overwrite=ÔĘĐíÖŘĐ´ÎÄźţÂ𣿠mod_core_restart=ÔĘĐíÖŘĐÂĆôśŻĎÂÔŘÂ𣿠mod_core_restart2=ÔĘĐíÖŘĐÂĆôśŻÉĎÔŘÂ𣿠mod_core_require=ÄäĂűľÇŸʹĐčŇŞżÚÁîÂ𣿠mod_core_anongroup=×齍łÉÔąľą×÷ÄäĂűÓĂť§ mod_core_eanongroup=δĘäČëÄäĂű×é mod_core_authalias=ÖťÔĘĐíąđĂűÓĂť§ľÇÂźÂ𣿠mod_core_authusingalias=ÄäĂűľÇÂźżÉĘšÓĂąđĂűżÚÁîÂ𣿠mod_core_bind=Ôźś¨ľŘÖˇ mod_core_bind_all=ËůÓĐľŘÖˇ mod_core_ebind=δĘäČëťňÎŢЧľÄÔźś¨ľŘÖˇ mod_core_cdpath=šâĹĚĿŸľÄ˝Ýžś mod_core_classes=ĆôśŻˇĂÎĘżŘÖĆľÄŔŕąđÂ𣿠mod_core_cls=ˇĂÎĘżŘÖĆŔŕąđ mod_core_cname=ŔŕąđĂű mod_core_ctype=ŔŕĐÍşÍÖľ mod_core_climit=×î´óÁŹ˝ÓĘý mod_core_cregex=żÍť§śËÖ÷ťúĆĽĹä mod_core_cip=żÍť§śËIPÍřÂç/CIDR mod_core_eclimit=δĘäČëťňÎŢЧľÄ×î´óÁŹ˝ÓĘý mod_core_ecregex=δĘäČëżÍť§śËÖ÷ťúĂűĆĽĹä mod_core_ecip=δĘäČëťňÎŢЧľÄżÍť§IPÍřÂç/ CIDR mod_core_buffer=×î´óFTPĂüÁśČ mod_core_ebuffer=δĘäČëťňÎŢЧľÄ×î´óĂüÁśČ mod_core_transfer=ÄŹČĎ´ŤĘäÄŁĘ˝ mod_core_binary=śţ˝řÎť mod_core_ascii=ASCII mod_core_defer=ľÇÂźÖŽşóÔŮłöĎÖťśÓ­ŇłŁż mod_core_aborted=ĘǡńÉžłýʧ°ÜľÄÉĎÔŘŁż mod_core_dfilter=žÜžřFTP ĂüÁî regexp mod_core_display=ľÇŸǰľÄĐĹϢÎÄźţ mod_core_none=ÎŢ mod_core_edisplay=ČąÉŮľÇŸǰľÄĐĹϢÎÄźţ mod_core_firstcd=READMEÎÄźţĂűľÄĿŸ mod_core_efirstcd=ČąÉŮREADMEÎÄźţĂűĿŸ mod_core_goaway=ĐíśŕÁŹ˝ÓĐĹϢÎÄźţ mod_core_egoaway=ČąÉŮĐíśŕÁŹ˝ÓÎÄźţ mod_core_login=ľÇÂźÖŽşóľÄĐĹϢÎÄźţ mod_core_elogin=ČąÉŮľÇÂźÖŽşóľÄĐĹϢÎÄźţ mod_core_quit=ľÇłöĘąľÄĐĹϢÎÄźţ mod_core_equit=ČąÉپdzöĘąľÄĐĹϢÎÄźţ mod_core_gowner=ÉĎÔŘÎÄźţľÄ×é mod_core_egowner=δĘäČëťňÎŢЧľÄÉĎÔŘÎÄźţľÄ×é mod_core_grouppassword=×éżÚÁî mod_core_gpname=Unix×é mod_core_gppass=żÚÁî mod_core_gpdef=ąŁÁôÔ­ÓĐľÄ mod_core_egpname=ÎŢЧľÄUnix×éĂű mod_core_hstor=Ňţ˛ŘÉĎÔŘÎÄźţÂđ? mod_core_hgroup=Ňţ˛ŘĘôÓÚ×éľÄÎÄźţ mod_core_ehgroup=ÎŢЧľÄŇŞŇţ˛ŘÎÄźţľÄ×éĂű mod_core_hnoaccess=Îޡ¨ˇĂÎĘľÄŇţ˛ŘÎÄźţŁż mod_core_huser=Ňţ˛ŘĘôÓÚÓĂť§ľÄÎÄźţ mod_core_ehuser=ÎŢЧľÄŇŞŇţ˛ŘÎÄźţľÄÓĂť§Ăű mod_core_ident=˛éŐŇÔśśËIdentÓĂť§ĂűŁż mod_core_ihidden=ĘšŇţ˛ŘÎÄźţżÉˇĂÎĘŁż mod_core_masq=Îą×°łÉľŘÖˇ mod_core_masq_def=ĘšÓĂŐćĘľľÄľŘÖˇ mod_core_emasq=δĘäČëťňÎŢЧľÄÎą×°ľŘÖˇ mod_core_maxc=×î´óľÄÍŹĆÚľÇÂźĘý mod_core_maxc1=˛ťĎŢ mod_core_maxcmsg=ľÇÂź´íÎóĐĹϢ mod_core_emaxc=δĘäČëťňÎŢЧľÄ×î´óľÇÂźĘý mod_core_maxch=Ăż¸öÖ÷ťú×î´óľÄÍŹĆÚľÇÂźĘý mod_core_maxcu=Ăż¸öÓĂť§×î´óľÄÍŹĆÚľÇÂźĘý mod_core_logins=Ăż´ÎśÔť°×î´óľÄʧ°ÜľÇÂź´ÎĘý mod_core_elogins=δĘäČëťňÎŢЧľÄʧ°ÜľÇÂź´ÎĘý mod_core_rfc2228=ˇ˘ËÍRFC2228ˇ˝Ę˝ľÄˇ´ŔĄŁż mod_core_pasv=PASVśËżÚˇśÎ§ mod_core_pasvr=×îĐĄ - ×î´ó mod_core_epasv=δĘäČëťňÎŢЧľÄPASVśËżÚĘý mod_core_pathallow=ÔĘĐíÉĎÔŘľÄÎÄźţĂűregex mod_core_any=ČκΠmod_core_pathdeny=žÜžřÉĎÔŘľÄÎÄźţĂűregex mod_core_pidfile=˝ŤPIDĐ´ČëÎÄźţ mod_core_epidfile=δĘäČëťňÎŢЧľÄPIDÎÄźţ mod_core_shell=˝öÔĘĐí´řÓĐÓĐЧľÄshellľÄÓĂť§ľÇÂźŁż mod_core_cpulimit=CPUÔ´ĎŢÖĆ mod_core_ecpulimit=CPUÔ´ĎŢÖĆ mod_core_memlimit=ÄÚ´ćÔ´ĎŢÖĆ mod_core_ememlimit=ÄÚ´ćÔ´ĎŢÖĆ mod_core_filelimit= mod_core_efilelimit=´ňżŞÎÄźţĎŢÖĆ mod_core_soft=ČíĐÔĎŢÖĆŁş mod_core_hard=Ó˛ĐÔĎŢÖĆŁş mod_core_max=×î´óÖľ mod_core_esoft=δĘäČëťňÎŢЧľÄČíĐÔ$1 mod_core_ehard=δĘäČëťňÎŢЧľÄÓ˛ĐÔ$1 mod_core_score=scoreboardĿŸľÄ¡žś mod_core_escore=δĘäČëťňÎŢЧľÄscoreboardĿŸľÄ¡žś mod_core_admin=ˇţÎńĆ÷šÜŔíÔąľÄÓĘźţľŘÖˇ mod_core_eadmin=δĘäČëťňÎŢЧľÄÓĘźţľŘÖˇ mod_core_identmsg=żÍť§śËÁŹ˝ÓĐĹϢ mod_core_identmsg_def=ĎÔʞďČĎĐĹϢ mod_core_links=ĎÔĘžˇűşĹÁŹ˝ÓŁż mod_core_tight=˝öÁŹ˝ÓÖÁĐčŇŞľÄśËżÚÉĎŁż mod_core_facility=ϾͳČŐÖžš¤žß mod_core_level=ϾͳČŐÖžľČźś mod_core_backlog=TCP´ý°ěśÓÁĐł¤śČ mod_core_ebacklog=δĘäČëťňÎŢЧľÄ´ý°ěśÓÁĐł¤śČ mod_core_nodelay=ĘšÓĂTCP_NODELAY˛ĺ˛ŰŃĄĎ mod_core_rwindow=TCP˝ÓĘŐĘÓ´°´óĐĄ mod_core_erwindow=δĘäČëťňÎŢЧľÄ˝ÓĘŐĘÓ´°´óĐĄ mod_core_swindow=TCPˇ˘ËÍĘÓ´°´óĐĄ mod_core_eswindow=δĘäČëťňÎŢЧľÄˇ˘ËÍĘÓ´°´óĐĄ mod_core_gmt=ŇÔ¸ńÁÖÍţÖÎąęןʹźäľÄĎÔĘž´ÎĘýŁż mod_core_tidle=δÁŹ˝Ó֎ǰľÄżŐĎĐĘąźä mod_core_etidle=δĘäČëťňÎŢЧľÄżŐĎĐĘąźä mod_core_secs=Ăë mod_core_tlogin=ľČ´ýŃéÖ¤ľÄĘąźä mod_core_etlogin=δĘäČëťňÎŢЧľÄŃé֤ʹźä mod_core_ttransfer=ľČ´ýľÚŇť´Î´ŤĘäľÄĘąźä mod_core_ettransfer=δĘäČëťňÎŢЧľÄľÚŇť´Î´ŤĘäĘąźä mod_core_tstalled=ľČ´ýŃӳپÄĘýžÝ´ŤĘäľÄĘąźä mod_core_etstalled=δĘäČëťňÎŢЧľÄŃӳٴŤĘäĘąźä mod_core_ftpusers=žÜžř/etc/ftpusersÎÄźţÖĐľÄÓĂť§ mod_core_hostsallow=ľĂľ˝ÔĘĐíÖ÷ťúľÄÎÄźţ mod_core_ehostsallow=ľĂľ˝ÔĘĐíÖ÷ťúľÄÎÄźţ˛ť´ćÔÚ mod_core_hostsdeny=žÜžřÖ÷ťúľÄÎÄźţ mod_core_ehostsdeny=žÜžřÖ÷ťúľÄÎÄźţ˛ť´ćÔÚ mod_core_revdns=DNSÄćĎň˛éŐҿ͝§śËľÄľŘÖˇÂ𣿠mod_core_userdir=ChrootÓĂť§ľÄ×ÓÄżÂźŁż mod_core_ualias=ÓĂť§ąđĂű mod_core_afrom=ľÇÂźÓĂť§Ăű mod_core_ato=ŐćĘľÓĂť§Ăű mod_core_eafrom=ÎŢЧľÄľÇÂźÓĂť§ąđĂű mod_core_eato=δĘäČëťňÎŢЧľÄŐćĘľÓĂť§ąđĂű mod_core_uowner=ÉĎÔŘÎÄźţľÄËůÓĐŐß mod_core_euowner=δĘäČëťňÎŢЧľÄÉĎÔŘÎÄźţľÄËůÓĐŐß mod_core_userpassword=¸˛¸ÇÓĂť§żÚÁî mod_core_upname=UnixÓĂť§ mod_core_uppass=żÚÁî mod_core_updef=ąŁÁôÔ­ÓĐľÄ mod_core_eupname=ÎŢЧUnixÓĂť§Ăű mod_core_wtmp=ÔÚwtmpÖĐźÇÂźľÇÂźŁż mod_core_allow_deny=ĎŢÖơĂÎĘ mod_core_allowdeny=ÔĘĐíČťşóžÜžř mod_core_denyallow=žÜžřČťşóÔĘĐí mod_core_allow=ÔĘĐí mod_core_deny=žÜžř mod_core_mode_0=ËůÓĐ mod_core_mode_1=ÎŢ mod_core_mode_2=IPľŘÖˇ mod_core_mode_3=ÍřÂç mod_core_mode_4=Ö÷ťúĂű mod_core_cond=Ěőźţ mod_core_action=śŻ×÷ mod_core_agroup=˝öÔĘĐí×é mod_core_auser=˝öÔĘĐíÓĂť§ mod_core_all=ËůÓĐ mod_core_dgroup=žÜžř×é mod_core_duser=žÜžřÓĂť§ mod_core_eip='$1'˛ťĘÇŇť¸öÓĐЧľÄIPľŘÖˇ mod_core_enet='$1'˛ťĘÇŇť¸öÓĐЧľÄÍřÂçľŘÖˇ mod_core_ehost='$1'˛ťĘÇŇť¸öÓĐЧľÄÖ÷ťúĂű mod_ls_fakegroup=ĿŸÁĐąíÖоğŮ×飿 mod_ls_fakeuser=ĿŸÁĐąíÖоğŮÓĂť§Łż mod_ls_fakemode=ĿŸÁĐąíÖоğŮĐíżÉŁż mod_ls_nofake=ŐćĘľľÄĐíżÉ mod_ls_efakemode=źŮĐíżÉąŘĐëĘǰ˽řÖĆľÄ mod_ls_dotfiles=ÔÚÁĐąíÖĐĎÔĘžŇÔ'.'żŞÍˇľÄÎÄźţŁż mod_ls_ls=¸˝źÓľÄlsŃĄĎî mod_ls_els=δĘäČ븽źÓľÄlsŃĄĎî mod_auth_chdir=łőĘźľÇŸĿŸ mod_auth_echdir=δĘäČëťňÎŢЧľÄłőʟĿŸ mod_auth_chroot=ChrootĿŸ mod_auth_dir=ĿŸ mod_auth_groups=Unix×é mod_auth_all=Ăż¸öČË mod_auth_edir=ÎŢЧľÄchrootĿŸ mod_auth_egroups=δĘäČëŇŞchrootľÄUnix×é mod_auth_echroot=δĘäČëťňÎŢЧľÄchrootĿŸ mod_auth_login=ČçšűľÇÂźąťžÜžřŁŹ˛ťŃŻÎĘżÚÁîÂ𣿠mod_auth_root=ÔĘĐíŇÔrootľÇÂźÂ𣿠mod_site_chmod=ÔĘĐíchmodĂüÁ mod_unixpw_ufile=Ô¤ą¸ľÄUnixżÚÁîÎÄźţ mod_unixpw_eufile=δĘäČëťňÎŢЧľÄUnixżÚÁîÎÄźţ mod_unixpw_gfile=Ô¤ą¸ľÄUnix×éÎÄźţ mod_unixpw_egfile=δĘäČëťňÎŢЧľÄUnix×éÎÄźţ mod_unixpw_none=ÎŢ mod_unixpw_pam=Ăż´Îśź˝ŤPAMľą×÷authorativeŁż mod_unixpw_persist=ÓŔžĂżŞˇĹżÚÁîÎÄźţŁż mod_log_syslog=˝Ť´íÎóźÇÂźÖÁÎÄźţÖĐ mod_log_sysdef=ϾͳČŐÖž mod_log_esyslog=δĘäČëťňÎŢЧľÄČŐÖžÎÄźţ mod_log_extended=×Ôś¨ŇĺČŐÖžÎÄźţ mod_log_file=ČŐÖžÎÄźţ mod_log_cmd=ÓĂÓÚFTPĂüÁî mod_log_nick=ČŐÖž¸ńĘ˝ mod_log_all=ËůÓĐ mod_log_ecmd=δĘäČëFTPĂüÁî mod_log_enick=δĘäČëťňÎŢЧľÄČŐÖž¸ńĘ˝Ăű mod_log_ecmdnick=ÔÚÖ¸ś¨ŇŞźÇÂźľÄĂüÁîĘąŁŹÄúąŘĐëĘäČëČŐÖž¸ńĘ˝ mod_log_nickname=¸ńĘ˝ĂűłĆ mod_log_fmt=¸ńĘ˝×Öˇű´Ž mod_log_format=×Ôś¨ŇĺČŐÖž¸ńĘ˝ mod_log_enickname=δĘäČëťňÎŢЧľÄ¸ńĘ˝Ăű mod_log_efmt=δĘäČë¸ńĘ˝×Öˇű´Ž mod_pam_pam=ÓĂPAMŔ´ŃéÖ¤Łż mod_pam_config=ĘšÓĂť§PAMˇţÎńŔ´ŃéÖ¤ mod_pam_econfig=δĘäČëťňÎŢЧľÄPAMˇţÎń mod_readme_display=֪ͨÓĂť§ĆĽĹäľÄreadmeÎÄźţ mod_readme_none=ÎŢ mod_readme_edisplay=δĘäČëreadmeÎÄźţÄŁĘ˝ start_err=ĆôśŻFTPˇţÎńĆ÷ʧ°Ü start_einetd=ÄúÎޡ¨ÔÚinetdÄŁĘ˝ÖĐĆôśŻˇţÎńĆ÷ľÄĘŘť¤łĚĐňĄŁ ftpaccess_title=Ăż¸öĿŸѥĎîÎÄźţ ftpaccess_desc=ÔÚĂż¸öĿŸÖĐľÄŇť¸öÎÄźţÖĐŁ¨Í¨łŁłĆ×÷.ftpaccessŁŠżÉŇÔÖ¸ś¨¸˝źÓľÄĂż¸öĿŸѥĎ¸ĂŃĄĎîżÉÓŚÓĂÖÁ´ËĿŸşÍĆä×ÓĿŸĎÂľÄËůÓĐÎÄźţŁŹłýˇÇËüąťĆäËűľÄŃĄĎîÎÄźţ¸˛¸ÇĄŁ ftpaccess_create=´´˝¨ŃĄĎîÎÄźţ ftpaccess_find=ѰŐŇŃĄĎîÎÄźţ ftpaccess_auto=ŇÔÄäĂűľÄĐÎĘ˝ ftpaccess_from=´ÓĿŸ ftpaccess_return=ŃĄĎîÎÄźţÁĐąí ftpusers_title=žÜžřFTPÓĂť§ ftpusers_desc=ČçšűÔÚŃé֤͟ąęĎÂĆôśŻŁŹ¸ĂÎÄźţ$1ÔÚĎÂĂćÁĐłöľÄÓĂť§ľÇÂźˇĂÎĘFTPÓĂť§ľÄȨĎŢ˝ŤťáąťžÜžřĄŁ ftpindex_title=Ăż¸öĿŸѥĎîÎÄźţ ftpindex_delete=ÉžłýÎÄźţ ftpindex_opts=ÿ¡ĿŸѥĎî ftpindex_edit=ąŕź­ÄżÂź ftpindex_limit=Ăż¸öĂüÁîŃĄĎî ftpindex_addlimit=ÎŞ..ĐÂÔöĂż¸öĂüÁîŃĄĎî ftpindex_header2=$2ÖĐľÄ$1 ftpindex_return=Ăż¸öĿŸѥĎîÎÄźţ ftpindex_header=ÓĂÓÚ$1 find_err=ѰŐŇŃĄĎîÎÄźţʧ°Ü find_eanon=ĂťÓĐÔÚČÎşÎĐéÄâˇţÎńĆ÷ÉĎÉčÖĂÄäĂűFTP log_global=¸ü¸ÄČŤžÖ$1ŃĄĎî log_ftpusers=¸ü¸ÄąťžÜľÄFTPÓĂť§ log_virtc=´´˝¨ˇţÎńĆ÷$1 log_virts=ÖŘĐÂĹäÖáţÎńĆ÷$1 log_virtd=ÉžłýˇţÎńĆ÷$1 log_virtm=ĘÖš¤ąŕź­ˇţÎńĆ÷$1 log_virt=¸ü¸ÄˇţÎńĆ÷$2ÖĐľÄ$1 log_dirc=´´˝¨ÄżÂź$1 log_dirc_l=´´˝¨ˇţÎńĆ÷$2ÉĎľÄĿŸ$1 log_dirs=¸ü¸ÄĿŸ$1 log_dirs_l=¸ü¸ÄˇţÎńĆ÷$2ÖĐľÄĿŸ$1 log_dird=ÉžłýĿŸ$1 log_dird_l=ÉžłýˇţÎńĆ÷$2ÖĐľÄĿŸ$1 log_dirm=ĘÖš¤ąŕź­ÄżÂź$1 log_dirm_l=ĘÖš¤ąŕź­ˇţÎńĆ÷$2ÖĐľÄĿŸ$1 log_dir=¸ü¸ÄĿŸ$2ÖĐľÄ$1 log_dir_l=¸ü¸ÄˇţÎńĆ÷$3ÉĎĿŸ$2ÖĐľÄ$1 log_limitc=´´˝¨ÓĂÓÚ$1ľÄĂż¸öĂüÁîŃĄĎî log_limits=ÖŘĐÂĹäÖĂÓĂÓÚ$1Ăż¸öĂüÁîŃĄĎî log_limitd=ÉžłýÓĂÓÚ$1Ăż¸öĂüÁîŃĄĎî log_limitm=ĘÖš¤ąŕź­ÓĂÓÚ$1ľÄĂż¸öĂüÁîŃĄĎî log_limit=¸ü¸ÄÔÚĂż¸öĂüÁîŃĄĎÓĂÓÚ$2ľÄ$1 log_ftpaccessc=´´˝¨ŃĄĎîÎÄźţ$1 log_ftpaccessd=ÉžłýŃĄĎîÎÄźţ$1 log_ftpaccessm=ĘÖš¤ąŕź­ŃĄĎîÎÄźţ$1 log_ftpaccess=¸ü¸ÄŃĄĎîÎÄźţ$2ÖĐľÄ$1 log_start=ĆôśŻproftpd log_apply=ÓŚÓøü¸Ä proftpd/lang/hu0100644000567100000120000004636507702771351013524 0ustar jcameronwheelindex_title=ProFTPD kiszolgáló index_eproftpd=A(z) $1 ProFTPD kiszolgáló nem található a rendszeren. Előfordulhat, hogy nincs telepítve, vagy a modul-konfiguráció helytelen. index_eproftpd2=A(z) $1 program a jelek szerint nem a ProFTPD kiszolgáló. Előfordulhat, hogy nincs telepítve, vagy a modul-konfiguráció helytelen. A(z) $3 parancs outputja $4 volt. index_eversion=A ProFTPD kiszolgáló $1 verzióját nem támogatja a Webmin. Csak a 0.99 és afölötti verziók támogatottak. index_econf=A(z) $1 ProFTPD konfigurációs fájl nem található, vagy érvénytelen. Előfordulhat, hogy a modul-konfiguráció helytelen. index_apply=Módosítások alkalmazása index_applymsg=Kattintson ide a jelenlegi konfiguráció alkalmazásához, egy SIGHUP jel küldésével a futó ProFTPD folyamatnak. index_start=Kiszolgáló elindítása index_startmsg=Kattintson ide, hogy a jelenlegi konfigurációval elindítsa az FTP-kiszolgálót. Szükség esetén a kiszolgálót beállíthatja automatikus indulásra is, az Internet-szolgáltatások modul segítségével. index_startmsg2=Kattintson ide, hogy a jelenlegi konfigurációval elindítsa az FTP-kiszolgálót. Szükség esetén a kiszolgálót beállíthatja automatikus indulásra is, az inetd vagy egy ekvivalens program segítségével. index_return=Főmenü index_virts=Virtuális kiszolgálók index_virt=Virtuális kiszolgáló index_type=Kiszolgálótípus index_addr=Cím index_name=Kiszolgálónév index_port=FTP port index_defserv=Alapértelmezett kiszolgáló index_defdesc=Az összes virtuális kiszolgáló által nem kezelt FTP-kapcsolatot kezeli index_any=Bármelyik index_vdesc=A(z) $1 bármely kapcsolatát kezeli index_eip=<Ismeretlen> index_global=Globális konfiguráció index_create=Virtuális kiszolgáló létrehozatala index_version=ProFTPd $1 verzió efailed=A(z) $1 mentése sikertelen type_0=Hálózatkezelési opciók type_1=Naplózási opciók type_2=Fájlok és könyvtárak type_3=Hozzáférés-vezérlés type_4=Vegyes type_5=Felhasználó és csoport type_6=Hitelesítés virt_title=Virtuális kiszolgáló beállításai virt_header1=$1-nek virt_header2=Az alapértelmezett kiszolgálónak virt_header3=$1 beállításai virt_anon=Névtelen FTP virt_header=Könyvtárankénti és parancsonkénti beállítások virt_dir=$1 könyvtár virt_limit=$1 parancsok virt_adddir=Könyvtárankénti opciók hozzáadása .. virt_addlimit=Parancsonkénti opciók hozzáadása .. virt_path=A könyvtár elérési útvonala virt_cmds=FTP-parancsok virt_return=Virtuális kiszolgáló virt_virt=Virtuális kiszolgáló konfigurációja virt_edit=Irányelvek szerkesztése vserv_title=Virtuális kiszolgáló konfigurációja vserv_addr=Cím vserv_name=Kiszolgálónév vserv_port=FTP port vserv_delete=Virtuális kiszolgáló törlése vserv_eaddr=Hiányzó vagy érvénytelen cím vserv_eport=Hiányzó vagy érvénytelen portszám vserv_ename=Hiányzó kiszolgálónév anon_title=Névtelen FTP opciók anon_header1=A(z) $1 virtuális kiszolgálóban anon_header2=Az alapértelmezett kiszolgálóban anon_anon=Névtelen FTP konfigurációja anon_return=Névtelen FTP opciók anon_header3=A virtuális kiszolgálóban lévő $1 névtelen FTP-hez anon_header4=Az alapértelmezett kiszolgálóban lévő névtelen FTP-hez aserv_title=Névtelen FTP konfigurációja aserv_create=Névtelen FTP telepítése aserv_root=Korlátozás könyvtárra aserv_user=Fájlhozzáférés felhasználóként aserv_group=Fájlhozzáférés csoportként aserv_err=A névtelen FTP mentése sikertelen aserv_eroot=Hiányzó vagy érvénytelen chroot könyvtár aserv_euser=Hiányzó vagy érvénytelen Unix felhasználó aserv_egroup=Hiányzó vagy érvénytelen Unix csoport aserv_desc=Ehhez a virtuális kiszolgálóhoz még nem lett telepítve névtelen FTP. Használja ezt az űrlapot a kezdeti konfiguráció beállításához. dir_title=Könyvtárankénti opciók dir_header2=Az alapértelmezett kiszolgálóban lévő $1 könyvtárhoz dir_header1=A(z) $2 virtuális kiszolgálóban lévő $1 könyvtárhoz dir_edit=Irányelvek szerkesztése dir_return=Könyvtárankénti opciók dir_header3=$1 opciók a(z) $2-ben dir_header=Parancsonkénti opciók dir_dir=Könyvtár konfigurációja dir_header4=A névtelen kiszolgálóban lévő $1 könyvtárhoz dir_header5=Globálisan a(z) $1 könyvtárhoz manual_title=Irányelvek szerkesztése manual_header=A ProFTPD $1 irányelveinek manuális szerkesztéséhez használja az alábbi szövegdobozt. A módosítások erre a virtuális kiszolgálóra, könyvtárra vagy parancsokra vonatkoznak. manual_configs=Konfigurációs fájlok szerkesztése manual_ecannot=Nem szerkesztheti manuálisan az irányelveket manual_file=Irányelvek szerkesztése a következő fájlban: manual_efile=Érvénytelen ProFTPd konfigurációs fájl limit_title=Parancsonkénti opciók limit_header4=A(z) $2 könyvtár $1 parancsaihoz limit_header2=Az alapértelmezett kiszolgáló $1 parancsaihoz limit_header1=A(z) $2 virtuális kiszolgáló $1 parancsaihoz limit_edit=Irányelvek szerkesztése limit_limit=Parancsok konfigurációja limit_header3=A(z) $2 parancsok $1 opciói limit_return=Parancsonkénti opciók limit_header5=A névtelen FTP $1 parancsaihoz limit_header6=A(z) $2 fájl $1 parancsaihoz limit_header7=Globálisan a(z) $1 parancsokhoz lserv_title=Parancsok konfigurációja lserv_cmd=FTP-parancsok lserv_delete=A parancsok konfigurációjának törlése lserv_err=A parancsok mentése sikertelen lserv_ecmd=Nem választott ki parancsot dserv_title=A könyvtár konfigurációja dserv_dir=A könyvtár elérési útvonala dserv_err=A könyvtár mentése sikertelen dserv_edir=Hiányzik a könyvtár elérési útvonala dserv_delete=A könyvtár konfigurációjának törlése mod_core_type=Kiszolgálótípus mod_core_inetd=Futtatás Inetd-ből mod_core_stand=Önálló daemon mod_core_port=Port figyelése mod_core_eport=Hiányzó vagy érvénytelen portszám mod_core_servername=A felhasználóknak megjelenítendő kiszolgálónév mod_core_eservername=Hiányzó kiszolgálónév mod_core_defaultserver=Ez legyen az alapértelmezett virtuális kiszolgáló? mod_core_instances=Egyidejű munkafázisok maximuma mod_core_einstances=Hiányzó vagy érvénytelen munkafázis érték mod_core_umask=Új fájl umask mod_core_eumask=Hiányzó vagy érvénytelen umask mod_core_user=Futtatás Unix felhasználóként mod_core_uname=Felhasználónév mod_core_uid=UID mod_core_group=Futtatás Unix csoportként mod_core_gname=Csoportnév mod_core_gid=GID mod_core_tlog=FTP-adatforgalom naplófájlja mod_core_nowhere=Naplózás letiltva mod_core_etlog=Hiányzó vagy érvénytelen adatforgalmi naplófájl mod_core_accessdeny=Sikertlen bejelentkezés üzenet mod_core_accessgrant=Sikeres bejelentkezés üzenet mod_core_adall=Hozzáférés-vezérlési alapelv mod_core_addefault=Megegyezik a szülővel mod_core_allowall=Minden kliens engedélyezve mod_core_denyall=Minden kliens elutasítva mod_core_filter=Regexp FTP-parancsok engedélyezve mod_core_foreign=Engedélyezi az idegen adatforgalmat? mod_core_overwrite=Engedélyezi a fájlok felülírását? mod_core_restart=Engedélyezi a letöltések újrakezdését? mod_core_restart2=Engedélyezi a feltöltések újrakezdését? mod_core_require=Névtelen bejelentkezéshez is szükséges jelszó megadása? mod_core_anongroup=A csoportok névtelenként kezelik a tagokat mod_core_eanongroup=Nincs felvéve névtelen csoport mod_core_authalias=Csak álneves felhasználók léphetnek be? mod_core_authusingalias=Névtelen bejelentkezéskor az álcázott jelszót használja? mod_core_bind=Címhez kötés mod_core_bind_all=Minden cím mod_core_ebind=Hiányzó vagy érvénytelen kötőcím mod_core_cdpath=CD-könyvtárak levágása mod_core_classes=Engedélyezi az osztályokat a hozzáférés-vezérléshez? mod_core_cls=Hozzáférés-vezérlési osztályok mod_core_cname=Az osztály neve mod_core_ctype=Típus és érték mod_core_climit=Kapcsolatok maximuma mod_core_cregex=Kliens gazdanév egyezés mod_core_cip=Kliens IP hálózat/CIDR mod_core_eclimit=Hiányzó vagy érvénytelen maximális kapcsolatszám mod_core_ecregex=Hiányzó kliens gazdanév egyezés mod_core_ecip=Hiányzó vagy érvénytelen kliens IP hálózat/CIDR mod_core_buffer=FTP-parancsok maximális hossza mod_core_ebuffer=Hiányzó vagy érvénytelen maximális FTP-parancshosszúság mod_core_transfer=Alapértelmezett átviteli mód mod_core_binary=Bináris mod_core_ascii=ASCII mod_core_defer=Üdvözlő üzenet megjelenítése csak bejelentkezés után? mod_core_aborted=Törli a megszakított letöltéseket? mod_core_dfilter=Regexp FTP-parancsok elutasítva mod_core_display=Bejelentkezés előtti üzenetfájl mod_core_none=Nincs mod_core_edisplay=Hiányzó bejelentkezés előtti üzenetfájl mod_core_firstcd=Könyvtár README fájlnév mod_core_efirstcd=Hiányzó könyvtár README fájlnév mod_core_goaway=Túl sok kapcsolat üzenetfájl mod_core_egoaway=Hiányzó túl sok kapcsolat üzenetfájl mod_core_login=Bejelentkezés utáni üzenetfájl mod_core_elogin=Hiányzó bejelentkezés utáni üzenetfájl mod_core_quit=Kijelentkezési üzenetfájl mod_core_equit=Hiányzó kijelentkezési üzenetfájl mod_core_gowner=A feltöltött fájlok csoportgazdája mod_core_egowner=A feltöltött fájlok csoportja hiányzik vagy érvénytelen mod_core_grouppassword=Csoportjelszavak mod_core_gpname=Unix csoport mod_core_gppass=Jelszó mod_core_gpdef=Hagyja változatlanul mod_core_egpname=Érvénytelen Unix csoportnév mod_core_hstor=Elrejti a fájlokat feltöltés közben? mod_core_hgroup=Csoportok fájljainak elrejtése mod_core_ehgroup=Érvénytelen nevű csoport fájljainak elrejtése mod_core_hnoaccess=Elrejti a nem hozzáférhető fájlokat? mod_core_huser=Felhasználók fájljainak elrejtése mod_core_ehuser=Érvénytelen nevű felhasználó fájljainak elrejtése mod_core_ident=Megkeresi a távoli Ident felhasználónevet? mod_core_ihidden=Zárolja a rejtett fájlokat? mod_core_masq=Maszkolás címként mod_core_masq_def=Valós cím használata mod_core_emasq=Hiányzó vagy érvénytelen maszkolt cím mod_core_maxc=Egyidejű bejelentkezések maximuma mod_core_maxc1=Korlátlan mod_core_maxcmsg=Bejelentkezési hibaüzenet mod_core_emaxc=Hiányzó vagy érvénytelen maximális egyidejű bejelentkezés szám mod_core_maxch=Gazdánkénti egyidejű bejelentkezések maximuma mod_core_maxcu=Felhasználónkénti egyidejű bejelentkezések maximuma mod_core_logins=Munkafázisonkénti sikertelen bejelentkezések maximuma mod_core_elogins=Hiányzó vagy érvénytelen sikertelen bejelentkezés szám mod_core_rfc2228=RFC2228-stílusú válaszokat küld? mod_core_pasv=PASV port-tartomány mod_core_pasvr=Min - max mod_core_epasv=Hiányzó vagy érvénytelen PASV-portszám mod_core_pathallow=Regex feltöltött fájlnév engedélyezve mod_core_any=Bármelyik mod_core_pathdeny=Regex feltöltött fájlnév elutasítva mod_core_pidfile=PID kiírása fájlba mod_core_epidfile=Hiányzó vagy érvénytelen PID-fájl mod_core_shell=Csak érvényes rendszerhéjjal rendelkező felhasználók jelentkezhetnek be? mod_core_cpulimit=CPU-erőforráskorlátok mod_core_ecpulimit=CPU-erőforráskorlát mod_core_memlimit=Memória-erőforráskorlátok mod_core_ememlimit=Memória-erőforráskorlát mod_core_filelimit=Megnyitott fájlok korlátozása mod_core_efilelimit=Megnyitott fájl korlát mod_core_soft=Lágy korlát: mod_core_hard=Kemény korlát: mod_core_max=Maximum mod_core_esoft=Hiányzó vagy érvénytelen lágy $1 mod_core_ehard=Hiányzó vagy érvénytelen kemény $1 mod_core_score=Eredményjelző könyvtár elérési útvonala mod_core_escore=Hiányzó vagy érvénytelen eredményjelző könyvtár mod_core_admin=A rendszergazda email címe mod_core_eadmin=Hiányzó vagy érvénytelen email cím mod_core_identmsg=Kliens kapcsolódási üzenet mod_core_identmsg_def=Alapértelmezett üzenet megjelenítése mod_core_links=Megjeleníti a szimbolikus hivatkozásokat? mod_core_tight=Kötés csak a szükséges portokhoz? mod_core_facility=Rendszernapló-eszköz mod_core_level=Rendszernapló-szint mod_core_backlog=TCP-hátralék sorhosszúság mod_core_ebacklog=Hiányzó vagy érvénytelen hátralék sorhosszúság mod_core_nodelay=Használja a TCP_NODELAY csatolóopciót? mod_core_rwindow=TCP-fogadóablak mérete mod_core_erwindow=Hiányzó vagy érvénytelen fogadóablak-méret mod_core_swindow=TCP-küldőablak mérete mod_core_eswindow=Hiányzó vagy érvénytelen küldőablak-méret mod_core_gmt=Idő megjelenítése GMT szerint? mod_core_tidle=Leválás előtt holtidő mod_core_etidle=Hiányzó vagy érvénytelen holtidő mod_core_secs=Másodperc mod_core_tlogin=Hitelesítés várakozási ideje mod_core_etlogin=Hiányzó vagy érvénytelen hitelesítési idő mod_core_ttransfer=Adatátvitel várakozási ideje mod_core_ettransfer=Hiányzó vagy érvénytelen adatátviteli idő mod_core_tstalled=Megakadt adatátvitel várakozási ideje mod_core_etstalled=Hiányzó vagy érvénytelen megakadt adatátviteli várakozási idő mod_core_ftpusers=Elutasítja az /etc/ftpusers fájlban szereplő felhasználókat? mod_core_hostsallow=Engedélyezett gazdák fájlja mod_core_ehostsallow=Az engedélyezett gazdák fájlja nem létezik mod_core_hostsdeny=Elutasított gazdák fájlja mod_core_ehostsdeny=Az elutasított gazdák fájlja nem létezik mod_core_revdns=Végez fordított DNS-keresést a kliensek címein? mod_core_userdir=Chroot a felhasználónév alkönyvtárán? mod_core_ualias=Felhasználónevek álcái mod_core_afrom=Bejelentkezési felhasználónév mod_core_ato=Valós felhasználónév mod_core_eafrom=Az álca érvénytelen bejelentkezési felhasználónevet tartalmaz mod_core_eato=Az álca nem vagy érvénytelen valós felhasználónevet tartalmaz mod_core_uowner=A feltöltött fájlok tulajdonosa mod_core_euowner=A feltöltött fájlok tulajdonosa hiányzik vagy nem létezik mod_core_userpassword=Felhasználói jelszavak felülírása mod_core_upname=Unix felhasználó mod_core_uppass=Jelszó mod_core_updef=Hagyja változatlanul mod_core_eupname=Érvénytelen Unix felhasználónév mod_core_wtmp=Rögzíti a bejelentkezéseket a wtmp-be? mod_core_allow_deny=Hozzáférés korlátozása mod_core_allowdeny=Engedélyez majd elutasít mod_core_denyallow=Elutasít majd engedélyez mod_core_allow=Engedélyez mod_core_deny=Elutasít mod_core_mode_0=Mindegyik mod_core_mode_1=Semelyik mod_core_mode_2=IP-cím mod_core_mode_3=Hálózat mod_core_mode_4=Gazdanév mod_core_cond=Feltétel mod_core_action=Eljárás mod_core_agroup=Csak csoportok engedélyezése mod_core_auser=Csak felhasználók engedélyezése mod_core_all=Mindegyik mod_core_dgroup=Csoportok elutasítása mod_core_duser=Felhasználók elutasítása mod_core_eip=A(z) '$1' érvénytelen IP-cím mod_core_enet=A(z) '$1' érvénytelen hálózati cím mod_core_ehost=A(z) '$1' érvénytelen gazdanév mod_ls_fakegroup=Hamisít csoportot a könyvtárlistákban? mod_ls_fakeuser=Hamisít felhasználó a könyvtárlistákban? mod_ls_fakemode=Hamis engedélyek a könyvtárlistákban mod_ls_nofake=Valós engedélyek mod_ls_efakemode=A hamis engedélyeknek nyolcasban kell lenniük mod_ls_dotfiles=Megjeleníti a ponttal kezdődő nevű fájlokat a listákban? mod_ls_ls=További ls opciók mod_ls_els=Hiányzó további ls opciók mod_ls_fakeasuser=Igen, a következő felhasználóként .. mod_ls_fakesameuser=Kapcsolódott felhasználó mod_ls_fakeasgroup=Igen, a következő csoportként .. mod_ls_fakesamegroup=Kapcsolódott csoport mod_ls_efakeuser=Hiányzó vagy érvénytelen hamis felhasználó mod_ls_efakegroup=Hiányzó vagy érvénytelen hamis csoport mod_auth_chdir=Kezdeti bejelentkezési könyvtár mod_auth_echdir=Hiányzó vagy érvénytelen kezdeti bejelentkezési könyvtár mod_auth_chroot=Felhasználók korlátozása könyvtárakra mod_auth_home=Home könyvtár mod_auth_none=Semelyik mod_auth_dir=Könyvtár mod_auth_groups=Unix csoportok mod_auth_all=Mindenki mod_auth_edir=Érvénytelen chroot könyvtár mod_auth_egroups=Nincs felvéve Unix csoport a chroot-hoz mod_auth_echroot=Hiányzó vagy érvénytelen chroot könyvtár mod_auth_login=Bejelentkezés elutasítása esetén nem kér jelszót? mod_auth_root=Engedélyezi a root bejelentkezését? mod_site_chmod=Engedélyezi a chmod parancsot? mod_unixpw_ufile=Helyettes Unix jelszófájl mod_unixpw_eufile=Hiányzó vagy érvénytelen helyettes Unix jelszófájl mod_unixpw_gfile=Helyettes Unix csoportfájl mod_unixpw_egfile=Hiányzó vagy érvénytelen helyettes Unix csoportfájl mod_unixpw_none=Semelyik mod_unixpw_pam=A PAM mindig felsőbbrendű? mod_unixpw_persist=Állandóan nyitva tartja a jelszófájlt? mod_log_syslog=Hibák naplózása fájlba mod_log_sysdef=Rendszernapló mod_log_esyslog=Hiányzó vagy érvénytelen naplófájl mod_log_extended=Egyéni naplófájlok mod_log_file=Naplófájl mod_log_cmd=FTP-parancsokhoz mod_log_nick=Naplóformátum mod_log_all=Mindegyik mod_log_ecmd=Hiányzó FTP-parancsok mod_log_enick=Hiányzó vagy érvénytelen naplóformátum-név mod_log_ecmdnick=A parancsok naplózásához előbb meg kell adnia egy naplóformátumot mod_log_nickname=Formátumnév mod_log_fmt=Formátumlánc mod_log_format=Egyéni naplóformátumok mod_log_enickname=Hiányzó vagy érvénytelen formátumnév mod_log_efmt=Hiányzó formátumlánc mod_pam_pam=Használja a PAM-ot a hitelesítéshez? mod_pam_config=Hitelesítés a PAM-szolgáltatás használatával mod_pam_econfig=Hiányzó vagy érvénytelen PAM-szolgáltatás mod_readme_display=Felhasználó értesítése a readme fájlok egyezéséről mod_readme_none=Semelyik mod_readme_edisplay=Hiányzó readme fájlminta start_err=Az FTP-kiszolgáló elindítása sikertelen start_einetd=Inedt-módban nem indíthatja el a kiszolgáló daemont ftpaccess_title=Könyvtárankénti opciófájlok ftpaccess_desc=További könyvtárankénti opciók adhatók meg egy (általában .ftpaccess nevű) fájlban minden egyes könyvtárban. A kiválasztott opciók az adott könyvtárban és annak alkönyvtáraiban lévő összes fájlra vonatkoznak, hacsak nem írja felül őket egy másik opciófájl. ftpaccess_create=Opciófájl létrehozatala ftpaccess_find=Opciófájlok keresése ftpaccess_auto=Névtelen alatt ftpaccess_from=Könyvtárból ftpaccess_return=Opciófájl-lista ftpusers_title=Elutasított FTP-felhasználók ftpusers_desc=Ha a Hitelesítés ikon alatt engedélyezi, az alább a(z) $1 fájlból felsorolt felhasználók nem férhetnek hozzá az FTP-kiszolgálóhoz. ftpindex_title=Könyvtárankénti opciófájl ftpindex_delete=Fájl törlése ftpindex_opts=Könyvtárankénti opciók ftpindex_edit=Irányelvek szerkesztése ftpindex_limit=Parancsonkénti opciók ftpindex_addlimit=Parancsonkénti opciók hozzáadása a következőhöz .. ftpindex_header2=$1 a(z) $2-ben ftpindex_return=Könyvtárankénti opciófájl ftpindex_header=$1-hez find_err=Nem találhatók opciófájlok find_eanon=Egy virtuális kiszolgálóhoz sincs telepítve névtelen FTP-kiszolgáló log_global=A(z) $1 globális opciók megváltoztatva log_ftpusers=Elutasított FTP-felhasználók megváltoztatva log_virtc=A(z) $1 kiszolgáló létrehozva log_virts=A(z) $1 kiszolgáló átkonfigurálva log_virtd=A(z) $1 kiszolgáló törölve log_virtm=A(z) $1 kiszolgáló manuálisan szerkesztve log_virt=A(z) $1 módosítva a(z) $2 kiszolgálón log_dirc=A(z) $1 könyvtár létrehozva log_dirc_l=A(z) $1 könyvtár létrehozva a(z) $2 kiszolgálón log_dirs=A(z) $1 könyvtár módosítva log_dirs_l=A(z) $1 könyvtár módosítva a(z) $2 kiszolgálón log_dird=A(z) $1 könyvtár törölve log_dird_l=A(z) $1 könyvtár törölve a(z) $2 kiszolgálóról log_dirm=A(z) $1 könyvtár manuálisan szerkesztve log_dirm_l=A(z) $1 könyvtár manuálisan szerkesztve a(z) $2 kiszolgálón log_dir=A(z) $1 könyvtár módosítva a(z) $2-ben log_dir_l=A(z) $1 könyvtár módosítva a(z) $2-ben a(z) $3 kiszolgálón log_limitc=Parancsonkénti opciók létrehozva a(z) $1-nek log_limits=Parancsonkénti opciók átkonfigurálva a(z) $1-nek log_limitd=A(z) $1 parancsonkénti opciói törölve log_limitm=A(z) $1 parancsonkénti opciói manuálisan szerkesztve log_limit=A(z) $1 módosítva a(z) $2 parancsonkénti opcióiban log_ftpaccessc=A(z) $1 opciófájl létrehozva log_ftpaccessd=A(z) $1 opciófájl törölve log_ftpaccessm=A(z) $1 opciófájl manuálisan szerkesztve log_ftpaccess=A(z) $1 módosítva a(z) $2 opciófájlban log_start=Proftpd elindítva log_apply=Módosítások alkalmazva proftpd/lang/de0100644000567100000120000005151510067670021013457 0ustar jcameronwheel# de-File for ProFTPd ###################################################################### # Last patched: 05.08.2003 Martin Mewes for WEBMIN - MM # Questions, comments, snide-remarks: webmin@webmin.mamemu.de ###################################################################### index_title=ProFTPd-Server index_eproftpd=Der ProFTPd-Server $1 konnte auf Ihrem System nicht gefunden werden. Entweder ist er nicht installiert oder Ihre Modul-Konfiguration ist falsch. index_eproftpd2=Das Programm $1 scheint nicht der ProFTPd-Server zu sein. Entweder ist er nicht installiert oder Ihre Modul-Konfiguration ist falsch. Ergebnis des Kommandos $3: $4 index_eversion=Diese Version des ProFTPd-Server $1 wird von Webmin nicht unterstützt. Unterstützt wird nur Version 0.99 und höher. index_econf=Die ProFTPd-Konfigurationsdatei $1 konnte auf Ihrem System nicht gefunden werden oder diese ungültig. Entweder ist diese nicht installiert oder Ihre Modul-Konfiguration ist falsch. index_apply=Änderungen übernehmen index_applymsg=Klicken Sie hier, um die jetzige Konfiguration durch das Senden eines SIGHUP-Signals an den laufenden ProFTPd-Prozess zu übernehmen. index_start=ProFTPd-Server starten index_startmsg=Klicken Sie hier, um den ProFTPd-Server mit der jetzigen Konfiguration zu starten. Sie können den ProFTPd-Server immer dann automatisch starten lassen, wenn Sie dieses im Internet-Services-Modul so einstellen. index_startmsg2=Klicken Sie hier, um den ProFTPd-Server mit der jetzigen Konfiguration zu starten. Sie können den ProFTPd-Server immer dann automatisch starten lassen, wenn Sie z.B. inetd, xinetd oder ein vergleichbares Programm einsetzen. index_return=Hauptmenü index_virts=Virtuelle Server index_virt=Virtueller Server index_type=Server-Typ index_addr=Addresse index_name=Server-Name index_port=FTP port index_defserv=Standard-Server index_defdesc=Bearbeitet alle FTP-Verbindungen, die nicht von einem virtuellem Server bearbeitet werden. index_any=Alle index_vdesc=Bearbeitet alle Verbindungen zu $1 index_eip=<Unbekannt> index_global=Globale Konfiguration index_create=Einen virtuellen Server erzeugen index_version=ProFTPd version $1 efailed=Konnte $1 nicht speichern type_0=Netzwerk-Optionen type_1=Logging-Optionen type_2=Dateien und Verzeichnisse type_3=Zugriffskontrollen type_4=Verschiedenes type_5=Benutzer und Gruppen type_6=Authentisierung virt_title=Optionen für Virtuelle Server virt_header1=Für $1 virt_header2=Für Standard-Server virt_header3=$1 Optionen virt_anon=Anonymes FTP virt_header=Pro-Verzeichnis- und Pro-Befehl-Optionen virt_dir=Verzeichnis $1 virt_limit=Befehl $1 virt_adddir=Pro-Verzeichnis-Optionen hinzufügen für ... virt_addlimit=Pro-Befehl-Optionen hinzufügen für ... virt_path=Verzeichnispfad virt_cmds=FTP-Befehle virt_return=Virtuelle Server virt_virt=Virtuellen Server konfigurieren virt_edit=Richtlinien bearbeiten vserv_title=Virtuellen Server konfigurieren vserv_addr=Adresse vserv_name=Server-Name vserv_port=FTP port vserv_delete=Virtuellen Server löschen vserv_eaddr=Fehlende oder ungültige Adresse vserv_eport=Fehlende oder ungültige Port-Nummer vserv_ename=Fehlender Server-Name anon_title=Optionen für Anonymes FTP anon_header1=Für Virtuellen Server $1 anon_header2=Für Standard-Server anon_anon=Anonymes FTP konfigurieren anon_return=Optionen für Anonymes FTP anon_header3=Für Anonymes FTP im Virtuellen Server $1 anon_header4=Für Anonymes FTP im Standard-Server aserv_title=Anonymes FTP konfigurieren aserv_create=Anonymes FTP einrichten aserv_root=Auf dieses Verzeichnis beschränken. aserv_user=Zugriff auf Dateien als Benutzer aserv_group=Zugriff auf Dateien als Gruppe aserv_err=Konnte Einstellungen für Anonymes FTP nicht speichern. aserv_eroot=Fehlendes oder ungültiges chroot-Verzeichnis aserv_euser=Fehlender oder ungültiger Unix-Benutzer aserv_egroup=Fehlende oder ungültige Unix-Gruppe aserv_desc=Anonymes FTP wurde für diesen Virtuellen Server noch nicht eingerichtet. Benutzen Sie dieses Formular, um eine Standard-Konfiguration zu erzeugen. dir_title=Pro-Verzeichnis-Optionen dir_header2=Für Verzeichnis $1 im Standard-Server dir_header1=Für Verzeichnis $1 im Virtuellen Server $2 dir_edit=Richtlinien bearbeiten dir_return=Pro-Verzeichnis-Optionen dir_header3=$1 Optionen für $2 dir_header=Pro-Befehl-Optionen dir_dir=Verzeichnis konfigurieren dir_header4=Für Verzeichnis $1 in Anonymes FTP dir_header5=Für Verzeichnis $1 global manual_title=Richtlinien bearbeiten manual_header=Benutzen Sie diese Textbox, um die ProFTPd-Richtlinien für $1, welche zu diesem Virtuellem Server, dem Verzeichnis oder Kommando gehören, manuell zu bearbeiten. manual_configs=Konfigurationsdateien bearbeiten manual_ecannot=Sie dürfen die Richtlinien nicht manuell bearbeiten. manual_file=Bearbeite Richtlinien in der Datei: manual_efile=Ungültige ProFTPd-Konfigurationsdatei limit_title=Pro-Befehle-Optionen limit_header4=Für Befehle $1 im Verzeichnis $2 limit_header2=Für Befehle $1 im Standard-Server limit_header1=Für Befehle $1 im Virtuellen Server $2 limit_edit=Richtlinien bearbeiten limit_limit=Befehle konfigurieren limit_header3=$1 Optionen für Befehle $2 limit_return=Pro-Befehl-Optionen limit_header5=Für Befehle $1 in Anonymes FTP limit_header6=Für Befehle $1 in Datei $2 limit_header7=Für Befehle $1 global lserv_title=Befehle konfigurieren lserv_cmd=FTP-Befehle lserv_delete=Befehls-Konfiguration löschen lserv_err=Konnte Befehle nicht speichern lserv_ecmd=Es wurden keine Befehle ausgewählt dserv_title=Verzeichnis konfigurieren dserv_dir=Verzeichnis-Pfad dserv_err=Konnte Verzeichnis-Pfad nicht speichern dserv_edir=Fehlender Verzeichnis-Pfad dserv_delete=Verzeichnis-Pfad-Einstellungen löschen mod_core_type=Server-Typ mod_core_inetd=Durch inetd aufrufen mod_core_stand=Stand-Alone-Daemon mod_core_port=Konfiguriert für Port mod_core_eport=Fehlende oder ungültige Port-Nummer mod_core_servername=Server-Name, wie er Benutzern angezeigt wird mod_core_eservername=Fehlender Server-Name mod_core_defaultserver=Diesen Virtuellen Server standardmäßig verwenden? mod_core_instances=Maximale gleichzeitige Anzahl von Verbindungen mod_core_einstances=Fehlende oder ungültige Anzahl von Verbindungen mod_core_umask=Neue UMASK für Dateien mod_core_eumask=Fehlende oder ungültige UMASK mod_core_user=Laufe als Unix-Benutzer mod_core_uname=Benutzername mod_core_uid=UID mod_core_group=Laufe als Unix-Gruppe mod_core_gname=Unix-Gruppe mod_core_gid=GID mod_core_tlog=FTP-Zugriffs-Logfile mod_core_nowhere=Logging abgeschaltet mod_core_etlog=Fehlendes oder ungültiges FTP-Zugriffs-Logfile mod_core_accessdeny=Nachricht bei fehlerhafter Anmeldung mod_core_accessgrant=Nachricht bei erfolgreicher Anmeldung mod_core_adall=Zugriffssteuerung mod_core_addefault=Wie übergeordnet mod_core_allowall=Erlaube alle Clients mod_core_denyall=Verbiete alle Clients mod_core_filter=Erlaubte FTP-Befehle (Regular Expressions) mod_core_foreign=Erlaube fremde Datei-Übertragungen? mod_core_overwrite=Erlaube das Überschreiben von Dateien? mod_core_restart=Erlaube den Neustart von Downloads? mod_core_restart2=Erlaube den Neustart von Uploads? mod_core_require=Passwort erforderlich für Anonymes FTP? mod_core_anongroup=Gruppen, deren Mitglieder als anonym behandelt werden mod_core_eanongroup=Keine anonyme Gruppe eingegeben mod_core_authalias=Erlaube Einloggen nur Alias-Benutzern? mod_core_authusingalias=Benutze Alias-Passwort für Anonymes FTP? mod_core_bind=An diese IP-Adresse binden mod_core_bind_all=Alle Adressen mod_core_ebind=Fehlende oder ungültige Adresse mod_core_cdpath=Kurzbefehle um schnell in Verzeichnisse wechseln zu können mod_core_classes=Zugriffssteuerung für Klassen einrichten? mod_core_cls=Zugriffssteuerung für Klassen mod_core_cname=Klassen-Name mod_core_ctype=Typ und Wert mod_core_climit=Maximale Anzahl von Verbindungen mod_core_cregex=Client-Hostname entspricht mod_core_cip=Client-IP-Netzwerk (CIDR) mod_core_eclimit=Fehlende oder ungültige Anzahl von Verbindungen mod_core_ecregex=Fehlende Client-Hostname-Entsprechung mod_core_ecip=Fehlendes oder ungültiges Client-IP-Netzwerk (CIDR) mod_core_buffer=Maximale Länge eines FTP-Befehles mod_core_ebuffer=Fehlende oder ungültige Maximale Länge eines FTP-Befehles mod_core_transfer=Standard Transfer Modus mod_core_binary=Binär mod_core_ascii=ASCII mod_core_defer=Willkommensnachricht erst nach dem Einloggen ausgeben? mod_core_aborted=Lösche unterbrochene Uploads? mod_core_dfilter=Verbotene FTP-Befehle (Regular Expression) mod_core_display=Nachricht vor dem Anmelden-Datei mod_core_none=Keine mod_core_edisplay=Nachricht vor dem Anmelden-Datei wurde nicht angegeben mod_core_firstcd=Verzeichnis-README-Datei mod_core_efirstcd=Verzeichnis-README-Datei wurde nicht angegeben mod_core_goaway=Zu viele Verbindungen-Datei mod_core_egoaway=Zu viele Verbindungen-Datei wurde nicht angegeben mod_core_login=Nachricht nach dem Anmelden-Datei mod_core_elogin=Nachricht nach dem Anmelden-Datei wurde nicht angegeben mod_core_quit=Nachricht nach dem Ausloggen-Datei mod_core_equit=Nachricht nach dem Ausloggen-Datei wurde nicht angegeben mod_core_gowner=Hochgeladene Dateien gehören der Gruppe mod_core_egowner=Fehlende oder ungültige Gruppe für hochgeladene Dateien mod_core_grouppassword=Gruppen-Passworte mod_core_gpname=Unix-Gruppe mod_core_gppass=Passwort mod_core_gpdef=Unverändert lassen mod_core_egpname=Ungültige Unix-Benutzergruppe mod_core_hstor=Dateien beim Upload verstecken? mod_core_hgroup=Dateien verstecken, die diesen Gruppen gehören mod_core_ehgroup=Ungültiger Gruppen-Name, deren Dateien versteckt werden sollen mod_core_hnoaccess=Verstecke Dateien, die nicht zugänglich sind? mod_core_huser=Verstecke Dateien von folgenden Benutzern mod_core_ehuser=Ungültige Benutzer-Namen, deren Dateien versteckt werden sollen mod_core_ident=IDENT des Benutzers ermitteln? mod_core_ihidden=Versteckte Dateien nicht erreichbar machen? mod_core_masq=Als folgende Adresse maskieren mod_core_masq_def=Die reale Adresse benutzen mod_core_emasq=Fehlende oder ungültige Adresse zum Maskieren mod_core_maxc=Maximale Anzahl von Anmeldungen mod_core_maxc1=Unbegrenzt mod_core_maxcmsg=Anmelde-Fehlernachricht mod_core_emaxc=Fehlende oder ungültige Maximale Anzahl von Anmeldungen mod_core_maxch=Maximale Anzahl von Anmeldungen pro Host mod_core_maxcu=Maximale Anzahl von Anmeldungen pro Benutzer mod_core_logins=Maximale Anzahl von Fehl-Anmeldungen pro Sitzung mod_core_elogins=Fehlende oder ungültige Anzahl von Fehl-Anmeldungen pro Sitzung mod_core_rfc2228=Sende RFC2228-style Server-Antworten? mod_core_pasv=PASV Port-Bereich mod_core_pasvr=Min - Max mod_core_epasv=Fehlender oder ungültiger PASV Port-Bereich mod_core_pathallow=Erlaubte Regular Expressions für hochgeladene Dateien mod_core_any=Alle mod_core_pathdeny=Verbotene Regular Expressions für hochgeladene Dateien mod_core_pidfile=Schreibe PID in Datei mod_core_epidfile=Fehlende oder ungültige PID-Datei mod_core_shell=Erlaube das Einloggen nur Benutzern mit einer gültigen Shell? mod_core_cpulimit=CPU-Resourcen-Begrenzungen mod_core_ecpulimit=CPU-Resourcen-Begrenzung mod_core_memlimit=Speicher-Resourcen-Begrenzungen mod_core_ememlimit=Speicher-Resourcen-Begrenzung mod_core_filelimit=Geöffnete-Dateien-Begrenzungen mod_core_efilelimit=Geöffnete-Dateien-Begrenzung mod_core_soft=Weiche Grenze: mod_core_hard=Harte Grenze: mod_core_max=Maximum mod_core_esoft=Fehlende oder ungültige Soft $1 mod_core_ehard=Fehlende oder ungültige Hard $1 mod_core_score=Pfad zum Scoreboard-Verzeichnis mod_core_escore=Fehlender oder ungültiger Pfad zum Scoreboard-Verzeichnis mod_core_admin=eMail-Adresse des Server-Administrator mod_core_eadmin=Fehlende oder ungültige eMail-Adresse des Server-Administrator mod_core_identmsg=Client-Verbindungsnachricht mod_core_identmsg_def=Zeige Standard-Nachricht an mod_core_links=Zeige symbolische Links? mod_core_tight=Nur an nötige Ports binden? mod_core_facility=System-Logfile-Art mod_core_level=System-Logfile-Level mod_core_backlog=TCP-Reserve-Warteschlangenlänge mod_core_ebacklog=Fehlende oder ungültige TCP-Reserve-Warteschlangenlänge mod_core_nodelay=Verwenden Sie TCP_NODELAY-Socek-Option? mod_core_rwindow=TCP-Empfangsfenstergröße mod_core_erwindow=Fehlende oder ungültige TCP-Empfangsfenstergröße mod_core_swindow=TCP-Versandfenstergröße mod_core_eswindow=Fehlende oder ungültige TCP-Versandfenstergröße mod_core_gmt=Zeiten in GMT anzeigen? mod_core_tidle=Leerlaufzeit bevor getrennt wird mod_core_etidle=Fehlende oder ungültige Leerlaufzeit mod_core_secs=Sekunden mod_core_tlogin=Zeit zum Warten auf Authentisierung mod_core_etlogin=Fehlende oder ungültige Zeit zum Warten auf Authentisierung mod_core_ttransfer=Zeit zum Warten auf den ersten Datentransfer mod_core_ettransfer=Fehlende oder ungültige Zeit zum Warten auf den ersten Datentransfer mod_core_tstalled=Zeit zum Warten bei festgeklemmten Datentransfer mod_core_etstalled=Fehlende oder ungültige Zeit zum Warten bei festgeklemmten Datentransfer mod_core_ftpusers=Verbiete Benutzer in /etc/ftpusers-Datei? mod_core_hostsallow=Erlaube Hosts-Datei mod_core_ehostsallow=Erlaube Hosts-Datei wurde nicht gefunden mod_core_hostsdeny=Verbiete Hosts-Datei mod_core_ehostsdeny=Verbiete Hosts-Datei wurde nicht gefunden mod_core_revdns=Einen Reverse DNS-Lookup der Client-Adresse machen? mod_core_userdir=Chroot zum Benutzer-Unterverzeichnis? mod_core_ualias=Aliase für Benutzernamen mod_core_afrom=Login-Benutzername mod_core_ato=Realer Benutzername mod_core_eafrom=Ungültiger Login-Benutzername in Alias mod_core_eato=Fehlender oder ungültiger Realer Benutzername in Alias mod_core_uowner=Eigentümer von hochgeladenen Dateien mod_core_euowner=Fehlender oder ungültiger Eigentümer von hochgeladenen Dateien mod_core_userpassword=Benutzer-Passworte übergehen mod_core_upname=Unix-Benutzername mod_core_uppass=Passwort mod_core_updef=Unverändert lassen mod_core_eupname=Ungültiger Unix-Benutzername mod_core_wtmp=Speichere Anmeldungen in wtmp? mod_core_allow_deny=Zugang einschränken mod_core_allowdeny=Erst erlauben, dann verbieten mod_core_denyallow=Erst verbieten, dann erlauben mod_core_allow=Erlauben mod_core_deny=Verbieten mod_core_mode_0=Alle mod_core_mode_1=Keine mod_core_mode_2=IP-Adresse mod_core_mode_3=Netzwerk mod_core_mode_4=Hostname mod_core_cond=Bedingung mod_core_action=Aktion mod_core_agroup=Erlaube nur diesen Gruppen mod_core_auser=Erlaube nur diesen Benutzern mod_core_all=Alle mod_core_dgroup=Verbiete Gruppen mod_core_duser=Verbiete Benutzer mod_core_eip='$1' ist keine gültige IP-Adresse mod_core_enet='$1' ist keine gültige Netzwerk-Adresse mod_core_ehost='$1' ist keine gültiger Hostname mod_ls_fakegroup=Gruppe, die in Verzeichnis-Listings vorgetääuscht wird? mod_ls_fakeuser=Benutzer, der in Verzeichnis-Listings vorgetääuscht wird? mod_ls_fakemode=Zugriffsrechte in Verzeichnis-Listings vortääuschen? mod_ls_nofake=Echte Zugriffsrechte mod_ls_efakemode=Zugriffsrechte müssen als Oktal-Zahl angegeben werden. mod_ls_dotfiles=Zeige Dateien, die mit einem . beginnen, in Verzeichnis-Listings? mod_ls_ls=Zusätzliche ls-Optionen mod_ls_els=Fehlende zusätzliche ls-Optionen mod_ls_fakeasuser=Ja, als Benutzer ... mod_ls_fakesameuser=Verbundener Benutzer mod_ls_fakeasgroup=Ja, als Gruppe mod_ls_fakesamegroup=Verbundende Gruppe mod_ls_efakeuser=Fehlender oder ungültiger Benutzer, der in Verzeichnis-Listings vorgetääuscht werden soll mod_ls_efakegroup=Fehlende oder ungültige Gruppe, die in Verzeichnis-Listings vorgetääuscht werden soll mod_ls_options=Verzeichnislisten-Optionen mod_ls_strict=Benutzer-Optionen übergehen? mod_auth_chdir=Standard Login-Verzeichnis mod_auth_echdir=Fehlendes oder ungültiges Standard Login-Verzeichnis mod_auth_chroot=Begrenze Benutzer auf Verzeichnisse mod_auth_home=Home-Verzeichnis mod_auth_none=Keine mod_auth_dir=Verzeichnis mod_auth_groups=Unix-Benutzergruppe mod_auth_all=Jedermann mod_auth_edir=Ungültiges chroot-Verzeichnis mod_auth_egroups=Es wurden keine Unix-Benutzergruppe für chroot angegeben mod_auth_echroot=Fehlendes oder ungültiges chroot-Verzeichnis mod_auth_login=nach Passwort fragen, wenn Anmelden verboten ist? mod_auth_root=Erlaube root das Anmelden? mod_site_chmod=Erlaube den chmod-Befehl? mod_unixpw_ufile=Alternative Unix-Passwort-Datei mod_unixpw_eufile=Fehlende oder ungültige Alternative Unix-Passwort-Datei mod_unixpw_gfile=Alternative Unix-Gruppen-Datei mod_unixpw_egfile=Fehlende oder ungültige Alternative Unix-Gruppen-Datei mod_unixpw_none=keine mod_unixpw_pam=PAM immer als zuständig betrachten? mod_unixpw_persist=Lasse die Passwort-Datei immer geöffnet? mod_log_syslog=Speicher Fehler in die Datei mod_log_sysdef=System-Logfile mod_log_esyslog=Fehlendes oder ungültiges System-Logfile mod_log_extended=Benutzerdefiniertes Logfile mod_log_file=Logfile mod_log_cmd=Für FTP-Befehle mod_log_nick=Log-Format mod_log_all=Alle mod_log_ecmd=Fehlende FTP-Befehle mod_log_enick=Fehlendes oder ungültiges Log-Format mod_log_ecmdnick=Sie müssen ein Log-Format angeben, wenn Sie Befehle angeben, die geloggt werden sollen mod_log_nickname=Format-Name mod_log_fmt=Format-String mod_log_format=Benutzerdefinierte Log-Formate mod_log_enickname=Fehlender oder ungültiger Format-Name mod_log_efmt=Fehlender Format-String mod_pam_pam=PAM zur Authentisierung nutzen? mod_pam_config=Authentisierung mit PAM-Service mod_pam_econfig=Fehlender oder ungültiger PAM-Service mod_readme_display=Benachrichtigung der Benutzer über README-Dateien (Regular Expressions) mod_readme_none=Keine mod_readme_edisplay=Fehlende Angaben für Benachrichtigung der Benutzer über README-Dateien (Regular Expressions) start_err=Konnte ProFTPd-Server nicht starten start_einetd=Sie können den Server nicht als Stand-Alone-Daemon starten, wenn er von inetd, xientd oder einem vergleichbarem Programm aufgerufen wird. ftpaccess_title=Pro-Verzeichnis-Optionen-Dateien ftpaccess_desc=Zusätzliche Pro-Verzeichnis-Optionen können in einer Datei (normalerweise .ftpaccess) in jedem Verzeichnis abgelegt werden. Diese Optionen sind gültig für alle Dateien und alle Unterverzeichnisse dieses Verzeichnisses, wenn diese Einstellungen nicht durch eine andere Option außer Kraft gesetzt werden. ftpaccess_create=Erzeuge Optionen-Datei ftpaccess_find=Finde Optionen-Dateien ftpaccess_auto=Innerhalb Anonymes FTP ftpaccess_from=Vom Verzeichnis ftpaccess_return=Pro-Verzeichnis-Optionen-Dateien-Auflistung ftpusers_title=Verbotene FTP-Benutzer ftpusers_desc=Wenn diese Option unter Authentisierung zugeschaltet ist, dann haben Benutzer von der unten stehenden Liste (gespeichert in Datei $1) keinen Zugriff auf Ihr System via FTP. ftpindex_title=Pro-Verzeichnis-Optionen-Datei ftpindex_delete=Lösche Datei ftpindex_opts=Pro-Verzeichnis-Optionen ftpindex_edit=Richtlinien bearbeiten ftpindex_limit=Pro-Befehl-Optionen ftpindex_addlimit=Füge eine Pro-Befehl-Option hinzu für ... ftpindex_header2=$1 in $2 ftpindex_return=Pro-Verzeichnis-Optionen-Datei ftpindex_header=Für $1 find_err=Konnte Optionen-Datei nicht finden find_eanon=Anonymes FTP ist für keinen Virtuellen Server eingerichtet ### Leave Log-Entries unchanged log_global=Changed global $1 options log_ftpusers=Changed denied FTP users log_virtc=Created server $1 log_virts=Reconfigured server $1 log_virtd=Deleted server $1 log_virtm=Manually edited server $1 log_virt=Changed $1 in server $2 log_dirc=Created directory $1 log_dirc_l=Created directory $1 in server $2 log_dirs=Changed directory $1 log_dirs_l=Changed directory $1 in server $2 log_dird=Deleted directory $1 log_dird_l=Deleted directory $1 in server $2 log_dirm=Manually edited directory $1 log_dirm_l=Manually edited directory $1 in server $2 log_dir=Changed $1 in directory $2 log_dir_l=Changed $1 in directory $2 in server $3 log_limitc=Created per-command options for $1 log_limits=Reconfigured per-command options for $1 log_limitd=Deleted per-command options for $1 log_limitm=Manually edited per-command options for $1 log_limit=Changed $1 in per-command options for $2 log_ftpaccessc=Created options file $1 log_ftpaccessd=Deleted options file $1 log_ftpaccessm=Manually edited options file $1 log_ftpaccess=Changed $1 in options file $2 log_start=Started proftpd log_apply=Applied changesproftpd/lang/ja_JP.euc0100644000567100000120000004377210067670055014642 0ustar jcameronwheelanon_anon=Anonymous FTPŔßÄę anon_header1=ĽĐĄźĽÁĽăĽëĽľĄźĽĐ $1¤ÎĽŞĽ×ĽˇĽçĽó anon_header2=ĽÇĽŐĽŠĽëĽČĽľĄźĽĐ¤ÎĽŞĽ×ĽˇĽçĽó anon_header3=ĽĐĄźĽÁĽăĽëĽľĄźĽĐ $1¤Îanonymous FTP anon_header4=ĽÇĽŐĽŠĽëĽČĽľĄźĽĐ¤Îanonymous FTP anon_return=anonymous FTPĽŞĽ×ĽˇĽçĽó anon_title=Anonymous FTP ĽŞĽ×ĽˇĽçĽó aserv_create=Anonymous FTP¤ÎĽťĽĂĽČĽ˘ĽĂĽ× aserv_desc=¤ł¤ÎĽĐĄźĽÁĽăĽëĽľĄźĽĐ¤Ë¤ĎĄ˘¤Ţ¤ŔAnonymous FTP¤ŹĽťĽĂĽČĽ˘ĽĂĽ×¤ľ¤ě¤Ć¤¤¤Ţ¤ť¤óĄŁĽŐĽŠĄźĽŕ¤ňťČ¤Ă¤Ć˝é´üŔßÄꤡ¤Ć˛ź¤ľ¤¤ĄŁ aserv_egroup=¸Ť¤Ä¤Ť¤é¤Ę¤¤¤ŤĄ˘¤Ţ¤ż¤Ď´Ö°ă¤Ă¤Ć¤¤¤ëUnixĽ°ĽëĄźĽ× aserv_eroot=Missing or invalid chroot directory aserv_err=anonymous FTP¤Ř¤ÎĘݸ¤ËźşÇÔ¤ˇ¤Ţ¤ˇ¤ż aserv_euser=¸Ť¤Ä¤Ť¤é¤Ę¤¤¤ŤĄ˘¤Ţ¤ż¤Ď´Ö°ă¤Ă¤Ć¤¤¤ëUnixĽćĄźĽś aserv_group=Access files as group aserv_root=Limit to directory aserv_title=Anonymous FTPŔßÄę aserv_user=Access files as user dir_dir=ĽÇĽŁĽěĽŻĽČĽęŔßÄę dir_edit=ĽÇĽŁĽěĽŻĽĆĽŁĽÖĘÔ˝¸ dir_header=ĽłĽŢĽóĽÉĽŞĽ×ĽˇĽçĽó dir_header1=ĽĐĄźĽÁĽăĽëĽľĄźĽĐ$2¤ÎĽÇĽŁĽěĽŻĽČĽę $1 dir_header2=ĽÇĽŐĽŠĽëĽČĽľĄźĽĐ¤ÎĽÇĽŁĽěĽŻĽČĽę $1 dir_header3=$2¤ÎĽŞĽ×ĽˇĽçĽó$1 dir_header4=anonymous FTP¤ÎĽÇĽŁĽěĽŻĽČĽę $1 dir_header5=śŚÄĚĽÇĽŁĽěĽŻĽČĽę $1 dir_return=ĽÇĽŁĽěĽŻĽČĽęĽŞĽ×ĽˇĽçĽó dir_title=ĽÇĽŁĽěĽŻĽČĽęĽŞĽ×ĽˇĽçĽó dserv_delete=ĽÇĽŁĽěĽŻĽČĽęŔßÄę¤ňşď˝ü dserv_dir=ĽÇĽŁĽěĽŻĽČĽę¤ÎĽŃĽš dserv_eanondir=ĽÇĽŁĽěĽŻĽČĽę¤Ďƿ̞FTPĽÇĽŁĽěĽŻĽČĽęÇ۲ź¤Ë¤˘¤ëÉŹÍפʤ˘¤ę¤Ţ¤š dserv_edir=ĽÇĽŁĽěĽŻĽČĽę¤ÎĽŃĽš¤Ź¸Ť¤Ä¤Ť¤ę¤Ţ¤ť¤ó dserv_err=ĽÇĽŁĽěĽŻĽČĽę¤ÎĘݸ¤ËźşÇÔ¤ˇ¤Ţ¤ˇ¤ż dserv_title=ĽÇĽŁĽěĽŻĽČĽęŔßÄę eafter=ŔßÄęĆâÍƤμÁĽ§ĽĂĽŻ¤ËźşÇÔ¤ˇ¤Ţ¤ˇ¤ż: $1 ĘŃšš¤ĎĘݸ¤ľ¤ě¤Ć¤¤¤Ţ¤ť¤ó efailed=$1¤ňĘݸ¤Ç¤­¤Ţ¤ť¤ó¤Ç¤ˇ¤żĄŁ find_eanon=Anonymous FTP¤ĎĽĐĄźĽÁĽăĽëĽľĄźĽĐ¤Ë¤ĎĽťĽĂĽČĽ˘ĽĂĽ×¤ľ¤ě¤Ć¤¤¤Ţ¤ť¤ó find_err=ĽŞĽ×ĽˇĽçĽó¤ČĽŐĽĄĽ¤Ľë¤Î¸Ąş÷¤ËźşÇÔ¤ˇ¤Ţ¤ˇ¤ż ftpaccess_auto=anonymous¤Ť¤é ftpaccess_create=ĽŞĽ×ĽˇĽçĽóĽŐĽĄĽ¤Ľë¤ňşîŔŽ ftpaccess_desc=ĽÇĽŁĽěĽŻĽČĽę¤´¤Č¤ÎÄÉ˛ĂĽŞĽ×ĽˇĽçĽó¤ĎłĆĽÇĽŁĽěĽŻĽČĽęĄź¤ÎĄĘÄĚžď.ftpaccess¤Č¸Ć¤Đ¤ě¤ëĄËĽŐĽĄĽ¤Ľë¤ÇťŘÄę¤Ç¤­¤Ţ¤šĄŁĘĚ¤ÎĽŞĽ×ĽˇĽçĽóĽŐĽĄĽ¤Ľë¤Çžĺ˝ń¤­¤ľ¤ě¤Ę¤ą¤ě¤ĐĄ˘ĽŞĽ×ĽˇĽçĽó¤Ď¤˝¤ÎĽÇĽŁĽěĽŻĽČĽę¤ČǤ°Ő¤ÎĽľĽÖĽÇĽŁĽěĽŻĽČĽę¤Î¤š¤Ů¤Ć¤ÎĽŐĽĄĽ¤Ľë¤ËĹŹÍѤľ¤ě¤Ţ¤šĄŁ ftpaccess_find=ĽŞĽ×ĽˇĽçĽóĽŐĽĄĽ¤Ľë¤ň¸Ąş÷ ftpaccess_from=ĽÇĽŁĽěĽŻĽČĽę¤Ť¤é ftpaccess_return=ĽŞĽ×ĽˇĽçĽóĽŐĽĄĽ¤ĽëĽęĽšĽČ ftpaccess_title=ĽÇĽŁĽěĽŻĽČĽę¤´¤Č¤ÎĽŞĽ×ĽˇĽçĽó¤ČĽŐĽĄĽ¤Ľë ftpindex_addlimit=ĽłĽŢĽóĽÉĽŞĽ×ĽˇĽçĽó¤ňÄɲà .. ftpindex_delete=ĽŐĽĄĽ¤Ľë¤ňşď˝ü ftpindex_edit=ĽÇĽŁĽěĽŻĽĆĽŁĽÖ¤ňĘÔ˝¸ ftpindex_header=$1ÍŃ ftpindex_header2=$2 ¤Î $1 ftpindex_limit=ĽłĽŢĽóĽÉ¤´¤Č¤ÎĽŞĽ×ĽˇĽçĽó ftpindex_opts=ĽÇĽŁĽěĽŻĽČĽę¤´¤Č¤ÎĽŞĽ×ĽˇĽçĽó ftpindex_return=ĽÇĽŁĽěĽŻĽČĽę¤´¤Č¤ÎĽŞĽ×ĽˇĽçĽó¤ČĽŐĽĄĽ¤Ľë ftpindex_title=ĽÇĽŁĽěĽŻĽČĽę¤´¤Č¤ÎĽŞĽ×ĽˇĽçĽó¤ČĽŐĽĄĽ¤Ľë ftpusers_desc=ǧžÚĽáĽËĽĺĄź¤ÇÍ­¸ú¤ËŔßÄꤚ¤ë¤ČĄ˘$1ĽŐĽĄĽ¤Ľë¤ËĽęĽšĽČĽ˘ĽĂĽ×¤ľ¤ě¤żĽćĄźĽś¤ĎFTPĽ˘ĽŻĽťĽš¤ňľńČݤľ¤ě¤Ţ¤š ftpusers_title=ľńČݤľ¤ě¤żFTPĽćĄźĽś(?) index_addr=Ľ˘ĽÉĽěĽš index_any=Á´¤Ć index_apply=ĘŃšš¤ňĹŹÍѤš¤ë index_applymsg=ĽÜĽżĽó¤ňĽŻĽęĽĂĽŻ¤š¤ë¤ČProFTPDĽ×ĽíĽťĽš¤ËSIGHUPĽˇĽ°ĽĘĽë¤ŹÁ÷¤é¤ěĄ˘ĘŃšš¤ŹĹŹÍѤľ¤ě¤Ţ¤šĄŁ index_create=ĽĐĄźĽÁĽăĽëĽľĄźĽĐşîŔŽ index_defdesc=ĽĐĄźĽÁĽăĽëĽľĄźĽĐ¤Źźč¤ę°ˇ¤Ă¤Ć¤¤¤ë°Ęł°¤ÎÁ´¤Ć¤ÎFTPĽłĽÍĽŻĽˇĽçĽó¤ňźč¤ę°ˇ¤Ś index_defserv=ĽÇĽŐĽŠĽëĽČĽľĄźĽĐ index_econf=ProFTPDŔßÄęĽŐĽĄĽ¤Ľë $1 ¤ŹÂ¸şß¤ˇ¤Ę¤¤¤ŤĄ˘ĆâÍƤŹÉÔŔľ¤Ç¤šĄŁ¤˘¤ë¤¤¤ĎĄ˘ĽâĽ¸ĽĺĄźĽëŔßÄę¤ÇĚľ¸ú¤Ë¤Ę¤Ă¤Ć¤¤¤Ţ¤šĄŁ index_eip=<ÉÔĚŔ> index_eproftpd=ProFTPD ĽľĄźĽĐ $1 ¤Ź¤ß¤Ä¤Ť¤ę¤Ţ¤ť¤óĄŁĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤Ę¤¤¤ŤĄ˘ĽâĽ¸ĽĺĄźĽëŔßÄę¤ÇĚľ¸ú¤Ë¤Ę¤Ă¤Ć¤¤¤Ţ¤šĄŁ index_eproftpd2=Ľ×ĽíĽ°ĽéĽŕ $1 ¤ĎProFTPDĽľĄźĽĐ¤ÇÉ˝ź¨¤Ç¤­¤Ţ¤ť¤óĄŁĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤Ę¤¤¤ŤĄ˘ĽâĽ¸ĽĺĄźĽëŔßÄę¤ÇĚľ¸ú¤Ë¤Ę¤Ă¤Ć¤¤¤Ţ¤šĄŁĽłĽŢĽóĽÉ $3 ¤Î˝ĐÎĎ : $4 index_eversion=ProFTPDĽľĄźĽĐ $1 ¤ÎĽĐĄźĽ¸ĽçĽó¤ĎWebmin¤ÇĽľĽÝĄźĽČ¤ľ¤ě¤Ţ¤ť¤óĄŁĽĐĄźĽ¸ĽçĽó 0.99 °Ęžĺ¤ŹĽľĽÝĄźĽČÂĐžÝ¤Ç¤šĄŁ index_global=Ľ°ĽíĄźĽĐĽëŔßÄę index_name=ĽľĄźĽĐĚž index_port=FTP ĽÝĄźĽČ index_return=ĽáĽ¤ĽóĽáĽËĽĺĄź index_start=ĽľĄźĽĐľŻĆ° index_startmsg=ĽÜĽżĽó¤ňĽŻĽęĽĂĽŻ¤š¤ë¤ČĄ˘¸˝şß¤ÎŔßÄę¤ÇFTPĽľĄźĽĐ¤ňľŻĆ°¤ˇ¤Ţ¤šĄŁźŤĆ°ľŻĆ°¸ĺ¤Ç¤âĄ˘Ľ¤ĽóĽżĄźĽÍĽĂĽČĽľĄźĽÓĽšĽâĽ¸ĽĺĄźĽë¤ňťČ¤Ă¤ĆŔßÄęĘŃšš˛ÄÇ˝¤Ç¤šĄŁ index_startmsg2=ĽÜĽżĽó¤ňĽŻĽęĽĂĽŻ¤š¤ë¤ČĄ˘¸˝şß¤ÎŔßÄę¤ÇFTPĽľĄźĽĐ¤ňľŻĆ°¤ˇ¤Ţ¤šĄŁźŤĆ°ľŻĆ°¸ĺ¤Ç¤âĄ˘inetd¤Ę¤É¤ňťČ¤Ă¤ĆŔßÄęĘŃšš˛ÄÇ˝¤Ç¤šĄŁ index_title=ProFTPD ĽľĄźĽĐ index_type=ĽľĄźĽĐĽżĽ¤Ľ× index_vdesc=$1¤Ř¤ÎÁ´ĽłĽÍĽŻĽˇĽçĽó¤ňźč¤ę°ˇ¤Ś index_version=ProFTPd version $1 index_virt=ĽĐĄźĽÁĽăĽëĽľĄźĽĐ index_virts=ĽĐĄźĽÁĽăĽëĽľĄźĽĐ limit_edit=ĽÇĽŁĽěĽŻĽĆĽŁĽÖĘÔ˝¸ limit_header1=ĽĐĄźĽÁĽăĽëĽľĄźĽĐ$2¤ÎĽłĽŢĽóĽÉ$1 limit_header2=ĽĐĄźĽÁĽăĽëĽľĄźĽĐ¤ÎĽłĽŢĽóĽÉ$1 limit_header3=ĽłĽŢĽóĽÉ$2¤ÎĽŞĽ×ĽˇĽçĽó$1 limit_header4=ĽÇĽŁĽěĽŻĽČĽę$2¤ÎĽłĽŢĽóĽÉ$1 limit_header5=anonymous FTP¤Î$1 limit_header6=ĽŐĽĄĽ¤Ľë$2¤ÎĽłĽŢĽóĽÉ$1 limit_header7=śŚÄĚĽłĽŢĽóĽÉ$1 limit_limit=ĽłĽŢĽóĽÉŔßÄę limit_return=ĽłĽŢĽóĽÉĽŞĽ×ĽˇĽçĽó limit_title=ĽłĽŢĽóĽÉĽŞĽ×ĽˇĽçĽó log_apply=Applied changes log_dir=Changed $1 in directory $2 log_dir_l=Changed $1 in directory $2 in server $3 log_dirc=Created directory $1 log_dirc_l=Created directory $1 in server $2 log_dird=Deleted directory $1 log_dird_l=Deleted directory $1 in server $2 log_dirm=Manually edited directory $1 log_dirm_l=Manually edited directory $1 in server $2 log_dirs=Changed directory $1 log_dirs_l=Changed directory $1 in server $2 log_ftpaccess=Changed $1 in options file $2 log_ftpaccessc=Created options file $1 log_ftpaccessd=Deleted options file $1 log_ftpaccessm=Manually edited options file $1 log_ftpusers=Changed denied FTP users log_global=Changed global $1 options log_limit=Changed $1 in per-command options for $2 log_limitc=Created per-command options for $1 log_limitd=Deleted per-command options for $1 log_limitm=Manually edited per-command options for $1 log_limits=Reconfigured per-command options for $1 log_start=Started proftpd log_virt=Changed $1 in server $2 log_virtc=Created server $1 log_virtd=Deleted server $1 log_virtm=Manually edited server $1 log_virts=Reconfigured server $1 lserv_cmd=FTP ĽłĽŢĽóĽÉ lserv_delete=ĽłĽŢĽóĽÉşď˝ü lserv_ecmd=ĽłĽŢĽóĽÉ¤ŹÁŞÂň¤ľ¤ě¤Ć¤¤¤Ţ¤ť¤óĄŁ lserv_err=ĽłĽŢĽóĽÉ¤ňĘݸ¤Ç¤­¤Ţ¤ť¤ó¤Ç¤ˇ¤ż lserv_title=ĽłĽŢĽóĽÉŔßÄę manual_configs=ŔßÄęĽŐĽĄĽ¤ĽëĘÔ˝¸ manual_ecannot=ĽÇĽŁĽěĽŻĽĆĽŁĽÖĘÔ˝¸¤Ďľö˛Ä¤ľ¤ě¤Ţ¤ť¤óĄŁ manual_efile=ÉÔŔľ¤Ę ProFTPdŔßÄęĽŐĽĄĽ¤Ľë manual_etest=ŔßÄęĽŐĽĄĽ¤ĽëĽ¨ĽéĄź : $1 manual_file=ĽŐĽĄĽ¤Ľë¤ÎĽÇĽŁĽěĽŻĽĆĽŁĽÖ¤ňĘÔ˝¸: manual_header=ĽĆĽ­ĽšĽČĽÜĽĂĽŻĽš¤ÇĘÔ˝¸¤ľ¤ě¤ż$1¤ÎProFTPDĽÇĽŁĽěĽŻĽĆĽŁĽÖ¤ĎĄ˘ĽĐĄźĽÁĽăĽëĽľĄźĽĐ¤äĽÇĽŁĽěĽŻĽČĽęĄ˘ĽłĽŢĽóĽÉ¤ËČżąÇ¤ľ¤ě¤Ţ¤šĄŁ manual_title=ĽÇĽŁĽěĽŻĽĆĽŁĽÖĘÔ˝¸ mod_auth_all=Á´Ľ°ĽëĄźĽ× mod_auth_chdir=˝é´üĽíĽ°Ľ¤ĽóĽÇĽŁĽěĽŻĽČĽę mod_auth_chroot=chroot ¤š¤ëĽćĄźĽśşÇÂçżô(?) mod_auth_dir=ĽÇĽŁĽěĽŻĽČĽę mod_auth_echdir=˝é´üĽíĽ°Ľ¤ĽóĽÇĽŁĽěĽŻĽČĽę¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_auth_echroot=chrootĽÇĽŁĽěĽŻĽČĽę¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_auth_edir=ÉÔŔľ¤ĘchrootĽÇĽŁĽěĽŻĽČĽę mod_auth_egroups=chroot¤ÎUnixĽ°ĽëĄźĽ×Ěž¤ŹĆţÎϤľ¤ě¤Ć¤¤¤Ţ¤ť¤ó mod_auth_groups=UnixĽ°ĽëĄźĽ× mod_auth_home=ĽŰĄźĽŕĽÇĽŁĽěĽŻĽČĽę mod_auth_login=ĽíĽ°Ľ¤Ľó¤ŹľńČݤľ¤ě¤ż¤Č¤­ĽŃĽšĽďĄźĽÉ¤ňżŇ¤Í¤Ę¤¤¤č¤Ś¤Ë¤ˇ¤Ţ¤š¤Ť? mod_auth_none=¤Ę¤ˇ mod_auth_root=rootĽíĽ°Ľ¤Ľó¤ňľö˛Ä¤ˇ¤Ţ¤š¤Ť? mod_core_aborted=Ăćťß¤ľ¤ě¤żĽ˘ĽĂĽ×ĽíĄźĽÉĽŐĽĄĽ¤Ľë¤ňşď˝ü¤ˇ¤Ţ¤š¤Ť? mod_core_accessdeny=ĽíĽ°Ľ¤ĽóźşÇÔťţ¤ÎĽáĽĂĽťĄźĽ¸ mod_core_accessgrant=ĽíĽ°Ľ¤ĽóŔޏůĽáĽĂĽťĄźĽ¸ mod_core_action=źÂšÔĆâÍĆ mod_core_adall=Ľ˘ĽŻĽťĽšŔЏćĽÝĽęĽˇĄź mod_core_addefault=žĺ°Ě¤ČĆą¤¸ mod_core_admin=ĽľĄźĽĐ´ÉÍýźÔ¤ÎĽáĄźĽëĽ˘ĽÉĽěĽš mod_core_afrom=ĽíĽ°Ľ¤ĽóĽćĄźĽśĚž mod_core_agroup=ľö˛Ä¤š¤ëĽ°ĽëĄźĽ× mod_core_all=¤š¤Ů¤Ć mod_core_allow=ľö˛Ä mod_core_allow_deny=Ľ˘ĽŻĽťĽšŔŠ¸Â mod_core_allowall=Á´ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ňľö˛Ä mod_core_allowdeny=¤Ţ¤şľö˛ÄĄ˘źĄ¤ËľńČÝ mod_core_anongroup=AnonymousĽáĽóĽĐĄź¤Č¤ˇ¤Ć°ˇ¤ŚĽ°ĽëĄźĽ× mod_core_any=¤š¤Ů¤Ć mod_core_ascii=ASCII mod_core_ato=źÂĽćĄźĽśĚž mod_core_auser=ľö˛Ä¤š¤ëĽćĄźĽś mod_core_authalias=Ľ¨Ľ¤ĽęĽ˘ĽšĽćĄźĽś¤ÎĽíĽ°Ľ¤Ľó¤Ŕ¤ą¤ňľö˛Ä¤ˇ¤Ţ¤š¤Ť? mod_core_authusingalias=AnonymousĽíĽ°Ľ¤Ľó¤ËĽ¨Ľ¤ĽęĽ˘ĽšĽŃĽšĽďĄźĽÉ¤ňťČÍѤˇ¤Ţ¤š¤Ť? mod_core_backlog=TCPĽ­ĽĺĄź¤ÎşÇÂ缾Ľ¤Ľş mod_core_binary=ĽĐĽ¤ĽĘĽę mod_core_bind=Ľ˘ĽÉĽěĽš¤Ë´ŘϢ¤Ĺ¤ą¤ë mod_core_bind_all=Á´¤Ć¤ÎĽ˘ĽÉĽěĽš mod_core_buffer=FTPĽłĽŢĽóĽÉ¤ÎşÇÄšĂÍ mod_core_cdpath=CD ¤ÎĽŃĽš mod_core_cip=ĽŻĽéĽ¤Ľ˘ĽóĽČ IP / CIDR mod_core_classes=Ľ˘ĽŻĽťĽšŔŠ¸ćĽŻĽéĽš¤ňÍ­¸ú¤Ë¤ˇ¤Ţ¤š¤Ť? mod_core_climit=şÇÂ缳ĽÍĽŻĽˇĽçĽóżô mod_core_cls=Ľ˘ĽŻĽťĽšŔŠ¸ćĽŻĽéĽš mod_core_cname=ĽŻĽéĽšĚž mod_core_cond=žňˇď mod_core_cpulimit=CPUĽęĽ˝ĄźĽšĽęĽßĽĂĽČ mod_core_cregex=ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎĽŰĽšĽČĚž°ěĂ× mod_core_ctype=ĽżĽ¤Ľ×¤ČĂÍ mod_core_defaultserver=¤ł¤ÎĽĐĄźĽÁĽăĽëĽľĄźĽĐ¤ňĽÇĽŐĽŠĽëĽČ¤ÇťČÍѤˇ¤Ţ¤š¤Ť? mod_core_defer=ĽíĽ°Ľ¤ĽóĽáĽĂĽťĄźĽ¸¤ÎÉ˝ź¨¤ĎĽíĽ°Ľ¤Ľó´°Îť¸ĺ¤Ë¤ˇ¤Ţ¤š¤Ť? mod_core_deny=ľńČÝ mod_core_denyall=Á´ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ňľńČÝ mod_core_denyallow=¤Ţ¤şľńČÝĄ˘źĄ¤Ëľö˛Ä mod_core_dfilter=ľńČݤš¤ëFTPĽłĽŢĽóĽÉ (regexp¤ÇĽŐĽŁĽëĽż) mod_core_dgroup=ľńČݤš¤ëĽ°ĽëĄźĽ× mod_core_display=ĽíĽ°Ľ¤ĽóÁ°¤ÎĽáĽĂĽťĄźĽ¸ĽŐĽĄĽ¤Ľë mod_core_duser=ľńČݤš¤ëĽćĄźĽś mod_core_eadmin=ĽľĄźĽĐ´ÉÍýźÔ¤ÎĽáĄźĽëĽ˘ĽÉĽěĽš¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_eafrom=Ľ¨Ľ¤ĽęĽ˘Ľš¤ÎĽíĽ°Ľ¤ĽóĽćĄźĽśĚž¤ŹŔľ¤ˇ¤Ż¤˘¤ę¤Ţ¤ť¤ó mod_core_eanongroup=AnonymousĽ°ĽëĄźĽ×¤ĎŔÜÂł¤ˇ¤Ć¤¤¤Ţ¤ť¤ó mod_core_eato=Ľ¨Ľ¤ĽęĽ˘Ľš¤ÎźÂĽćĄźĽśĚž¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_ebacklog=TCPĽ­ĽĺĄź¤ÎşÇÂ缾Ľ¤Ľş¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_ebind=´ŘϢÉŐ¤ą¤é¤ě¤żĽ˘ĽÉĽěĽš¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_ebuffer=FTPĽłĽŢĽóĽÉ¤ÎşÇÄšĂͤŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_ecip=ĽŻĽéĽ¤Ľ˘ĽóĽČ IP / CIDR ¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_eclimit=şÇÂ缳ĽÍĽŻĽˇĽçĽóżô¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_ecpulimit=CPUĽęĽ˝ĄźĽšĽęĽßĽĂĽČ mod_core_ecregex=ĽŰĽšĽČĚž°ěĂפŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_edisplay=¸Ť¤Ä¤Ť¤é¤Ę¤¤ĽíĽ°Ľ¤ĽóÁ°¤ÎĽáĽĂĽťĄźĽ¸ĽŐĽĄĽ¤Ľë mod_core_efilelimit=ĽŞĄźĽ×ĽóĽŐĽĄĽ¤ĽëĽęĽßĽĂĽČ mod_core_efirstcd=READMEĽÇĽŁĽěĽŻĽČĽęĽŐĽĄĽ¤ĽëĚž¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_egoaway=ĽłĽÍĽŻĽˇĽçĽó˛áÂżĽáĽĂĽťĄźĽ¸ĽŐĽĄĽ¤Ľë¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_egowner=Ľ˘ĽĂĽ×ĽíĄźĽÉ¤ľ¤ě¤żĽŐĽĄĽ¤Ľë¤ÎĽ°ĽëĄźĽ×ĽŞĄźĽĘĄź¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_egpname=ÉÔŔľ¤ĘUnixĽ°ĽëĄźĽ×Ěž mod_core_ehard=ĽĎĄźĽÉ $1¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_ehgroup=ĽŐĽĄĽ¤Ľë¤ňąŁ¤šĽŞĄźĽĘĄźĽ°ĽëĄźĽ×Ěž¤ŹŔľ¤ˇ¤Ż¤˘¤ę¤Ţ¤ť¤ó mod_core_ehost=ĽŰĽšĽČĚž'$1'¤ĎŔľ¤ˇ¤Ż¤˘¤ę¤Ţ¤ť¤ó mod_core_ehostsallow=ľö˛ÄĽŰĽšĽČľ­˝ŇĽŐĽĄĽ¤Ľë¤Ź¤˘¤ę¤Ţ¤ť¤ó mod_core_ehostsdeny=ľńČÝĽŰĽšĽČľ­˝ŇĽŐĽĄĽ¤Ľë¤Ź¤˘¤ę¤Ţ¤ť¤ó mod_core_ehuser=ĽŐĽĄĽ¤Ľë¤ňąŁ¤šĽŞĄźĽĘĄźĽćĄźĽśĚž¤ŹŔľ¤ˇ¤Ż¤˘¤ę¤Ţ¤ť¤ó mod_core_einstances=ĽťĽĂĽˇĽçĽóČ֚椏̤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_eip=IPĽ˘ĽÉĽěĽš'$1'¤ĎŔľ¤ˇ¤Ż¤˘¤ę¤Ţ¤ť¤ó mod_core_elogin=ĽÝĽšĽČĽíĽ°Ľ¤ĽóĽáĽĂĽťĄźĽ¸ĽŐĽĄĽ¤Ľë¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_elogins=Ćą°ěĽťĽĂĽˇĽçĽó¤ÎŔÜÂłźşÇÔşÇÂçżô¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_emasq=ĽŢĽšĽŤĽěĄźĽÉĽ˘ĽÉĽěĽš¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_emaxc=şÇÂçĆąťţĽíĽ°Ľ¤Ľóżô¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_ememlimit=ĽáĽâĽęĽęĽ˝ĄźĽšĽęĽßĽĂĽČ mod_core_enet=ĽÍĽĂĽČĽďĄźĽŻĽ˘ĽÉĽěĽš'$1'¤ĎŔľ¤ˇ¤Ż¤˘¤ę¤Ţ¤ť¤ó mod_core_epasv=ĽŃĽĂĽˇĽÖĽâĄźĽÉ¤ÇťČÍѤš¤ëĽÝĄźĽČ¤ÎČϰϤŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_epidfile=PIDĽŐĽĄĽ¤Ľë¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_eport=ĽÝĄźĽČČ֚椏̤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_equit=¸Ť¤Ä¤Ť¤é¤Ę¤¤ĽíĽ°Ľ˘ĽŚĽČĽáĽĂĽťĄźĽ¸ĽŐĽĄĽ¤Ľë mod_core_erwindow=TCPźőżŽĽŚĽŁĽóĽÉĽŚĽľĽ¤Ľş(RWIN)¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_escore=scoreboardĽŐĽĄĽ¤Ľë¤ÎĽÇĽŁĽěĽŻĽČĽę¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_eservername=ĽľĄźĽĐĚž¤Ź¸Ť¤Ä¤Ť¤ę¤Ţ¤ť¤ó mod_core_esoft=Ľ˝ĽŐĽČ $1¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_eswindow=TCPÁ÷żŽĽŚĽŁĽóĽÉĽŚĽľĽ¤Ľş¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_etidle=ŔÚĂÇÁ°¤ÎĽ˘Ľ¤ĽÉĽëťţ´Ö¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_etlog=ĹžÁ÷ĽíĽ°ĽŐĽĄĽ¤Ľë¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_etlogin=ǧžÚÂÔ¤Áťţ´Ö¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_etstalled=ĽÇĄźĽżÁ÷źőżŽĂćĂÇťţ¤ÎÂÔ¤Áťţ´Ö¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_ettransfer=şÇ˝é¤ÎÁ÷źőżŽťţ¤ÎÂÔ¤Áťţ´Ö¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_eumask=ĽŢĽšĽŻĂͤŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_euowner=Ľ˘ĽĂĽ×ĽíĄźĽÉ¤ľ¤ě¤żĽŐĽĄĽ¤Ľë¤ÎĽŞĄźĽĘĄź¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_core_eupname=UnixĽćĄźĽśĚž¤ŹŔľ¤ˇ¤Ż¤˘¤ę¤Ţ¤ť¤ó mod_core_facility=ĽˇĽšĽĆĽŕĽíĽ°ĽŐĽĄĽˇĽęĽĆĽŁĂÍ mod_core_filelimit=ĽŞĄźĽ×ĽóĽŐĽĄĽ¤ĽëĽęĽßĽĂĽČ mod_core_filter=ľö˛Ä¤š¤ëFTPĽłĽŢĽóĽÉŔľľŹÉ˝¸˝ mod_core_firstcd=READMEĽÇĽŁĽěĽŻĽČĽęĽŐĽĄĽ¤ĽëĚž mod_core_foreign=°ŰźÁ¤ĘĽÇĄźĽż¤ÎĹžÁ÷¤ňľö˛Ä¤ˇ¤Ţ¤š¤Ť? mod_core_ftpusers=ĄÖ/etc/ftpusersĄ×ĽŐĽĄĽ¤Ľë¤ÎĽćĄźĽś¤ňľńČݤˇ¤Ţ¤š¤Ť? mod_core_gid=GID mod_core_gmt=Ćüťţ¤ňGMT¤ÇÉ˝ź¨¤ˇ¤Ţ¤š¤Ť? mod_core_gname=Ľ°ĽëĄźĽ×Ěž mod_core_goaway=ĽłĽÍĽŻĽˇĽçĽó˛áÂżĽáĽĂĽťĄźĽ¸ĽŐĽĄĽ¤Ľë mod_core_gowner=Ľ˘ĽĂĽ×ĽíĄźĽÉ¤ľ¤ě¤żĽŐĽĄĽ¤Ľë¤ÎĽ°ĽëĄźĽ×ĽŞĄźĽĘĄź mod_core_gpdef=ĘŃšš¤ˇ¤Ę¤¤ mod_core_gpname=UnixĽ°ĽëĄźĽ× mod_core_gppass=ĽŃĽšĽďĄźĽÉ mod_core_group=UnixĽ°ĽëĄźĽ×¤Č¤ˇ¤ĆźÂšÔ mod_core_grouppassword=Ľ°ĽëĄźĽ×¤ÎĽŃĽšĽďĄźĽÉ mod_core_hard=ĽĎĄźĽÉĽęĽßĽĂĽČ: mod_core_hgroup=¤ł¤ÎĽ°ĽëĄźĽ×¤ŹĽŞĄźĽĘĄź¤ÎĽŐĽĄĽ¤Ľë¤ňąŁ¤š mod_core_hnoaccess=Ľ˘ĽŻĽťĽš¤Ç¤­¤Ę¤¤ĽŐĽĄĽ¤Ľë¤ňąŁ¤ˇ¤Ţ¤š¤Ť? mod_core_hostsallow=ľö˛ÄĽŰĽšĽČľ­˝ŇĽŐĽĄĽ¤Ľë mod_core_hostsdeny=ľńČÝĽŰĽšĽČľ­˝ŇĽŐĽĄĽ¤Ľë mod_core_hstor=Ľ˘ĽĂĽ×ĽíĄźĽÉĂć¤ËĽŐĽĄĽ¤Ľë¤ňąŁ¤ˇ¤Ţ¤š¤Ť? mod_core_huser=¤ł¤ÎĽćĄźĽś¤ŹĽŞĄźĽĘĄź¤ÎĽŐĽĄĽ¤Ľë¤ňąŁ¤š mod_core_ident=ĽęĽâĄźĽČ¤ÎIdentĽćĄźĽśĚž¤ňť˛žČ¤ˇ¤Ţ¤š¤Ť? mod_core_identmsg=ĽŻĽéĽ¤Ľ˘ĽóĽČŔÜÂłĽáĽĂĽťĄźĽ¸ mod_core_identmsg_def=ĽÇĽŐĽŠĽëĽČĽáĽĂĽťĄźĽ¸¤ňÉ˝ź¨ mod_core_ihidden=ČëĚŠĽŐĽĄĽ¤Ľë¤ňąŁ¤ˇ¤Ţ¤š¤Ť? mod_core_inetd=Inetd¤Ť¤éźÂšÔ mod_core_instances=şÇÂçĆąťţŔÜÂłĽťĽĂĽˇĽçĽóżô mod_core_level=ĽˇĽšĽĆĽŕĽíĽ°ĽěĽŮĽë mod_core_links=ĽˇĽóĽÜĽęĽĂĽŻĽęĽóĽŻ¤ňÉ˝ź¨¤ˇ¤Ţ¤š¤Ť? mod_core_login=ĽÝĽšĽČĽíĽ°Ľ¤ĽóĽáĽĂĽťĄźĽ¸ĽŐĽĄĽ¤Ľë mod_core_logins=Ćą°ěĽťĽĂĽˇĽçĽó¤ÎŔÜÂłźşÇÔşÇÂçżô mod_core_masq=Ľ˘ĽÉĽěĽš¤ÎĽŢĽšĽŤĽěĄźĽÉ mod_core_masq_def=źÂĽ˘ĽÉĽěĽš¤ňťČ¤Ś mod_core_max=şÇÂçĂÍ mod_core_maxc=şÇÂçĆąťţĽíĽ°Ľ¤Ľóżô mod_core_maxc1=ĚľŔŠ¸Â mod_core_maxch=ĽŰĽšĽČ¤´¤Č¤ÎşÇÂçĆąťţĽíĽ°Ľ¤Ľóżô mod_core_maxcmsg=ĽíĽ°Ľ¤ĽóĽ¨ĽéĄźĽáĽĂĽťĄźĽ¸ mod_core_maxcu=ĽćĄźĽś¤´¤Č¤ÎşÇÂçĆąťţĽíĽ°Ľ¤Ľóżô mod_core_memlimit=ĽáĽâĽęĽęĽ˝ĄźĽšĽęĽßĽĂĽČ mod_core_mode_0=¤š¤Ů¤Ć mod_core_mode_1=¤Ę¤ˇ mod_core_mode_2=IPĽ˘ĽÉĽěĽš mod_core_mode_3=ĽÍĽĂĽČĽďĄźĽŻ mod_core_mode_4=ĽŰĽšĽČĚž mod_core_nodelay=TCP_NODELAYĽŞĽ×ĽˇĽçĽó¤ňťČÍѤˇ¤Ţ¤š¤Ť? mod_core_none=¤Ę¤ˇ mod_core_nowhere=ĽíĽ°Ęݸ̾¸ú mod_core_octal=ĽŢĽšĽŻĄĘ8żĘËĄĄË mod_core_overwrite=ĽŐĽĄĽ¤Ľë¤Îžĺ˝ń¤­¤ňľö˛Ä¤ˇ¤Ţ¤š¤Ť? mod_core_pasv=ĽŃĽĂĽˇĽÖĽâĄźĽÉ¤ÇťČÍѤš¤ëĽÝĄźĽČ¤ÎČĎ°Ď mod_core_pasvr=şÇžŽ - şÇÂç mod_core_pathallow=Ľ˘ĽĂĽ×ĽíĄźĽÉ¤ňľö˛Ä¤š¤ëĽŐĽĄĽ¤ĽëĚžĄĘŔľľŹÉ˝¸˝ĄË mod_core_pathdeny=Ľ˘ĽĂĽ×ĽíĄźĽÉ¤ňľö˛Ä¤ˇ¤Ę¤¤ĽŐĽĄĽ¤ĽëĚžĄĘŔľľŹÉ˝¸˝ĄË mod_core_pidfile=PIDĽŐĽĄĽ¤Ľë¤ňĘݸ¤š¤ë mod_core_port=ĽÝĄźĽČ¤Ť¤éźčĆŔ mod_core_quit=ĽíĽ°Ľ˘ĽŚĽČĽáĽĂĽťĄźĽ¸ĽŐĽĄĽ¤Ľë mod_core_require=Anonymous ĽíĽ°Ľ¤Ľó¤ËĽŃĽšĽďĄźĽÉ¤ňÍ׾ᤡ¤Ţ¤š¤Ť? mod_core_restart=şĆĽŔĽŚĽóĽíĄźĽÉ¤ňľö˛Ä¤ˇ¤Ţ¤š¤Ť? mod_core_restart2=şĆĽ˘ĽĂĽ×ĽíĄźĽÉ¤ňľö˛Ä¤ˇ¤Ţ¤š¤Ť? mod_core_revdns=ĽŻĽéĽ¤Ľ˘ĽóĽČĽ˘ĽÉĽěĽš¤ÎDNSľŐ°ú¤­¤ň¤ˇ¤Ţ¤š¤Ť? mod_core_rfc2228=RFC2228ˇÁź°¤ÎĽěĽšĽÝĽóĽš¤ňÁ÷żŽ¤ˇ¤Ţ¤š¤Ť? mod_core_rwindow=TCPźőżŽĽŚĽŁĽóĽÉĽŚĽľĽ¤Ľş(RWIN) mod_core_score=scoreboardĽŐĽĄĽ¤Ľë¤ÎĽÇĽŁĽěĽŻĽČĽę mod_core_secs=ÉĂ mod_core_servername=ĽćĄźĽś¤ËÉ˝ź¨¤ľ¤ě¤ëĽľĄźĽĐĚž mod_core_shell=ŔľĹö¤ĘĽˇĽ§Ľë¤ÎĽćĄźĽś¤ÎĽíĽ°Ľ¤Ľó¤Ŕ¤ą¤ňľö˛Ä¤ˇ¤Ţ¤š¤Ť? mod_core_soft=Ľ˝ĽŐĽČĽęĽßĽĂĽČ: mod_core_stand=ĽšĽżĽóĽÉĽ˘ĽíĄźĽó¤ÎĽÇĄźĽâĽó mod_core_swindow=TCPÁ÷żŽĽŚĽŁĽóĽÉĽŚĽľĽ¤Ľş mod_core_tidle=ŔÚĂÇÁ°¤ÎĽ˘Ľ¤ĽÉĽëťţ´Ö mod_core_tight=ÉŹÍפʼݥźĽČ¤Ŕ¤ą¤ňĽĐĽ¤ĽóĽÉ¤ˇ¤Ţ¤š¤Ť? mod_core_tlog=FTPĹžÁ÷ĽíĽ°ĽŐĽĄĽ¤Ľë mod_core_tlogin=ǧžÚÂÔ¤Áťţ´Ö mod_core_transfer=ĽÇĽŐĽŠĽëĽČ¤ÎĹžÁ÷ĽâĄźĽÉ mod_core_tstalled=ĽÇĄźĽżÁ÷źőżŽĂćĂÇťţ¤ÎÂÔ¤Áťţ´Ö mod_core_ttransfer=şÇ˝é¤ÎÁ÷źőżŽťţ¤ÎÂÔ¤Áťţ´Ö mod_core_type=ĽľĄźĽĐĽżĽ¤Ľ× mod_core_ualias=Ľ¨Ľ¤ĽęĽ˘ĽšĚž mod_core_uid=UID mod_core_umask=żˇľŹĽŐĽĄĽ¤ĽëşîŔŽĽŢĽšĽŻ mod_core_umask_d=żˇľŹĽÇĽŁĽěĽŻĽČĽęşîŔŽĽŢĽšĽŻ mod_core_uname=ĽćĄźĽśĚž mod_core_uowner=Ľ˘ĽĂĽ×ĽíĄźĽÉ¤ľ¤ě¤żĽŐĽĄĽ¤Ľë¤ÎĽŞĄźĽĘĄź mod_core_updef=ĘŃšš¤ˇ¤Ę¤¤ mod_core_upname=UnixĽćĄźĽśĚž mod_core_uppass=ĽŃĽšĽďĄźĽÉ mod_core_user=UnixĽćĄźĽś¤Č¤ˇ¤ĆźÂšÔ mod_core_userdir=ĽćĄźĽśĚž¤ÎĽľĽÖĽÇĽŁĽěĽŻĽČĽę¤Ëchroot¤ˇ¤Ţ¤š¤Ť? mod_core_userpassword=žĺ˝ń¤­¤š¤ëĽćĄźĽśĽŃĽšĽďĄźĽÉ mod_core_wtmp=ĽíĽ°Ľ¤ĽóÍúÎň¤ňwtmp¤Ëľ­Ďż¤ˇ¤Ţ¤š¤Ť? mod_log_all=¤š¤Ů¤Ć mod_log_cmd=FTPĽłĽŢĽóĽÉÍŃ mod_log_ecmd=FTPĽłĽŢĽóĽÉ¤ŹĆţÎϤľ¤ě¤Ć¤¤¤Ţ¤ť¤ó mod_log_ecmdnick=ĽłĽŢĽóĽÉ¤ňľ­Ďż¤š¤ë¤Č¤­¤ÎĽŐĽŠĄźĽŢĽĂĽČ¤ňťŘÄꤡ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤ó mod_log_efmt=ĽŐĽŠĄźĽŢĽĂĽČʸťúÎó¤ŹĆţÎϤľ¤ě¤Ć¤¤¤Ţ¤ť¤ó mod_log_enick=ĽŐĽŠĄźĽŢĽĂĽČ¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_log_enickname=ĽŐĽŠĄźĽŢĽĂĽČĚž¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_log_esyslog=ĽíĽ°ĽŐĽĄĽ¤Ľë¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_log_extended=ĽŤĽšĽżĽŕĽíĽ°ĽŐĽĄĽ¤Ľë mod_log_file=ĽíĽ°ĽŐĽĄĽ¤Ľë mod_log_fmt=ĽŐĽŠĄźĽŢĽĂĽČʸťúÎó mod_log_format=ĽŤĽšĽżĽŕĽíĽ°ĽŐĽŠĄźĽŢĽĂĽČ mod_log_nick=ĽíĽ°¤ÎĽŐĽŠĄźĽŢĽĂĽČ mod_log_nickname=ĽŐĽŠĄźĽŢĽĂĽČĚž mod_log_sysdef=ĽˇĽšĽĆĽŕĽíĽ° mod_log_syslog=ĽíĽ°ĘݸĽŐĽĄĽ¤Ľë mod_ls_dotfiles=ĄÖ.Ą×¤ÇťĎ¤Ţ¤ëĽŐĽĄĽ¤Ľë¤â°ěÍ÷¤ËÉ˝ź¨¤ˇ¤Ţ¤š¤Ť? mod_ls_efakegroup=ĽŐĽ§Ľ¤ĽŻĽ°ĽëĄźĽ×¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_ls_efakemode=ĽŐĽ§Ľ¤ĽŻ¸˘¸Â¤Ď8żĘËĄ¤ÇÉ˝ľ­¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ mod_ls_efakeuser=ĽŐĽ§Ľ¤ĽŻĽćĄźĽś¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_ls_els=ĄÖlsĄ×ĽŞĽ×ĽˇĽçĽó¤ŹĆţÎϤľ¤ě¤Ć¤¤¤Ţ¤ť¤ó mod_ls_fakeasgroup=¤Ď¤¤Ą˘ŔÜÂł¤š¤ëĽ°ĽëĄźĽ×¤ňťŘÄę .. mod_ls_fakeasuser=¤Ď¤¤Ą˘ŔÜÂł¤š¤ëĽćĄźĽś¤ňťŘÄę .. mod_ls_fakegroup=ĽÇĽŁĽěĽŻĽČĽę°ěÍ÷¤Ç¤ÎĽŐĽ§Ľ¤ĽŻĽ°ĽëĄźĽ×(?) mod_ls_fakemode=ĽÇĽŁĽěĽŻĽČĽę°ěÍ÷¤Ç¤ÎĽŐĽ§Ľ¤ĽŻ¸˘¸Â(?) mod_ls_fakesamegroup=ŔÜÂł¤ľ¤ě¤żĽ°ĽëĄźĽ× mod_ls_fakesameuser=ŔÜÂł¤ľ¤ě¤żĽćĄźĽś mod_ls_fakeuser=ĽÇĽŁĽěĽŻĽČĽę°ěÍ÷¤Ç¤ÎĽŐĽ§Ľ¤ĽŻĽćĄźĽś(?) mod_ls_ls=ĄÖlsĄ×ĽŞĽ×ĽˇĽçĽó¤ňÄɲà mod_ls_nofake=źÂ¸˘¸Â mod_ls_options=ĽÇĽŁĽěĽŻĽČĽę°ěÍ÷ĽŞĽ×ĽˇĽçĽó mod_ls_strict=ĽćĄźĽśĽŞĽ×ĽˇĽçĽó¤ňžĺ˝ń¤­¤ˇ¤Ţ¤š¤Ť? mod_pam_config=ǧžÚ¤ÇťČÍѤš¤ëPAMĽľĄźĽÓĽš(?) mod_pam_econfig=ǧžÚ¤ÇťČÍѤš¤ëPAMĽľĄźĽÓĽš¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš(?) mod_pam_pam=PAMǧžÚ¤ňťČÍѤˇ¤Ţ¤š¤Ť? mod_readme_display=ĽćĄźĽś¤ËÄĚĂΤš¤ëReadMeĽŐĽĄĽ¤Ľë¤ÎˇÁź° mod_readme_edisplay=ĽćĄźĽś¤ËÄĚĂΤš¤ëReadMeĽŐĽĄĽ¤Ľë¤ÎˇÁź°¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_readme_none=¤Ę¤ˇ mod_site_chmod=chmodĽłĽŢĽóĽÉ¤ňľö˛Ä¤ˇ¤Ţ¤š¤Ť? mod_unixpw_egfile=ÂĺÂŘUnixĽ°ĽëĄźĽ×ĽŐĽĄĽ¤Ľë¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_unixpw_eufile=ÂĺÂŘUnixĽŃĽšĽďĄźĽÉĽŐĽĄĽ¤Ľë¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš mod_unixpw_gfile=ÂĺÂŘUnixĽ°ĽëĄźĽ×ĽŐĽĄĽ¤Ľë mod_unixpw_none=¤Ę¤ˇ mod_unixpw_pam=PAMǧžÚ¤ňžľÇ§¤ˇ¤Ţ¤š¤Ť?(?) mod_unixpw_persist=ĽŃĽšĽďĄźĽÉĽŐĽĄĽ¤Ľë¤ňĽŞĄźĽ×Ľó¤ˇ¤ż¤Ţ¤Ţ¤Ë¤ˇ¤Ţ¤š¤Ť? mod_unixpw_ufile=ÂĺÂŘUnixĽŃĽšĽďĄźĽÉĽŐĽĄĽ¤Ľë proftpd_apply=ŔßÄę¤ňĹŹÍѤš¤ë proftpd_start=ProFTPd¤ÎľŻĆ° proftpd_stop=ProFTPd¤ÎÄäťß start_einetd=inetdĽâĄźĽÉ¤Î¤Č¤­¤ĎĽľĄźĽĐĽÇĄźĽâĽó¤ňľŻĆ°¤Ç¤­¤Ţ¤ť¤ó start_err=FTPĽľĄźĽĐ¤ÎľŻĆ°¤ËźşÇÔ¤ˇ¤Ţ¤ˇ¤ż type_0=ĽÍĽĂĽČĽďĄźĽŻĽŞĽ×ĽˇĽçĽó type_1=ĽíĽ°ĽŞĽ×ĽˇĽçĽó type_2=ĽŐĽĄĽ¤Ľë¤ČĽÇĽŁĽěĽŻĽČĽę type_3=Ľ˘ĽŻĽťĽšŔЏć type_4=¤˝¤Îž type_5=ĽćĄźĽś¤ČĽ°ĽëĄźĽ× type_6=ǧžÚ virt_adddir=ĽÇĽŁĽěĽŻĽČĽęĽŞĽ×ĽˇĽçĽó¤ňÄɲ䚤ë .. virt_addlimit=ĽłĽŢĽóĽÉĽŞĽ×ĽˇĽçĽó¤ňÄɲ䚤ë .. virt_anon=Anonymous FTP virt_cmds=FTPĽłĽŢĽóĽÉ virt_dir=ĽÇĽŁĽěĽŻĽČĽę $1 virt_edit=ĽÇĽŁĽěĽŻĽĆĽŁĽÖĘÔ˝¸ virt_header=ĽÇĽŁĽěĽŻĽČĽę¤ČĽłĽŢĽóĽÉ¤ÎĽŞĽ×ĽˇĽçĽó virt_header1=$1ÍŃ virt_header2=ĽÇĽŐĽŠĽëĽČĽľĄźĽĐÍŃ virt_header3=$1 ĽŞĽ×ĽˇĽçĽó virt_limit=ĽłĽŢĽóĽÉ $1 virt_path=ĽÇĽŁĽěĽŻĽČĽę¤ÎĽŃĽš virt_return=ĽĐĄźĽÁĽăĽëĽľĄźĽĐ virt_title=ĽĐĄźĽÁĽăĽëĽľĄźĽĐĽŞĽ×ĽˇĽçĽó virt_virt=ĽĐĄźĽÁĽăĽëĽľĄźĽĐŔßÄę vserv_addr=Ľ˘ĽÉĽěĽš vserv_delete=ĽĐĄźĽÁĽăĽëĽľĄźĽĐ¤ňşď˝ü vserv_eaddr=Ľ˘ĽÉĽěĽš¤ŹĚ¤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš vserv_ename=¸Ť¤Ä¤Ť¤é¤Ę¤¤ĽľĄźĽĐĚž vserv_eport=ĽÝĄźĽČČ֚椏̤ĆţÎϤŤĄ˘¤Ţ¤ż¤ĎÉÔŔľ¤ĘĂͤǤš vserv_name=ĽľĄźĽĐĚž vserv_port=FTPĽÝĄźĽČ vserv_title=ĽĐĄźĽÁĽăĽëĽľĄźĽĐŔßÄę proftpd/lang/zh_TW.Big50100664000567100000120000003255710075155054014721 0ustar jcameronwheelanon_anon=˛ŐşA°ÎŚWşŮFTP anon_header1=ŚbľęŔŔŚřŞAžš$1¤¤ anon_header2=Śbšwł]ŞşŚřŞAžš¤¤ anon_header3=šďŠóľęŔŔŚřŞAžš$1¤¤Şş°ÎŚWşŮFTP anon_header4=šďŠóšwł]ŚřŞAžš¤¤Şş°ÎŚWşŮFTP anon_return=°ÎŚWşŮFTPżďśľ anon_title=°ÎŚWşŮFTPżďśľ aserv_create=ł]¸m°ÎŚWşŮFTP aserv_desc=¨SŚłŹ°ĽťľęŔŔŚřŞAžšł]¸mŞş°ÎŚWşŮFTPĄC˝Đ¨ĎĽÎŚšŞí¨Ół]ŠwŞěŠlŞş˛ŐşAżďśľĄC aserv_egroup=Ľźżé¤JŠÎľLŽÄŞşUnix¸s˛Ő aserv_eroot=Ľźżé¤JŠÎľLŽÄŞşchrootĽŘżý aserv_err=ľLŞkŤOŚs°ÎŚWşŮFTP aserv_euser=Ľźżé¤JŠÎľLŽÄŞşUnix¨ĎĽÎŞĚ aserv_group=ĽH¸s˛ŐŞş¨­Ľ÷ŹdŹÝ¤ĺĽó aserv_root=ChrootĽŘżý aserv_title=˛ŐşA°ÎŚWşŮFTP aserv_user=ĽH¨ĎĽÎŞĚŞş¨­Ľ÷ŹdŹÝ¤ĺĽó dir_dir=˛ŐşAĽŘżý dir_edit=˝sżčĽŘżý dir_header=¨C­ÓŤüĽOżďśľ dir_header1=šďŠóľęŔŔŚřŞAžš$2¤¤ŞşĽŘżý$1 dir_header2=šďŠóšwł]ŚřŞAžš¤¤ŞşĽŘżý$1 dir_header3=$2¤¤Şş$1żďśľ dir_header4=šďŠó°ÎŚWşŮFTPŞşĽŘżý$1 dir_header5=Ľţ°ěĽŘżý$1 dir_return=¨C­ÓĽŘżýżďśľ dir_title=¨C­ÓĽŘżýżďśľ dserv_delete=§R°ŁĽŘżý˛ŐşA dserv_dir=ĽŘżý¸ôŽ| dserv_eanondir=ĽŘżýĽ˛śˇ¸ü°ÎŚWFTPĽŘżý¤U dserv_edir=Ľźżé¤JĽŘżý¸ôŽ| dserv_err=ľLŞkŤOŚsĽŘżý dserv_title=˛ŐşAĽŘżý eafter=˛ŐşAť{ĂŇĽ˘ąŃ : $1 ĽźŔxŚsĹܧó efailed=ľLŞkŤOŚs$1 find_eanon=¨SŚłŚbĽôŚóľęŔŔŚřŞAžš¤Wł]¸m°ÎŚWşŮFTP find_err=´M§äżďśľŔɎ׼˘ąŃ ftpaccess_auto=ĽH°ÎŚWşŮŞş§ÎŚĄ ftpaccess_create=ŤŘĽßżďśľŔÉŽ× ftpaccess_desc=Śb¨C­ÓĽŘżý¤¤Şş¤@­ÓŔɎפ¤Ą]łqą`şŮ§@.ftpaccessĄ^ĽiĽHŤüŠwŞţĽ[Şş¨C­ÓĽŘżýżďśľĄC¸ÓżďśľĽiŽM ftpaccess_find=´M§äżďśľŔÉŽ× ftpaccess_from=ąqĽŘżý ftpaccess_return=żďśľŔɎ׌CŞí ftpaccess_title=¨C­ÓĽŘżýżďśľŔÉŽ× ftpindex_addlimit=ʰ..ˇsźW¨C­ÓŤüĽOżďśľ ftpindex_delete=§R°ŁŔÉŽ× ftpindex_edit=˝sżčĽŘżý ftpindex_header=ĽÎŠó$1 ftpindex_header2=$2¤¤Şş$1 ftpindex_limit=¨C­ÓŤüĽOżďśľ ftpindex_opts=¨C¸ôĽŘżýżďśľ ftpindex_return=¨C­ÓĽŘżýżďśľŔÉŽ× ftpindex_title=¨C­ÓĽŘżýżďśľŔÉŽ× ftpusers_desc=ŚpŞGŚbĹçĂҚϼܤUąŇ°ĘĄA¸ÓŔÉŽ×$1Śb¤U­ąŚCĽXŞş¨ĎĽÎŞĚľn¤JłX°ÝFTP¨ĎĽÎŞĚŞşł\ĽiĹvąNˇ|łQŠÚľ´ĄC ftpusers_title=ŠÚľ´FTP¨ĎĽÎŞĚ index_addr=Śa§} index_any=ĽôŚó index_apply=ŽMĽÎĹܧó index_applymsg=ÂIżď¸ÓŤöśsłqšLľšĽżŚbšBŚćŞşProFTPD ľ{ŚĄľo°eSIGHUPŤH¸šŽMĽÎˇíŤeŞş˛ŐşAĄC index_create=ŤŘĽßľęŔŔŚřŞAžš index_defdesc=łB˛zĽźťPľęŔŔŚřŞAžšłsąľŞşFTPłsąľ index_defserv=šwł]ŚřŞAžš index_econf=Webmin˛ŐşAŔÉŽ×$1¤ŁŚsŚbŠÎľLŽÄĄCĽiŻŕązŞşźŇ˛Ő˛ŐşA¤ŁĽż˝TĄC index_eip=<ĽźŞž> index_eproftpd=ŚbązŞş¨t˛Î¤¤Ľź§ä¨ěProFTPD ŚřŞAžš $1ĄCĽiŻŕŠ|ĽźŚw¸ËĄAŠÎŞĚźŇ˛Ő˛ŐşA¤ŁĽż˝TĄC index_eproftpd2=ProFTPD ŚřŞAžš¤¤ŚüĽG¨SŚłľ{ŚĄ$1ĄCĽiŻŕŠ|ĽźŚw¸ËĄAŠÎŞĚązŞşźŇ˛Ő˛ŐşA¤ŁĽż˝TĄC index_eversion=Webmin ¤Ł¤ä´Š¸ÓŞŠĽťŞşProFTPD $1ĄAĽŚĽu¤ä´Š0.99ŠÎĽH¤WŞŠĽťĄC index_global=Ľţ°ě˛ŐşA index_name=ŚřŞAžšŚWşŮ index_port=FTP°đ index_return=ĽDżďłć index_start=ąŇ°ĘŚřŞAžš index_startmsg=ÂIżď¸ÓŤöśsĽHˇíŤeŞş˛ŐşA¨ÓąŇ°ĘFTPŚřŞAžšĄC­YťÝ­nŞş¸ÜĄAąz¤]ĽiĽH¨ĎĽÎInternet ŞA°Č index_startmsg2=ÂIżď¸ÓŤöśsĽHˇíŤeŞş˛ŐşA¨ÓąŇ°ĘFTPŚřŞAžšĄC­YťÝ­nŞş¸ÜĄAąz¤]Ľi¨ĎĽÎinetdŠÎŹY¨ÇŚPľĽľ{ŚĄąNŚřŞAžš˛ŐşA index_title=ProFTPD ŚřŞAžš index_type=ŚřŞAžšĂţŤŹ index_vdesc=ąNŠŇŚłłsąľłB˛zŚÜ$1 index_version=ProFTPdŞŠĽť$1 index_virt=ľęŔŔŚřŞAžš index_virts=ľęŔŔŚřŞAžš limit_edit=˝sżčĽŘżý limit_header1=šďŠóľęŔŔŚřŞAžš$2¤¤ŞşŤüĽO$1 limit_header2=šďŠóšwł]ŚřŞAžš¤¤ŞşŤüĽO$1 limit_header3=ŤüĽO$2Şş$1żďśľ limit_header4=šďŠóĽŘżý$2¤¤ŞşŤüĽO$1 limit_header5=šďŠó°ÎŚWşŮFTP¤¤ŞşŤüĽO$1 limit_header6=šďŠó¤ĺĽó$2¤¤ŞşŤüĽO$1 limit_header7=Ľţ°ěŤüĽO$1 limit_limit=˛ŐşAŤüĽO limit_return=¨C­ÓŤüĽOżďśľ limit_title=¨C­ÓŤüĽOżďśľ log_anon=ŚbŚřŞAžš$2°ÎŚWFTP¤¤Ĺܧó$1 log_anonc=ł]Šw$1°ÎŚWFTP log_anond=§R°ŁŚřŞAžš$1°ÎŚWFTP log_anonm=¤â°Ę˝sżčŚřŞAžš$1°ÎŚWFTP log_anons=­Ťˇs˛ŐşAŚřŞAžš$1°ÎŚWFTP log_apply=ŽMĽÎĹܧó log_dir=ĹܧóĽŘżý$2¤¤Şş$1 log_dir_l=ĹܧóŚřŞAžš$3¤WĽŘżý$2¤¤Şş$1 log_dirc=ŤŘĽßĽŘżý$1 log_dirc_l=ŤŘĽßŚřŞAžš$2¤WŞşĽŘżý$1 log_dird=§R°ŁĽŘżý$1 log_dird_l=§R°ŁŚřŞAžš$2¤¤ŞşĽŘżý$1 log_dirm=¤â°Ę˝sżčĽŘżý$1 log_dirm_l=¤â°Ę˝sżčŚřŞAžš$2¤¤ŞşĽŘżý$1 log_dirs=ĹܧóĽŘżý$1 log_dirs_l=ĹܧóŚřŞAžš$2¤¤ŞşĽŘżý$1 log_ftpaccess=ĹܧóżďśľŔÉŽ×$2¤¤Şş$1 log_ftpaccessc=ŤŘĽßżďśľŔÉŽ×$1 log_ftpaccessd=§R°ŁżďśľŔÉŽ×$1 log_ftpaccessm=¤â°Ę˝sżčżďśľŔÉŽ×$1 log_ftpusers=ĹܧółQŠÚŞşFTP¨ĎĽÎŞĚ log_global=ĹܧóĽţ°ě$1żďśľ log_limit=ĹܧóŚb¨C­ÓŤüĽOżďśľĄBĽÎŠó$2Şş$1 log_limitc=ŤŘĽßĽÎŠó$1Şş¨C­ÓŤüĽOżďśľ log_limitd=§R°ŁĽÎŠó$1¨C­ÓŤüĽOżďśľ log_limitm=¤â°Ę˝sżčĽÎŠó$1Şş¨C­ÓŤüĽOżďśľ log_limits=­Ťˇs˛ŐşAĽÎŠó$1¨C­ÓŤüĽOżďśľ log_start=ąŇ°Ęproftpd log_virt=ĹܧóŚřŞAžš$2¤¤Şş$1 log_virtc=ŤŘĽßŚřŞAžš$1 log_virtd=§R°ŁŚřŞAžš$1 log_virtm=¤â°Ę˝sżčŚřŞAžš$1 log_virts=­Ťˇs˛ŐşAŚřŞAžš$1 lserv_cmd=FTPŤüĽO lserv_delete=§R°ŁŤüĽO˛ŐşA lserv_ecmd=ĽźżďžÜŤüĽO lserv_err=ľLŞkŤOŚsŤüĽO lserv_title=˛ŐşAŤüĽO manual_configs=˝sżč˛ŐşAŔÉŽ× manual_ecannot=ąz¤ŁłQ¤šł\¤â°Ę˝sżčŤüĽO manual_efile=ľLŽÄŞşProFTPd˛ŐşAŔÉŽ× manual_etest=°ť´ú¨ě˛ŐşAŔɎ׿ůť~ : $1 manual_file=˝sżčŔɎפ¤ŞşŤüĽO: manual_header=˝Đ¨ĎĽÎ¤U­ąŞş¤ĺŚrŽŘĄA¤â°Ę˝sżč$1¤¤ŽMĽÎŠóĽťŚřŞAžšĄBĽŘżýŠÎŤüĽOŞşProFTPDĽŘżýĄC manual_title=˝sżčĽŘżý mod_auth_all=ŠŇŚł¤H mod_auth_chdir=ŞěŠlľn¤JĽŘżý mod_auth_chroot=ChrootĽŘżý mod_auth_dir=ĽŘżý mod_auth_echdir=Ľźżé¤JŠÎľLŽÄŞşŞěŠlĽŘżý mod_auth_echroot=Ľźżé¤JŠÎľLŽÄŞşchrootĽŘżý mod_auth_edir=ľLŽÄŞşchrootĽŘżý mod_auth_egroups=Ľźżé¤J­nchrootŞşUnix¸s˛Ő mod_auth_groups=Unix¸s˛Ő mod_auth_home=ŽaĽŘżý mod_auth_login=ŚpŞGľn¤JłQŠÚľ´ĄA¤Ł¸ß°ÝąK˝XśÜĄH mod_auth_none=ľL mod_auth_root=¤šł\ĽHrootľn¤JśÜĄH mod_core_aborted=ŹO§_§R°ŁĽ˘ąŃŞş¤WśÇĄH mod_core_accessdeny=ľn¤JĽ˘ąŃ¸ę°T mod_core_accessgrant=ľn¤JڍĽ\¸ę°T mod_core_action=°Ę§@ mod_core_adall=łX°Ýąą¨îľŚ˛¤ mod_core_addefault=ťPŹŰŚPĄHĄH mod_core_admin=ŚřŞAžšşŢ˛z­űŞşślĽóŚa§} mod_core_afrom=ľn¤J¨ĎĽÎŞĚŚWşŮ mod_core_agroup=śČ¤šł\¸s˛Ő mod_core_all=ŠŇŚł mod_core_allow=¤šł\ mod_core_allow_deny=­­¨îłX°Ý mod_core_allowall=¤šł\ŠŇŚłŞş¨ĎĽÎŞĚşÝ mod_core_allowdeny=¤šł\ľMŤáŠÚľ´ mod_core_anongroup=¸s˛ŐąNڍ­űˇí§@°ÎŚWşŮ¨ĎĽÎŞĚ mod_core_any=ĽôŚó mod_core_ascii=ASCII mod_core_ato=Żušę¨ĎĽÎŞĚŚWşŮ mod_core_auser=śČ¤šł\¨ĎĽÎŞĚ mod_core_authalias=Ľu¤šł\§OŚWşŮ¨ĎĽÎŞĚľn¤JśÜĄH mod_core_authusingalias=°ÎŚWşŮľn¤JĽi¨ĎĽÎ§OŚWşŮąK˝XśÜĄH mod_core_backlog=TCPŤÝżěŚîŚCŞřŤ× mod_core_binary=¤GśiŚě mod_core_bind=ŹůŠwŚa§} mod_core_bind_all=ŠŇŚłŚa§} mod_core_buffer=łĚ¤jFTPŤüĽOŞřŤ× mod_core_cdpath=ĽúşĐĽŘżýŞşąśŽ| mod_core_cip=¨ĎĽÎŞĚşÝIPşô¸ô/CIDR mod_core_classes=ąŇ°ĘłX°Ýąą¨îŞşĂţ§OśÜĄH mod_core_climit=łĚ¤jłsąľźĆ mod_core_cls=łX°Ýąą¨îĂţ§O mod_core_cname=Ăţ§OŚWşŮ mod_core_cond=ąřĽó mod_core_cpulimit=CPU¸ęˇ˝­­¨î mod_core_cregex=¨ĎĽÎŞĚşÝĽDž÷˛ĹŚX mod_core_ctype=ĂţŤŹŠM­Č mod_core_defaultserver=¨ĎĽÎšwł]ŞşľęŔŔŚřŞAžš mod_core_defer=ľn¤J¤§ŤáŚAĽX˛{ĹwŞď­śĄH mod_core_deny=ŠÚľ´ mod_core_denyall=ŠÚľ´ŠŇŚłŞş¨ĎĽÎŞĚşÝ mod_core_denyallow=ŠÚľ´ľMŤá¤šł\ mod_core_dfilter=ŠÚľ´FTP ŤüĽO ĽżłWŞíĽÜŚĄp mod_core_dgroup=ŠÚľ´¸s˛Ő mod_core_display=ľn¤JŤeŞş¸ę°TŔÉŽ× mod_core_duser=ŠÚľ´¨ĎĽÎŞĚ mod_core_eadmin=Ľźżé¤JŠÎľLŽÄŞşślĽóŚě§} mod_core_eafrom=ľLŽÄŞşľn¤J¨ĎĽÎŞĚ§OŚWşŮ mod_core_eanongroup=Ľźżé¤J°ÎŚWşŮ¸s˛Ő mod_core_eato=Ľźżé¤JŠÎľLŽÄŞşŻušę¨ĎĽÎŞĚ§OŚWşŮ mod_core_ebacklog=Ľźżé¤JŠÎľLŽÄŞşŤÝżěŚîŚCŞřŤ× mod_core_ebind=Ľźżé¤JŠÎľLŽÄŞşŹůŠwŚě§} mod_core_ebuffer=Ľźżé¤JŠÎľLŽÄŞşłĚ¤jŤüĽOŞřŤ× mod_core_ecip=Ľźżé¤JŠÎľLŽÄŞşŤČ¤áIPşô¸ô/ CIDR mod_core_eclimit=Ľźżé¤JŠÎľLŽÄŞşłĚ¤jłsąľźĆ mod_core_ecpulimit=CPU¸ęˇ˝­­¨î mod_core_ecregex=Ľźżé¤J¨ĎĽÎŞĚşÝĽDž÷ŚWşŮŹŰ˛Ĺ mod_core_edisplay=ŻĘ¤Öľn¤JŤeŞş¸ę°TŔÉŽ× mod_core_efilelimit=Ľ´ś}ŔɎ׭­¨î mod_core_efirstcd=ŻĘ¤ÖREADMEŔɎ׎׌WşŮĽŘżý mod_core_egoaway=ŻĘ¤Öł\Śhłsąľ¤ĺĽó mod_core_egowner=Ľźżé¤JŠÎľLŽÄŞş¤WśÇŔɎתş¸s˛Ő mod_core_egpname=ľLŽÄŞşUnix¸s˛ŐŚWşŮ mod_core_ehard=Ľźżé¤JŠÎľLŽÄŞşľwŠĘ$1 mod_core_ehgroup=ľLŽÄŞş­nÁôÂĂŔɎתş¸s˛ŐŚWşŮ mod_core_ehost='$1'¤ŁŹO¤@­ÓŚłŽÄŞşĽDž÷ŚWşŮ mod_core_ehostsallow=ąo¨ě¤šł\ĽDž÷ŞşŔÉŽ×¤ŁŚsŚb mod_core_ehostsdeny=ŠÚľ´ĽDž÷ŞşŔÉŽ×¤ŁŚsŚb mod_core_ehuser=ľLŽÄŞş­nÁôÂĂŔɎתş¨ĎĽÎŞĚŚWşŮ mod_core_einstances=Ľźżé¤JŠÎľLŽÄŞşšď¸ÜźĆ mod_core_eip='$1'¤ŁŹO¤@­ÓŚłŽÄŞşIPŚě§} mod_core_elogin=ŻĘ¤Öľn¤J¤§ŤáŞş¸ę°TŔÉŽ× mod_core_elogins=Ľźżé¤JŠÎľLŽÄŞşĽ˘ąŃľn¤JڏźĆ mod_core_emasq=Ľźżé¤JŠÎľLŽÄŞş°°¸ËŚě§} mod_core_emaxc=Ľźżé¤JŠÎľLŽÄŞşłĚ¤jľn¤JźĆ mod_core_ememlimit=°OžĐĹé¸ęˇ˝­­¨î mod_core_enet='$1'¤ŁŹO¤@­ÓŚłŽÄŞşşô¸ôŚě§} mod_core_epasv=Ľźżé¤JŠÎľLŽÄŞşPASV°đźĆ mod_core_epidfile=Ľźżé¤JŠÎľLŽÄŞşPIDŔÉŽ× mod_core_eport=Ľźżé¤JŠÎľLŽÄŞş°đ¸š mod_core_equit=ŻĘ¤ÖľnĽXŽÉŞş¸ę°TŔÉŽ× mod_core_erwindow=Ľźżé¤JŠÎľLŽÄŞşąľŚŹľřľĄ¤j¤p mod_core_escore=Ľźżé¤JŠÎľLŽÄŞşscoreboardĽŘżýŞş¸ôŽ| mod_core_eservername=Ľźżé¤JŚřŞAžšŚWşŮ mod_core_esoft=Ľźżé¤JŠÎľLŽÄŞşłnŠĘ$1 mod_core_eswindow=Ľźżé¤JŠÎľLŽÄŞşľo°eľřľĄ¤j¤p mod_core_etidle=Ľźżé¤JŠÎľLŽÄŞşŞĹś˘ŽÉśĄ mod_core_etlog=Ľźżé¤JŠÎľLŽÄŞşśÇżé¤éťxŔÉŽ× mod_core_etlogin=Ľźżé¤JŠÎľLŽÄŞşĹçĂŇŽÉśĄ mod_core_etstalled=Ľźżé¤JŠÎľLŽÄŞşŠľżđśÇżéŽÉśĄ mod_core_ettransfer=Ľźżé¤JŠÎľLŽÄŞş˛Ä¤@ڏśÇżéŽÉśĄ mod_core_eumask=Ľźżé¤JŠÎľLŽÄŞşumask mod_core_euowner=Ľźżé¤JŠÎľLŽÄŞş¤WśÇŔɎתşŠŇŚłŞĚ mod_core_eupname=ľLŽÄUnix¨ĎĽÎŞĚŚWşŮ mod_core_facility=¨t˛Î¤éťx¤u¨ă mod_core_filelimit=ś}ąŇŔɎ׭­¨î mod_core_filter=¤šł\FTPŤüĽOĽżŤhšBşâŚĄ mod_core_firstcd=READMEŔɎ׎׌WşŮŞşĽŘżý mod_core_foreign=¤šł\Ľ~¨ÓŞş¸ęŽĆśÇżéśÜĄH mod_core_ftpusers=ŠÚľ´/etc/ftpusersŔɎפ¤Şş¨ĎĽÎŞĚ mod_core_gid=GID mod_core_gmt=ĽHŽćŞLŤÂŞvźĐˇÇŽÉśĄŞşĹăĽÜڏźĆĄH mod_core_gname=¸s˛ŐŚWşŮ mod_core_goaway=ł\Śhłsąľ¸ę°TŔÉŽ× mod_core_gowner=¤WśÇ¤ĺĽóŞş¸s˛Ő mod_core_gpdef=ŤOŻd­ěŚłŞş mod_core_gpname=Unix¸s˛Ő mod_core_gppass=ąK˝X mod_core_group=ĽHUnix¸s˛ŐŞş¨­Ľ÷šBŚć mod_core_grouppassword=¸s˛ŐąK˝X mod_core_hard=ľwŠĘ­­¨îĄG mod_core_hgroup=ÁôÂĂÄÝŠó¸s˛ŐŞşŔÉŽ× mod_core_hnoaccess=ľLŞkłX°ÝŞşÁôÂĂŔɎץH mod_core_hostsallow=ąo¨ě¤šł\ĽDž÷ŞşŔÉŽ× mod_core_hostsdeny=ŠÚľ´ĽDž÷ŞşŔÉŽ× mod_core_hstor=ÁôÂäWśÇ¤ĺĽóśÜ? mod_core_huser=ÁôÂĂÄÝŠó¨ĎĽÎŞĚŞşŔÉŽ× mod_core_ident=Źd§äťˇşÝIdent¨ĎĽÎŞĚŚWşŮĄH mod_core_identmsg=¨ĎĽÎŞĚşÝłsąľ¸ę°T mod_core_identmsg_def=ĹăĽÜšwł]¸ę°T mod_core_ihidden=¨ĎÁôÂĂŔɎ׼iłX°ÝĄH mod_core_inetd=ąqInetdšBŚć mod_core_instances=łĚ¤jŞşŚP´Ášď¸ÜźĆ mod_core_level=¨t˛Î¤éťxźhŻĹ mod_core_links=ĹăĽÜ˛Ĺ¸šłsąľĄH mod_core_login=ľn¤J¤§ŤáŞş¸ę°TŔÉŽ× mod_core_logins=¨Cڏšď¸ÜłĚ¤jŞşĽ˘ąŃľn¤JڏźĆ mod_core_masq=°°¸ËڍŚa§} mod_core_masq_def=¨ĎĽÎŻušęŞşŚě§} mod_core_max=łĚ¤j­Č mod_core_maxc=łĚ¤jŞşŚP´Áľn¤JźĆ mod_core_maxc1=¤Ł­­ mod_core_maxch=¨C­ÓĽDž÷łĚ¤jŞşŚP´Áľn¤JźĆ mod_core_maxcmsg=ľn¤Jżůť~¸ę°T mod_core_maxcu=¨C­Ó¨ĎĽÎŞĚłĚ¤jŞşŚP´Áľn¤JźĆ mod_core_memlimit=°OžĐĹé¸ęˇ˝­­¨î mod_core_mode_0=ŠŇŚł mod_core_mode_1=ľL mod_core_mode_2=IPŚa§} mod_core_mode_3=şô¸ô mod_core_mode_4=ĽDž÷ŚWşŮ mod_core_nodelay=¨ĎĽÎTCP_NODELAY´ĄźŃżďśľĄH mod_core_none=ľL mod_core_nowhere=°ąĽÎľn¤J mod_core_octal=¤Kśi¨îžB¸n mod_core_overwrite=¤šł\­ŤźgŔɎלܥH mod_core_pasv=PASV°đ˝dłň mod_core_pasvr=łĚ¤p - łĚ¤j mod_core_pathallow=¤šł\¤WśÇŞşŔɎ׎׌WşŮĽżłWŞíĽÜŚĄ mod_core_pathdeny=ŠÚľ´¤WśÇŞşŔɎ׎׌WşŮĽżłWŞíĽÜŚĄ mod_core_pidfile=ąNPIDźg¤J¤ĺĽó mod_core_port=şĘĹĽ°đ mod_core_quit=ľnĽXŽÉŞş¸ę°TŔÉŽ× mod_core_require=°ÎŚWşŮľn¤JŽÉťÝ­nąK˝XśÜĄH mod_core_restart=¤šł\­ŤˇsąŇ°Ę¤U¸üśÜĄH mod_core_restart2=¤šł\­ŤˇsąŇ°Ę¤WśÇśÜĄH mod_core_revdns=DNS°fŚVŹd§ä¨ĎĽÎŞĚşÝŞşŚě§}śÜĄH mod_core_rfc2228=ľo°eRFC2228¤čŚĄŞşŚ^őXĄH mod_core_rwindow=TCPąľŚŹľřľĄ¤j¤p mod_core_score=scoreboardĽŘżýŞş¸ôŽ| mod_core_secs=Źí mod_core_servername=ŚV¨ĎĽÎŞĚĹăĽÜŞşŚřŞAžšŚWşŮ mod_core_shell=śČ¤šł\ąaŚłŚłŽÄŞşshellŞş¨ĎĽÎŞĚľn¤JĄH mod_core_soft=łnŠĘ­­¨îĄG mod_core_stand=żWĽßŞşŚuĹ@ľ{§Ç mod_core_swindow=TCPľo°eľřľĄ¤j¤p mod_core_tidle=Ľźłsąľ¤§ŤeŞşŞĹś˘ŽÉśĄ mod_core_tight=śČłsąľŚÜťÝ­nŞş°đ¤WĄH mod_core_tlog=FTPśÇżé¤éťxŔÉŽ× mod_core_tlogin=ľĽŤÝĹçĂŇŞşŽÉśĄ mod_core_transfer=šwł]śÇżéźŇŚĄ mod_core_tstalled=ľĽŤÝŠľżđŞş¸ęŽĆśÇżéŞşŽÉśĄ mod_core_ttransfer=ľĽŤÝ˛Ä¤@ڏśÇżéŞşŽÉśĄ mod_core_type=ŚřŞAžšĂţŤŹ mod_core_ualias=¨ĎĽÎŞĚ§OŚWşŮ mod_core_uid=UID mod_core_umask=ˇs¤ĺĽóumask mod_core_umask_d=ˇsĽŘżýžB¸n mod_core_uname=¨ĎĽÎŞĚŚWşŮ mod_core_uowner=¤WśÇ¤ĺĽóŞşŠŇŚłŞĚ mod_core_updef=ŤOŻd­ěŚłŞş mod_core_upname=Unix¨ĎĽÎŞĚ mod_core_uppass=ąK˝X mod_core_user=ĽHUnix¨ĎĽÎŞĚŞş¨­Ľ÷¨ÓšBŚć mod_core_userdir=Chroot¨ĎĽÎŞĚŞş¤lĽŘżýĄH mod_core_userpassword=ÂĐť\¨ĎĽÎŞĚąK˝X mod_core_wtmp=Śbwtmp¤¤°Ożýľn¤JĄH mod_log_all=ŠŇŚł mod_log_cmd=ĽÎŠóFTPŤüĽO mod_log_ecmd=Ľźżé¤JFTPŤüĽO mod_log_ecmdnick=ŚbŤüŠw­n°OżýŞşŤüĽOŽÉĄAązĽ˛śˇżé¤J¤éťxŽćŚĄ mod_log_efmt=Ľźżé¤JŽćŚĄŚrŚę mod_log_enick=Ľźżé¤JŠÎľLŽÄŞş¤éťxŽćŚĄŚWşŮ mod_log_enickname=Ľźżé¤JŠÎľLŽÄŞşŽćŚĄŚWşŮ mod_log_esyslog=Ľźżé¤JŠÎľLŽÄŞş¤éťxŔÉŽ× mod_log_extended=ŚŰŠw¤éťxŔÉŽ× mod_log_file=¤éťxŔÉŽ× mod_log_fmt=ŽćŚĄŚrŚę mod_log_format=ŚŰŠw¸q¤éťxŽćŚĄ mod_log_nick=¤éťxŽćŚĄ mod_log_nickname=ŽćŚĄŚWşŮ mod_log_sysdef=¨t˛Î¤éťx mod_log_syslog=ąNżůť~°OżýŚÜŔɎפ¤ mod_ls_dotfiles=ŚbŚCŞí¤¤ĹăĽÜĽH'.'ś}ŔYŞş¤ĺĽóĄH mod_ls_efakegroup=ľLŽÄŠÎĽźżé¤J°˛¸s˛Ő mod_ls_efakemode=°˛ł\ĽiĽ˛śˇŹO¤Kśi¨îŞş mod_ls_efakeuser=ľLŽÄŠÎĽźżé¤J°˛¨ĎĽÎŞĚ mod_ls_els=Ľźżé¤JŞţĽ[Şşlsżďśľ mod_ls_fakeasgroup=ŹO,¨Ě¸s˛Ő mod_ls_fakeasuser=ŹO,¨Ě¨ĎĽÎŞĚ mod_ls_fakegroup=ĽŘżýŚCŞí¤¤Şş°˛¸s˛ŐĄH mod_ls_fakemode=ĽŘżýŚCŞí¤¤Şş°˛ł\ĽiĄH mod_ls_fakesamegroup=łs˝u¸s˛Ő mod_ls_fakesameuser=łsąľ¨ĎĽÎŞĚ mod_ls_fakeuser=ĽŘżýŚCŞí¤¤Şş°˛¨ĎĽÎŞĚĄH mod_ls_ls=ŞţĽ[Şşlsżďśľ mod_ls_nofake=ŻušęŞşł\Ľi mod_ls_options=ĽŘżý˛Młćżďśľ mod_ls_strict=ÂĐźg¨ĎĽÎŞĚżďśľ? mod_pam_config=¨Ď¨ĎĽÎŞĚPAMŞA°Č¨ÓĹçĂŇ mod_pam_econfig=Ľźżé¤JŠÎľLŽÄŞşPAMŞA°Č mod_pam_pam=ĽÎPAM¨ÓĹçĂŇĄH mod_readme_display=łqŞž¨ĎĽÎŞĚŹŰ˛ĹŞşreadmeŔÉŽ× mod_readme_edisplay=Ľźżé¤JreadmeŔɎןҌĄ mod_readme_none=ľL mod_site_chmod=¤šł\chmodŤüĽOĄH mod_unixpw_egfile=Ľźżé¤JŠÎľLŽÄŞşUnix¸s˛ŐŔÉŽ× mod_unixpw_eufile=Ľźżé¤JŠÎľLŽÄŞşUnixąK˝XŔÉŽ× mod_unixpw_gfile=šwłĆŞşUnix¸s˛Ő¤ĺĽó mod_unixpw_none=ľL mod_unixpw_pam=¨CڏłŁąNPAMˇí§@authorativeĄH mod_unixpw_persist=ĽĂ¤[ś}ŠńąK˝X¤ĺĽóĄH mod_unixpw_ufile=šwłĆŞşUnixąK˝XŔÉŽ× proftpd_apply=ŽMĽÎĹܧó proftpd_start=ąŇ°ĘProFTPd proftpd_stop=°ą¤îProFTPd start_einetd=ązľLŞkŚbinetdźŇŚĄ¤¤ąŇ°ĘŚřŞAžšŞş¨žĹ@ľ{ŚĄĄC start_err=ąŇ°ĘFTPŚřŞAžšĽ˘ąŃ type_0=şô¸ôżďśľ type_1=ľn¤Jżďśľ type_2=ŔɎ׊MĽŘżý type_3=łX°Ýąą¨î type_4=Âřśľ type_5=¨ĎĽÎŞĚŠM¸s˛Ő type_6=ĹçĂŇ virt_adddir=ʰ..ˇsźW¨C­ÓĽŘżýżďśľ virt_addlimit=ʰ..ˇsźW¨C­ÓŤüĽOżďśľ virt_anon=°ÎŚWşŮŔɎלǰe¨óÄł virt_cmds=FTPŤüĽO virt_dir=ĽŘżý$1 virt_edit=˝sżčĽŘżý virt_header=¨C­ÓĽŘżýŠM¨C­ÓŤüĽOżďśľ virt_header1=šďŠó$1 virt_header2=šďŠóšwł]ŚřŞAžš virt_header3=$1żďśľ virt_limit=ŤüĽO$1 virt_path=ĽŘżý¸ôŽ| virt_return=ľęŔŔŚřŞAžš virt_title=ľęŔŔŚřŞAžšżďśľ virt_virt=˛ŐşAľęŔŔŚřŞAžš vserv_addr=Śa§} vserv_delete=§R°ŁľęŔŔŚřŞAžš vserv_eaddr=Ľźżé¤JŚě§}ŠÎľLŽÄŞşŚě§} vserv_ename=Ľźżé¤JŚřŞAžšŚWşŮ vserv_eport=Ľźżé¤J°đ¸šŠÎľLŽÄŞş°đ¸š vserv_name=ŚřŞAžšŚWşŮ vserv_port=FTP°đ vserv_title=˛ŐşAľęŔŔŚřŞAžš proftpd/images/0040755000567100000120000000000007635467612013505 5ustar jcameronwheelproftpd/images/icon.gif0100664000567100000120000000301307340450135015101 0ustar jcameronwheelGIF89a00÷ýýţţţţţţţţţţţ ţ ţ ţ ţţţţţţţţţţ ţ$$ţ%%ţ''ţ((ţ))ţ,,ţ--ţ..ţ22ţ55ţ66ţ::ţ;;ţ==ţ>>ţ??ţAAţEEţHHţMMţOOţPPţRRţSSţUUţXXţZZţ]]ţ__ţ``ţccţddţeeţffţiiţmmţnnţooţppţrrţssţvvţzzţ||ţ~~ţţţ‚‚ţ††ţ‰‰ţŠŠţŽŽţ’’ţ““ţ••ţœœţţ˘˘ţ§§ţŠŠţŞŞţ°°ţąąţśśţˇˇţ¸¸ţššţťťţźźţ˝˝ţžžţżżţŔŔţÁÁţÂÂţĂĂţÄÄţĆĆţÇÇţËËţĎĎţĐĐţŐŐţÖÖţÚÚţÜÜţŢŢţááţăăţĺĺţççţččţééţęęţëëţěěţííţîîţđđţńńţňňţóóţőőţööţ÷÷ţřřţůůţúúţűűţüüţýýţţţţţ˙˙˙˙˙˙˙ ˙˙˙˙˙$$˙**˙,,˙00˙55˙66˙==˙CC˙GG˙HH˙KK˙LL˙PP˙WW˙ee˙ff˙ii˙tt˙xx˙{{˙}}˙ŠŠ˙˜˜˙ŞŞ˙­­˙°°˙ˇˇ˙źź˙żż˙ĆĆ˙ČČ˙ËË˙ÍÍ˙ĐĐ˙××˙ŘŘ˙ŮŮ˙ÚÚ˙ÝÝ˙áá˙ää˙éé˙ěě˙íí˙ńń˙óó˙öö˙÷÷˙řř˙ůů˙űű˙üü˙ýý˙ţţ˙˙ţ˙˙˙ż…(üzđ ˙ż\óżó¸ŃŹŕ@@44kŽŽ0`Ít0˙˙t˙˙` óÍŐ˙ż@-@Üötżä<ŹóňńżżżŽ|U™+‘`¸đÍyzń(,zń ˙ż!ţ+CREATOR: The GIMP's PNM Filter Version 1.0 ,00ţ ¨l Ae&4Ȱ!C… |QĄĂ‹!b0Ŕˇ‚e‘ äžp 8đŐ­ r‚W2Ȩđl!klBf‘Ç@U@ÁőŔ âB„"~0Dˆ „áP/BóÎë)¸ŕP,oŔ_¤ g2HOˆË0"$9ç2L ĐźH]T/CoHńoÉ<íąrŚâ^ UĚ<ľJsÍRĺŹóÎ<÷ěóĎ@-ôĐDmôŃH'P@;proftpd/images/misc.gif0100644000567100000120000000071407340670470015115 0ustar jcameronwheelGIF89a00Ą˙˙˙™™™ĚĚĚ!ů,00ţ„ ź×Œň͋T˛Vcę}Âhšœc#éśá+‚vÎŃݸh%A¨ 9›ôą@žZ ÁK9ž=éÇZâe/Líž|Ç]Č7Œ&‹Ë[´ŰgÖĆľgę…*U{ag&2ř ˇÇ%ç'˜ XXSgGG(ŮF¨u²YöÂsĂ)ň’y„ôö–9%33ŔúÁ:`đ {đË ËňzŃK;;Űú`{›Pô ąœÜŞ0ťmÁĘŰŹ Ź­ D-1ŔëĚ,ží,ÍL:-ÎN.lý-gűŰęînüî6<, †eúÂü#—şƒŚžąKćĄÂˆŔ Œ5A˘Żž‰şđcĺąăhZié5rÖI#+vÜwĂĘBŮŘT˘ĄHŽÎB‘ćěĚ ŚO 1=cääY4MO‚|œ*Â閦NwšʇRŇ,tF…ĂÇęžN^˝ÜÔ uiY˘\'QZÔ' 3q꾅w Jdł~ťöŞŕÁ„ ßqô¤†up(EJąŕ˜nŹj‰ĺ;˜)kV…ůň!Ȓ1;proftpd/images/anon.gif0100644000567100000120000000035507342547232015117 0ustar jcameronwheelGIF89a00Ąřüř`d`ČĚČ˙˙˙!ţMade with GIMP!ů ,00ʜŠËíٜ´Ú‹OŘ<_v^–âȘj€ŚĄĂaŤ”rĎ´a߸żŮ zN$4@mĹl:QПt:ŞKĎՖۂ^OYďRŐ­ŽŇjÓÎź~+żH9ńŹłżđuá°äLjĺ(X‡¸śčŇç˜ůEy舉HX¨§śÉŮIjˆ„–fę†Z&‚V8ęę+j‘÷Z+›Ëz ™Ť›ě;Á,ĚP;proftpd/images/virt.gif0100664000567100000120000000301307342405246015142 0ustar jcameronwheelGIF89a00÷ýýţţţţţţţţţţţ ţ ţ ţ ţţţţţţţţţţ ţ$$ţ%%ţ''ţ((ţ))ţ,,ţ--ţ..ţ22ţ55ţ66ţ::ţ;;ţ==ţ>>ţ??ţAAţEEţHHţMMţOOţPPţRRţSSţUUţXXţZZţ]]ţ__ţ``ţccţddţeeţffţiiţmmţnnţooţppţrrţssţvvţzzţ||ţ~~ţţţ‚‚ţ††ţ‰‰ţŠŠţŽŽţ’’ţ““ţ••ţœœţţ˘˘ţ§§ţŠŠţŞŞţ°°ţąąţśśţˇˇţ¸¸ţššţťťţźźţ˝˝ţžžţżżţŔŔţÁÁţÂÂţĂĂţÄÄţĆĆţÇÇţËËţĎĎţĐĐţŐŐţÖÖţÚÚţÜÜţŢŢţááţăăţĺĺţççţččţééţęęţëëţěěţííţîîţđđţńńţňňţóóţőőţööţ÷÷ţřřţůůţúúţűűţüüţýýţţţţţ˙˙˙˙˙˙˙ ˙˙˙˙˙$$˙**˙,,˙00˙55˙66˙==˙CC˙GG˙HH˙KK˙LL˙PP˙WW˙ee˙ff˙ii˙tt˙xx˙{{˙}}˙ŠŠ˙˜˜˙ŞŞ˙­­˙°°˙ˇˇ˙źź˙żż˙ĆĆ˙ČČ˙ËË˙ÍÍ˙ĐĐ˙××˙ŘŘ˙ŮŮ˙ÚÚ˙ÝÝ˙áá˙ää˙éé˙ěě˙íí˙ńń˙óó˙öö˙÷÷˙řř˙ůů˙űű˙üü˙ýý˙ţţ˙˙ţ˙˙˙ż…(üzđ ˙ż\óżó¸ŃŹŕ@@44kŽŽ0`Ít0˙˙t˙˙` óÍŐ˙ż@-@Üötżä<ŹóňńżżżŽ|U™+‘`¸đÍyzń(,zń ˙ż!ţ+CREATOR: The GIMP's PNM Filter Version 1.0 ,00ţ ¨l Ae&4Ȱ!C… |QĄĂ‹!b0Ŕˇ‚e‘ äžp 8đŐ­ r‚W2Ȩđl!klBf‘Ç@U@ÁőŔ âB„"~0Dˆ „áP/BóÎë)¸ŕP,oŔ_¤ g2HOˆË0"$9ç2L ĐźH]T/CoHńoÉ<íąrŚâ^ UĚ<ľJsÍRĺŹóÎ<÷ěóĎ@-ôĐDmôŃH'P@;proftpd/images/log.gif0100644000567100000120000000072607340670356014751 0ustar jcameronwheelGIF89a00™™™fffĚĚĚ˙˙˙!ů,00ţŞąţb 1Ş˝8[ĐÚű h$x¨ă…`YvÜş†0ՊŤĹ'z7ZDgâ;3IäQ ‰•˛s4qÚ“(•ĽKĽśi+CťÝců bo]č¸7LgŽÍ\yŻG/úo$zhwak†~#:ƒiN…"€ŠpŒ|‰‘Žay”–"˜D” ‘cwŽD6ĄƒdVŸ:ŞrŹ6XˆP˛~­™¨ şŁ–Aśx° şź˝Nl9Čm ˛ÄľĆ.,VŞÖŇIĐŕ,ĄbÝ ăá YÖdTđcX>ćmßzço)VKAÍúçN„*WšuË7Çž_>Ů1ĆĐTAŠ#*=ƒŕœŠáFWwh,4ńŽG’ĹBëóçŃJ‹Žúź4ťK5Éźƒd‘”=Zždö|4"'–.mMŞ3™Ď™‡j …šé7 …^Ęj’ę>D'ë4%#rĹG_eź8J2ÓHgĽ:ž˝86c%ŠüNĽIˆďT”ŞŮń[öŽÔÁÇŽÂS’âĹ i0;oÁ ĘÉâúĺB‹Î C‹MúB;proftpd/images/dirs.gif0100644000567100000120000000041207340670262015115 0ustar jcameronwheelGIF89a00Â˙˙˙ĚĚ̙™™fff!ů,00ĎşÜţ0ĘIë 8 ˧ř ؍NfžćFRAčžĂĘžôËR[Ăxžó=ˆîşKĐńČ&—L…“NUćuEŠF‚xL./wŃ j­‰gIۈ@€Çłşý9Ż_ârtƒ„ƒ1[5x…Œ‡€a}{T’€Šz–w•>—afŁo‚~i ¨šŞŹ9'_AŻhG´ll˛¸HŸŚ“XŠš˜ž ˆ4Ǎ…ŔŽĎ†Ë@ÓÂ\ÄżœÁ›|ߞŢ٤¤Ü­‹§ęÉQ ;proftpd/images/type_icon_0.gif0100644000567100000120000000073607340670377016404 0ustar jcameronwheelGIF89a00Â˙˙˙fffĚĚ̙™™!ů,00ţşÜţ0śŔč˛tý”*ŁÓ]˜WĽßć’*Ůž+Ë\=w1}ć"Úd'$nNˇ¤Ƀí˜=‰t*X‹ŤŤŘ^ł_*@ ö–ˇgq—Ënw×đq\m×ëv;ďŤá_|{~y\ ‹†‡zk{\}Ž’qŠ‹•x]‹ žŒŠR˘•Œyž™ŠV§ŒS¤ĽĽźŠ­¤´T¨¨ ­˼Ŕš’ÇĎÄTŃŐťźŔŮŐŮÎŘŮÖ ×Ř ×Ççäčâë ěăęćâäôđřéďńóřňúĘĺkgíÝ?ýÚí:žA‡ †“hn⦋3j|@¤FÔ¤C†"!ň’¤’śT‰ f¤tl r@hfĚšÉsBÎB;ćňtJQŹ\†R˝˘téŐŻRąŠ‚ŠEŚŮ,PcŠQ­ôóS3ĽĄşFEĘ5+UĄ´ŇJĂ ,˛ˇŇ6JÂĺpşˆvńîă†PŃ݆ÚŰ7p=yˆOIÇqB‚ÝVÜďq@ CśwŮŽŕ͉K´Č—"ĈĽE˕<%;proftpd/images/type_icon_5.gif0100644000567100000120000000060607342403163016372 0ustar jcameronwheelGIF89a00Ą˙˙˙fffĚĚĚ!ů,00ţ„ŠËíٜ&X …ŽśăŚ…OG~Jˆ:¤g"¨ŘŹÜž›Ú˝-` ŐŰé8Aám´ –5鵌b†ąU(ŠĎ €•JśŠnRfF6˘#â8_łc_ŰWTfJőă§WÁŚÁ7@qˆwg(öw@sôČw––řpt٘yČ'ŔéŮČă&h°‘Ä$塠:[vƒ˜ŰY‡ĘđY:ŕŹ›ąz҈ ś4Źeœđřť!śźűC˜œJ ’Reš¤÷ťMÜkÇ MČžŽŤË-{Žc))ţZ~J˙ÍZ_mßMuś&)óW‰ƒhx,0ű‡/ ÂhN`žXŠń`<–` LLn|tÁK‹T™Œež%= ™Ζ‰^‹×­‘'YĆ<†Ęˆ˘Ćž-ČT§SPoŚ’:•fU˜4> FľčŽąd˚[;proftpd/images/type_icon_3.gif0100644000567100000120000000042307342655134016374 0ustar jcameronwheelGIF89a00Â˙˙˙ĚĚ̙™™fff!ů,00ŘşÜţ0ĘIŤ˝8ËŔ{י'Ž8yBŞŽ‚gB]zśđ:œm}÷’‡ľžâ‡!öŒť Ya‚œMĺ JĄ^ŹŠ áVľW°Ćű gu@ôVU?Ů_w†EŻŰ/Á`Ďďű˙}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤Ľ˘Ł› ~ŞŤ’­Žœ¨Śsˆ´ľˇľ‰ˆś˛ĄžÂ‹ÁśŔšĂł°™ÇÁŽĹźĹÉÎŹĐšĘϔČŇŃ̅رڍ*áćČé ׯďBňóôőö÷ ;proftpd/images/dir.gif0100644000567100000120000000041207342547225014736 0ustar jcameronwheelGIF89a00Â˙˙˙ĚĚ̙™™fff!ů,00ĎşÜţ0ĘIë 8 ˧ř ؍NfžćFRAčžĂĘžôËR[Ăxžó=ˆîşKĐńČ&—L…“NUćuEŠF‚xL./wŃ j­‰gIۈ@€Çłşý9Ż_ârtƒ„ƒ1[5x…Œ‡€a}{T’€Šz–w•>—afŁo‚~i ¨šŞŹ9'_AŻhG´ll˛¸HŸŚ“XŠš˜ž ˆ4Ǎ…ŔŽĎ†Ë@ÓÂ\ÄżœÁ›|ߞŢ٤¤Ü­‹§ęÉQ ;proftpd/images/type_icon_1.gif0100644000567100000120000000072607342653326016401 0ustar jcameronwheelGIF89a00™™™fffĚĚĚ˙˙˙!ů,00ţŞąţb 1Ş˝8[ĐÚű h$x¨ă…`YvÜş†0ՊŤĹ'z7ZDgâ;3IäQ ‰•˛s4qÚ“(•ĽKĽśi+CťÝců bo]č¸7LgŽÍ\yŻG/úo$zhwak†~#:ƒiN…"€ŠpŒ|‰‘Žay”–"˜D” ‘cwŽD6ĄƒdVŸ:ŞrŹ6XˆP˛~­™¨ şŁ–Aśx° şź˝Nl9Čm ˛ÄľĆ.,VŞÖŇIĐŕ,ĄbÝ ăá YÖdTđcX>ćmßzço)VKAÍúçN„*WšuË7Çž_>Ů1ĆĐTAŠ#*=ƒŕœŠáFWwh,4ńŽG’ĹBëóçŃJ‹Žúź4ťK5Éźƒd‘”=Zždö|4"'–.mMŞ3™Ď™‡j …šé7 …^Ęj’ę>D'ë4%#rĹG_eź8J2ÓHgĽ:ž˝86c%ŠüNĽIˆďT”ŞŮń[öŽÔÁÇŽÂS’âĹ i0;oÁ ĘÉâúĺB‹Î C‹MúB;proftpd/images/type_icon_6.gif0100644000567100000120000000046007345005224016370 0ustar jcameronwheelGIF89a00Â˙˙˙ĚĚĚfff˙˙˙˙˙˙˙˙˙˙˙˙!ů,00őşÜţ0ĘIŤ [—őĆB( 0ŠŢ„hšL¨$ÄN÷#ĚŃ忚Ž÷đIÉ@h#6Œżdd‰s2 6)„z´.°:íƒűó*Ŕ¤’9 F)ä4ť5_¨'q:h‚ý €A'K|tH†'%…v‡9…%{s‚•€˜™š7œž#Ą¤‘Ľ˘u¨'ŞŤƒŚŻ/@ ˛—§ś ľŤźź¤ż}ŽĄÁą˛ĹˇŻČ1šł;™+͖Kf=HËĚ<Ôwѕ#ڌgŁłŠŐŃ×ĂɆĽ!IÁ2 bĄRé–çéôć˛űüĄhA`(‚ÚĄz׉_=[#–J;proftpd/images/type_icon_4.gif0100644000567100000120000000071407345024450016372 0ustar jcameronwheelGIF89a00Ą˙˙˙™™™ĚĚĚ!ů,00ţ„ ź×Œň͋T˛Vcę}Âhšœc#éśá+‚vÎŃݸh%A¨ 9›ôą@žZ ÁK9ž=éÇZâe/Líž|Ç]Č7Œ&‹Ë[´ŰgÖĆľgę…*U{ag&2ř ˇÇ%ç'˜ XXSgGG(ŮF¨u²YöÂsĂ)ň’y„ôö–9%33ŔúÁ:`đ {đË ËňzŃK;;Űú`{›Pô ąœÜŞ0ťmÁĘŰŹ Ź­ D-1ŔëĚ,ží,ÍL:-ÎN.lý-gűŰęînüî6<, †eúÂü#—şƒŚžąKćĄÂˆŔ Œ5A˘Żž‰şđcĺąăhZié5rÖI#+vÜwĂĘBŮŘT˘ĄHŽÎB‘ćěĚ ŚO 1=cääY4MO‚|œ*Â閦NwšʇRŇ,tF…ĂÇęžN^˝ÜÔ uiY˘\'QZÔ' 3q꾅w Jdł~ťöŞŕÁ„ ßqô¤†up(EJąŕ˜nŹj‰ĺ;˜)kV…ůň!Ȓ1;proftpd/images/type_icon_2.gif0100644000567100000120000000056507345376521016405 0ustar jcameronwheelGIF89a00ă˙˙˙™™™ĚĚĚfff˙˙˙˙˙˙!ů,00ţČIŤ˝8ëÍť˙`(Žc œhŞŽd˜kˇÓk¸€ş@üŔ߉°Ádž`Ą@śŒÜnw –MÁŠŹpA§úš h´o ƒČŻŽŕ0nźŹ3çîvwwyrH‚ˆxZ!'Tf}}RĐüXو&„˝hĘeńš[ňŽXęiFˇŕjW‹cŠ{;ąÄłÝň9)nŤkQ¨Ěü›÷FlM#†‚ˆqW‰F5R/š"†™+ld‘€œŒ ƒŞ‰’§9Cš­†ŠM´x˝SQ †™}ŁTZorœ jN­d’omÁ ÎmhuV1k„” ÂÚĆUvÝŞ,ÍÂĘež{PL}𹠯ћ9$ěătőłá㚻‰ŕ;ˆ‘ ôýřł"މ`ř9sŽĐň U@ ç"ś"JÉ+š˛Bqýu|˘ ťˆ1SNB7gƒ(Ev:†‹rn“Ž$CQôĘĄ†XłjÝĘľŤ×Ż`ÊKśŹŮł]C;proftpd/images/limit.gif0100664000567100000120000000045007345374760015307 0ustar jcameronwheelGIF87a00€˙˙˙,00ţŒŠËíŁ´Údó ZĘu"fF9žŔˇ’ ;˝oČ2s Ç*N/÷žëÉZ˝"†Č WŠb3BŞL.âěÉęĨŸÍăłJuáX9 GŽ^cňý­’ę˛ÔŰΟŤĎ ŞŻ6Ĺô‡$B'Ą¸ČŘčřů•Fˆ¸…wXUr4ˆĆĆĆóӄ7*–¤W—čt 禔cšťšľ:ŠĘˇˇ[ËŮ; ĺ@J늜ú;ť5œÜ†üŠ+ÇÜL–i+ź-<ÉÝ­9&i~ŽžI2čąů€2.ć'/É7• N]} ČÉÚ+×^aŠš¨3 %˜Ąľ,™ Ÿ•TČMDiŮÚe,ڤ;proftpd/images/ftpusers.gif0100644000567100000120000000060607350075240016030 0ustar jcameronwheelGIF89a00Ą˙˙˙fffĚĚĚ!ů,00ţ„ŠËíٜ&X …ŽśăŚ…OG~Jˆ:¤g"¨ŘŹÜž›Ú˝-` ŐŰé8Aám´ –5鵌b†ąU(ŠĎ €•JśŠnRfF6˘#â8_łc_ŰWTfJőă§WÁŚÁ7@qˆwg(öw@sôČw––řpt٘yČ'ŔéŮČă&h°‘Ä$塠:[vƒ˜ŰY‡ĘđY:ŕŹ›ąz҈ ś4Źeœđřť!śźűC˜œJ ’Reš¤÷ťMÜkÇ MČžŽŤË-{Žc))ţZ~J˙ÍZ_mßMuś&)óW‰ƒhx,0ű‡/ ÂhN`žXŠń`<–` LLn|tÁK‹T™Œež%= ™Ζ‰^‹×­‘'YĆ<†Ęˆ˘Ćž-ČT§SPoŚ’:•fU˜4> FľčŽąd˚[;proftpd/images/smallicon.gif0100664000567100000120000000120307777121253016143 0ustar jcameronwheelGIF87aĆţbbţ˙ÖÖţ˙””ţŞŞţŘŘ˙ssţ[[ţ ţ::ţhh˙˙˙ČČ˙yyţaa˙ŐŐţ{{˙ÁÁţŠŠţˆˆţggţĂĂţFF˙ŒŒţ˘˘ţţţţSSţŻŻţ˙JJţţ??ţzz˙îî˙űűţ ˙ţĎĎ˙˙ţţýýţ$$˙ţţ˙ŕŕ˙ccţ§§˙ţ ˙OO˙ŤŤ˙ţďďţţţţţţ˙˙UUţ==ţÇÇţőő˙žžţŚŚ˙ţ……ţ66ţddţŔŔţîîţ˙[[ţÍÍţűűţŹŹ˙ňňţţ]]˙˙˙ţççţţ<<ţjjţ˜˜˙˙ëëţÓÓţ„„ţŕŕţţííţĚĚţúú˙••ţ}}ţţćć˙ţ——˙ţĹĹţHHţvv˙ęę,č€P‚P†‡‚‰Š‡†ƒ…Œ„Š‹„”‘’“Œ˜‰œ›ˆƒ–”W)b”(ŤŒLYTOE7‡ŹŒ 5[2-`Y 21i”.< V348>’GB+Œ@B5š_,K˜P&I‰XR9 U=%Sdç#ec‰a9-¨@ÂET“cHRÂÂĂ ?¸l!*ʄ& $S!‘''D2t!„AuaNŁ.^6 A㑈ȑ;-AsD 7ĄěŘqiC -‰` ŐŠĽKŚ7;‘šJľŞŐŤXł’ ;proftpd/proftpd-lib.pl0100644000567100000120000004746110267101773015014 0ustar jcameronwheel# proftpd-lib.pl # Common functions for the proftpd server config file do '../web-lib.pl'; &init_config(); require '../ui-lib.pl'; # Load the site-specific information on the server executable &read_file("$module_config_directory/site", \%site); @ftpaccess_files = split(/\s+/, $site{'ftpaccess'}); opendir(DIR, "."); foreach $f (readdir(DIR)) { if ($f =~ /^(mod_\S+)\.pl$/) { push(@module_files, $1); do $f; } } closedir(DIR); # get_config() # Returns the entire proftpd config structure sub get_config { if (@get_config_cache) { return \@get_config_cache; } @get_config_cache = &get_config_file($config{'proftpd_conf'}); return \@get_config_cache; } # get_config_file(filename) sub get_config_file { local @rv; local $fn = $_[0]; if ($fn !~ /^\//) { $config{'proftpd_conf'} =~ /^(.*)\//; $fn = "$1/$fn"; } if (opendir(DIR, $fn)) { # Is a directory .. parse all files! local @files = readdir(DIR); closedir(DIR); foreach $f (@files) { next if ($f =~ /^\./); push(@rv, &get_config_file("$fn/$f")); } } else { # Just a normal config file local $lnum = 0; open(CONF, $fn); @rv = &parse_config_file(CONF, $lnum, $fn); close(CONF); foreach $inc (&find_directive("Include", \@rv)) { push(@rv, &get_config_file($inc)); } } return @rv; } # parse_config_file(handle, lines, file) # Parses lines of text from some config file into a data structure. The # return value is an array of references, one for each directive in the file. # Each reference points to an associative array containing # line - The line number this directive is at # eline - The line number this directive ends at # file - The file this directive is from # type - 0 for a normal directive, 1 for a container directive # name - The name of this directive # value - Value (possibly with spaces) # members - For type 1, a reference to the array of members sub parse_config_file { local($fh, @rv, $line, %dummy); $fh = $_[0]; $dummy{'line'} = $dummy{'eline'} = $_[1]-1; $dummy{'file'} = $_[2]; $dummy{'type'} = 0; $dummy{'name'} = "dummy"; @rv = (\%dummy); while($line = <$fh>) { chop; $line =~ s/^\s*#.*$//g; if ($line =~ /^\s*<\/(\S+)\s*(.*)>/) { # end of a container directive. This can only happen in a # recursive call to this function $_[1]++; last; } elsif ($line =~ /^\s*/i) { # start of an IfModule block. Read it, and if the module # exists put the directives in this section. local ($not, $mod) = ($1, $2); local $oldline = $_[1]; $_[1]++; local @dirs = &parse_config_file($fh, $_[1], $_[2]); if (!$not && $httpd_modules{$mod} || $not && !$httpd_modules{$mod}) { # use the directives.. push(@rv, { 'line', $oldline, 'eline', $oldline, 'file', $_[2], 'name', "" }); push(@rv, @dirs); push(@rv, { 'line', $_[1]-1, 'eline', $_[1]-1, 'file', $_[2], 'name', "" }); } } elsif ($line =~ /^\s*/i) { # start of an IfDefine block. Read it, and if the define # exists put the directives in this section local ($not, $def) = ($1, $2); local $oldline = $_[1]; $_[1]++; local @dirs = &parse_config_file($fh, $_[1], $_[2]); if (!$not && $httpd_defines{$def} || $not && !$httpd_defines{$def}) { # use the directives.. push(@rv, { 'line', $oldline, 'eline', $oldline, 'file', $_[2], 'name', "" }); push(@rv, @dirs); push(@rv, { 'line', $_[1]-1, 'eline', $_[1]-1, 'file', $_[2], 'name', "" }); } } elsif ($line =~ /^\s*<(\S+)\s*(.*)>/) { # start of a container directive. The first member is a dummy # directive at the same line as the container local(%dir, @members); %dir = ('line', $_[1], 'file', $_[2], 'type', 1, 'name', $1, 'value', $2); $dir{'value'} =~ s/\s+$//g; $dir{'words'} = &wsplit($dir{'value'}); $_[1]++; @members = &parse_config_file($fh, $_[1], $_[2]); $dir{'members'} = \@members; $dir{'eline'} = $_[1]-1; push(@rv, \%dir); } elsif ($line =~ /^\s*(\S+)\s*(.*)$/) { # normal directive local(%dir); %dir = ('line', $_[1], 'eline', $_[1], 'file', $_[2], 'type', 0, 'name', $1, 'value', $2); if ($dir{'value'} =~ s/\\$//g) { # multi-line directive! while($line = <$fh>) { chop($line); $cont = ($line =~ s/\\$//g); $dir{'value'} .= $line; $dir{'eline'} = ++$_[1]; if (!$cont) { last; } } } $dir{'value'} =~ s/\s+$//g; $dir{'words'} = &wsplit($dir{'value'}); push(@rv, \%dir); $_[1]++; } else { # blank or comment line $_[1]++; } } return @rv; } # wsplit(string) # Splits a string like foo "foo \"bar\"" bazzz into an array of words sub wsplit { local($s, @rv); $s = $_[0]; $s =~ s/\\\"/\0/g; while($s =~ /^"([^"]*)"\s*(.*)$/ || $s =~ /^(\S+)\s*(.*)$/) { $w = $1; $s = $2; $w =~ s/\0/"/g; push(@rv, $w); } return \@rv; } # wjoin(word, word, ...) sub wjoin { local(@rv, $w); foreach $w (@_) { if ($w =~ /^\S+$/) { push(@rv, $w); } else { push(@rv, "\"$w\""); } } return join(' ', @rv); } # find_directive(name, &directives) # Returns the values of directives matching some name sub find_directive { local(@rv, $i, @vals, $dref); foreach $ref (@{$_[1]}) { if (lc($ref->{'name'}) eq lc($_[0])) { push(@vals, $ref->{'words'}->[0]); } } return wantarray ? @vals : !@vals ? undef : $vals[$#vals]; } # find_directive_struct(name, &directives) # Returns references to directives maching some name sub find_directive_struct { local(@rv, $i, @vals); foreach $ref (@{$_[1]}) { if (lc($ref->{'name'}) eq lc($_[0])) { push(@vals, $ref); } } return wantarray ? @vals : !@vals ? undef : $vals[$#vals]; } # find_vdirective(name, &virtualdirectives, &directives) # Looks for some directive in a section, and then in the # main section sub find_vdirective { if ($_[1]) { $rv = &find_directive($_[0], $_[1]); if ($rv) { return $rv; } } return &find_directive($_[0], $_[2]); } # make_directives(ref, version, module) sub make_directives { local @rv; local $ver = $_[1]; if ($ver =~ /^(1)\.(2)(\d+)$/) { $ver = sprintf "%d.%d%2.2d", $1, $2, $3; } foreach $d (@{$_[0]}) { local(%dir); $dir{'name'} = $d->[0]; $dir{'multiple'} = $d->[1]; $dir{'type'} = $d->[2]; $dir{'module'} = $_[2]; $dir{'version'} = $_[1]; $dir{'priority'} = $d->[5]; foreach $c (split(/\s+/, $d->[3])) { $dir{$c}++; } if (!$d->[4]) { push(@rv, \%dir); } elsif ($d->[4] =~ /^-([\d\.]+)$/ && $ver < $1) { push(@rv, \%dir); } elsif ($d->[4] =~ /^([\d\.]+)$/ && $ver >= $1) { push(@rv, \%dir); } elsif ($d->[4] =~ /^([\d\.]+)-([\d\.]+)$/ && $ver >= $1 && $ver < $2) { push(@rv, \%dir); } } return @rv; } # editable_directives(type, context) # Returns an array of references to associative arrays, one for each # directive of the given type that can be used in the given context sub editable_directives { local($m, $func, @rv); local @mods = split(/\s+/, $site{'modules'}); foreach $m (@module_files) { if (&indexof($m, @mods) != -1) { $func = $m."_directives"; push(@rv, &$func($site{'version'})); } } @rv = grep { $_->{'type'} == $_[0] && $_->{$_[1]} } @rv; @rv = sort { $pd = $b->{'priority'} - $a->{'priority'}; $md = $a->{'module'} cmp $b->{'module'}; $pd == 0 ? ($md == 0 ? $a->{'name'} cmp $b->{'name'} : $md) : $pd } @rv; return @rv; } # generate_inputs(&editors, &directives) # Displays a 2-column list of options, for use inside a table sub generate_inputs { local($e, $sw, @args, @rv, $func); foreach $e (@{$_[0]}) { if (!$sw) { print "\n"; } # Build arg list for the editing function. Each arg can be a single # directive struct, or a reference to an array of structures. $func = "edit"; undef(@args); foreach $ed (split(/\s+/, $e->{'name'})) { local(@vals); $func .= "_$ed"; @vals = &find_directive_struct($ed, $_[1]); if ($e->{'multiple'}) { push(@args, \@vals); } elsif (!@vals) { push(@args, undef); } else { push(@args, $vals[$#vals]); } } push(@args, $e); # call the function @rv = &$func(@args); if ($rv[0] == 2) { # spans 2 columns.. if ($sw) { # need to end this row print " \n"; } else { $sw = !$sw; } print "$rv[1]\n"; print "$rv[2]\n"; } else { # only spans one column print "$rv[1]\n"; print "$rv[2]\n"; } if ($sw) { print "\n"; } $sw = !$sw; } } # parse_inputs(&editors, &directives, &config) # Reads user choices from a form and update the directives and config files. sub parse_inputs { # First call editor functions to get new values. Each function returns # an array of references to arrays containing the new values for the directive. local ($i, @chname, @chval); &before_changing(); foreach $e (@{$_[0]}) { local @dirs = split(/\s+/, $e->{'name'}); local $func = "save_".join('_', @dirs); local @rv = &$func($e); for($i=0; $i<@dirs; $i++) { push(@chname, $dirs[$i]); push(@chval, $rv[$i]); } } # Assuming everything went OK, update the configuration for($i=0; $i<@chname; $i++) { &save_directive($chname[$i], $chval[$i], $_[1], $_[2]); } &flush_file_lines(); &after_changing(); } # opt_input(value, name, default, size, [units]) sub opt_input { return sprintf " $_[2]\n". "\n". " %s\n", defined($_[0]) ? "" : "checked", defined($_[0]) ? "checked" : "", $_[0], $_[4]; } # parse_opt(name, regexp, error) sub parse_opt { local($i, $re); if ($in{"$_[0]_def"}) { return ( [ ] ); } for($i=1; $i<@_; $i+=2) { $re = $_[$i]; if ($in{$_[0]} !~ /$re/) { &error($_[$i+1]); } } return ( [ $in{$_[0]} =~ /^\S+$/ ? $in{$_[0]} : '"'.$in{$_[0]}.'"' ] ); } # choice_input(value, name, default, [choice]+) # Each choice is a display,value pair sub choice_input { local($i, $rv); for($i=3; $i<@_; $i++) { $_[$i] =~ /^([^,]*),(.*)$/; $rv .= sprintf " $1\n", lc($2) eq lc($_[0]) || lc($2) eq 'on' && lc($_[0]) eq 'yes' || lc($2) eq 'off' && lc($_[0]) eq 'no' || !defined($_[0]) && lc($2) eq lc($_[2]) ? "checked" : ""; } return $rv; } # choice_input_vert(value, name, default, [choice]+) # Each choice is a display,value pair sub choice_input_vert { local($i, $rv); for($i=3; $i<@_; $i++) { $_[$i] =~ /^([^,]*),(.*)$/; $rv .= sprintf " $1
\n", lc($2) eq lc($_[0]) || !defined($_[0]) && lc($2) eq lc($_[2]) ? "checked" : ""; } return $rv; } # parse_choice(name, default) sub parse_choice { if (lc($in{$_[0]}) eq lc($_[1])) { return ( [ ] ); } else { return ( [ $in{$_[0]} ] ); } } # select_input(value, name, default, [choice]+) sub select_input { local($i, $rv); $rv = "\n"; return $rv; } # parse_choice(name, default) sub parse_select { return &parse_choice(@_); } # config_icons(contexts, program) # Displays up to 17 icons, one for each type of configuration directive, for # some context (global, virtual, directory or htaccess) sub config_icons { local($m, $func, $e, %etype, $i, $c); local @mods = split(/\s+/, $site{'modules'}); local @ctx = split(/\s+/, $_[0]); foreach $m (sort { $a cmp $b } (@module_files)) { if (&indexof($m, @mods) != -1) { $func = $m."_directives"; foreach $e (&$func($site{'version'})) { foreach $c (@ctx) { $etype{$e->{'type'}}++ if ($e->{$c}); } } } } local (@titles, @links, @icons); for($i=0; $text{"type_$i"}; $i++) { if ($etype{$i}) { push(@links, $_[1]."type=$i"); push(@titles, $text{"type_$i"}); push(@icons, "images/type_icon_$i.gif"); } } for($i=2; $i<@_; $i++) { push(@links, $_[$i]->{'link'}); push(@titles, $_[$i]->{'name'}); push(@icons, $_[$i]->{'icon'}); } &icons_table(\@links, \@titles, \@icons, 5); print "

\n"; } sub lock_proftpd_files { local $conf = &get_config(); foreach $f (&unique(map { $_->{'file'} } @$conf)) { &lock_file($f); } } sub unlock_proftpd_files { local $conf = &get_config(); foreach $f (&unique(map { $_->{'file'} } @$conf)) { &unlock_file($f); } } # save_directive(name, &values, &directives, &config) # Updates the config file(s) and the directives structure with new values # for the given directives. # If a directive's value is merely being changed, then its value only needs # to be updated in the directives array and in the file. sub save_directive { local($i, @old, $lref, $change, $len, $v); @old = &find_directive_struct($_[0], $_[2]); for($i=0; $i<@old || $i<@{$_[1]}; $i++) { $v = ${$_[1]}[$i]; if ($i >= @old) { # a new directive is being added. If other directives of this # type exist, add it after them. Otherwise, put it at the end of # the first file in the section if ($change) { # Have changed some old directive.. add this new one # after it, and update change local(%v, $j); %v = ( "line", $change->{'line'}+1, "eline", $change->{'line'}+1, "file", $change->{'file'}, "type", 0, "name", $_[0], "value", $v); $j = &indexof($change, @{$_[2]})+1; &renumber($_[3], $v{'line'}, $v{'file'}, 1); splice(@{$_[2]}, $j, 0, \%v); $lref = &read_file_lines($v{'file'}); splice(@$lref, $v{'line'}, 0, "$_[0] $v"); $change = \%v; } else { # Adding a new directive to the end of the list # in this section local($f, %v, $j, $l); $f = $_[2]->[0]->{'file'}; for($j=0; $_[2]->[$j]->{'file'} eq $f; $j++) { } $l = $_[2]->[$j-1]->{'eline'}+1; %v = ( "line", $l, "eline", $l, "file", $f, "type", 0, "name", $_[0], "value", $v); &renumber($_[3], $l, $f, 1); splice(@{$_[2]}, $j, 0, \%v); $lref = &read_file_lines($f); splice(@$lref, $l, 0, "$_[0] $v"); } } elsif ($i >= @{$_[1]}) { # a directive was deleted $lref = &read_file_lines($old[$i]->{'file'}); $idx = &indexof($old[$i], @{$_[2]}); splice(@{$_[2]}, $idx, 1); $len = $old[$i]->{'eline'} - $old[$i]->{'line'} + 1; splice(@$lref, $old[$i]->{'line'}, $len); &renumber($_[3], $old[$i]->{'line'}, $old[$i]->{'file'}, -$len); } else { # just changing the value $lref = &read_file_lines($old[$i]->{'file'}); $len = $old[$i]->{'eline'} - $old[$i]->{'line'} + 1; &renumber($_[3], $old[$i]->{'eline'}+1, $old[$i]->{'file'},1-$len); $old[$i]->{'value'} = $v; $old[$i]->{'eline'} = $old[$i]->{'line'}; splice(@$lref, $old[$i]->{'line'}, $len, "$_[0] $v"); $change = $old[$i]; } } } # renumber(&config, line, file, offset) # Recursively changes the line number of all directives from some file # beyond the given line. sub renumber { local($d); if (!$_[3]) { return; } foreach $d (@{$_[0]}) { if ($d->{'file'} eq $_[2] && $d->{'line'} >= $_[1]) { $d->{'line'} += $_[3]; } if ($d->{'file'} eq $_[2] && $d->{'eline'} >= $_[1]) { $d->{'eline'} += $_[3]; } if ($d->{'type'}) { &renumber($d->{'members'}, $_[1], $_[2], $_[3]); } } } sub def { return $_[0] ? $_[0] : $_[1]; } # get_virtual_config(index) sub get_virtual_config { local($conf, $c, $v); $conf = &get_config(); if (!$_[0]) { $c = $conf; $v = undef; } else { $c = $conf->[$_[0]]->{'members'}; $v = $conf->[$_[0]]; } return wantarray ? ($c, $v) : $c; } # get_ftpaccess_config(file) sub get_ftpaccess_config { local($lnum, @conf); open(FTPACCESS, $_[0]); @conf = &parse_config_file(FTPACCESS, $lnum, $_[0]); close(FTPACCESS); return \@conf; } # get_or_create_global(&config) # Returns an array ref of members of the section, creating if necessary sub get_or_create_global { local $global = &find_directive_struct("Global", $conf); if ($global) { # Already exists .. just return member list return $global->{'members'}; } else { # Need to add it! local $lref = &read_file_lines($config{'proftpd_conf'}); local $olen = @$lref; push(@$lref, "", ""); &flush_file_lines(); $global = { 'name' => 'Global', 'members' => [ { 'line' => $olen, 'eline' => $olen, 'file' => $config{'proftpd_conf'}, 'type' => 0, 'name' => 'dummy' } ], 'line' => $olen, 'eline' => $olen+1, 'file' => $config{'proftpd_conf'}, 'type' => 1, 'value' => undef, 'words' => [ ] }; push(@{$_[0]}, $global); return $global->{'members'}; } } # test_config() # If possible, test the current configuration and return an error message, # or undef. sub test_config { if ($site{'version'} >= 1.2) { # Test the configuration with -t flag local $cmd = "$config{'proftpd_path'} -t -c $config{'proftpd_conf'}"; local $out = `$cmd 2>&1 {'file'} } @$conf); local $/ = undef; foreach $f (@files) { if (open(BEFORE, $f)) { $before_changing{$f} = ; close(BEFORE); } } } } # after_changing() # If testing all changes, test now and revert the configs and show an error # message if a problem was found. sub after_changing { if ($config{'test_always'}) { local $err = &test_config(); if ($err) { # Something failed .. revert all files local $f; foreach $f (keys %before_changing) { &open_tempfile(AFTER, ">$f"); &print_tempfie(AFTER, $before_changing{$f}); &close_tempfile(AFTER); } &error(&text('eafter', "

$err
")); } } } # restart_button() # Returns HTML for a link to put in the top-right corner of every page sub restart_button { local $conf = &get_config(); local $st = &find_directive("ServerType", $conf); return undef if (lc($st) eq "inetd"); local $rv; local $pidfile = $config{'pid_file'}; $args = "redir=".&urlize(&this_url()); if (open(PID, $pidfile) && =~ /(\d+)/ && kill(0, $1)) { $rv .= "$text{'proftpd_apply'}
\n"; } else { $rv = "$text{'proftpd_start'}
\n"; } close(PID); return $rv; } # this_url() # Returns the URL in the apache directory of the current script sub this_url { local($url); $url = $ENV{'SCRIPT_NAME'}; if ($ENV{'QUERY_STRING'} ne "") { $url .= "?$ENV{'QUERY_STRING'}"; } return $url; } # running_under_inetd() # Returns the inetd/xinetd object and program if ProFTPd is running under one sub running_under_inetd { local ($inet, $inet_mod); if (&foreign_check('inetd')) { # Check if proftpd is in inetd &foreign_require('inetd', 'inetd-lib.pl'); local $i; foreach $i (&foreign_call('inetd', 'list_inets')) { if ($i->[1] && $i->[3] eq 'ftp') { $inet = $i; last; } } $inet_mod = 'inetd'; } elsif (&foreign_check('xinetd')) { # Check if proftpd is in xinetd &foreign_require('xinetd', 'xinetd-lib.pl'); local $xi; foreach $xi (&foreign_call("xinetd", "get_xinetd_config")) { if ($xi->{'quick'}->{'disable'}->[0] ne 'yes' && $xi->{'value'} eq 'ftp') { $inet = $xi; last; } } $inet_mod = 'xinetd'; } else { # Not supported on this OS .. assume so $inet = 1; } return ($inet, $inet_mod); } # get_proftpd_pid() sub get_proftpd_pid { if ($config{'pid_file'}) { return &check_pid_file($config{'pid_file'}); } else { return &find_byname("proftpd"); } } sub get_proftpd_version { local $out = `$config{'proftpd_path'} -v 2>&1`; ${$_[0]} = $out if ($_[0]); if ($out =~ /ProFTPD\s+Version\s+(\d+)\.([0-9\.]+)/i || $out =~ /ProFTPD\s+(\d+)\.([0-9\.]+)/i) { local ($v1, $v2) = ($1, $2); $v2 =~ s/\.//g; return "$v1.$v2"; } return undef; } 1; proftpd/module.info0100644000567100000120000000053410267102033014353 0ustar jcameronwheelname=ProFTPD desc=ProFTPD Server desc_pl=Serwer ProFTPD category=servers desc_ca=Servidor ProFTP desc_es=Servidor ProFTPD desc_de=ProFTPd FTP-Server desc_ru_SU=óĹŇ×ĹŇ ProFTP desc_ru_RU=Ńĺđâĺđ ProFTP longdesc=Configure the powerful ProFTPD FTP server. Supports all options in most of the standard modules. desc_zh_TW.Big5=ProFTPŚřŞAžš version=1.221 proftpd/start.cgi0100755000567100000120000000077610114776676014072 0ustar jcameronwheel#!/usr/local/bin/perl # start.cgi # Start the ProFTPD server process require './proftpd-lib.pl'; &error_setup($text{'start_err'}); $conf = &get_config(); $st = &find_directive("ServerType", $conf); if ($st eq 'inetd') { &error($text{'start_einetd'}); } if ($config{'start_cmd'}) { $out = &backquote_logged("$config{'start_cmd'} 2>&1 &1 $config{'proftpd_path'}", "$gconfig{'webprefix'}/config.cgi?$module_name"),"

\n"; &ui_print_footer("/", $text{'index'}); exit; } # Check if the config file exists @conf = &get_config(); if (!@conf) { &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0, &help_search_link("proftpd", "man", "doc", "google")); print &text('index_econf', "$config{'proftpd_conf'}", "$gconfig{'webprefix'}/config.cgi?$module_name"),"

\n"; &ui_print_footer("/", $text{'index'}); exit; } # Check if the executable has changed .. if ($site{'size'} != $st[7]) { # Check if it really is proftpd and the right version $site{'size'} = $st[7]; $ver = &get_proftpd_version(\$out); if (!$ver) { &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0, &help_search_link("proftpd", "man", "doc", "google")); print &text('index_eproftpd2', "$config{'proftpd_path'}", "$gconfig{'webprefix'}/config.cgi?$module_name", "$config{'proftpd_path'} -v", "

$out
"),"

\n"; &ui_print_footer("/", $text{'index'}); exit; } $site{'version'} = $ver; if ($site{'version'} < 0.99) { &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0, &help_search_link("proftpd", "man", "doc", "google")); print &text('index_eversion', "$config{'proftpd_path'}", "$gconfig{'webprefix'}/config.cgi?$module_name"),"

\n"; &ui_print_footer("/", $text{'index'}); exit; } # Get the list of modules local @mods; open(MODS, "$config{'proftpd_path'} -l |"); while() { s/\r|\n//g; if (/^\s*(\S+)\.c$/) { push(@mods, $1); } } close(MODS); $site{'modules'} = join(" ", @mods); &write_file("$module_config_directory/site", \%site); } &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0, &help_search_link("proftpd", "man", "doc", "google"), undef, undef, &text('index_version', $site{'version'})); $conf = &get_config(); # Display global category icons print &ui_subheading($text{'index_global'}); $ft_icon = { "icon" => "images/dir.gif", "name" => $text{'ftpaccess_title'}, "link" => "ftpaccess.cgi" }; $us_icon = { "icon" => "images/ftpusers.gif", "name" => $text{'ftpusers_title'}, "link" => "edit_ftpusers.cgi" }; $ed_icon = { "icon" => "images/edit.gif", "name" => $text{'manual_configs'}, "link" => "allmanual_form.cgi" }; &config_icons("root global", "edit_global.cgi?", $ft_icon, $us_icon, $ed_icon); # Display global per-directory/limit options $global = &find_directive_struct("Global", $conf); $gconf = $global->{'members'} if ($global); @dir = ( &find_directive_struct("Directory", $gconf) , &find_directive_struct("Limit", $gconf) ); if (@dir) { print "


\n"; print &ui_subheading($text{'virt_header'}); foreach $d (@dir) { if ($d->{'name'} eq 'Limit') { push(@links, "limit_index.cgi?limit=". &indexof($d, @$gconf)."&global=1"); push(@titles, &text('virt_limit', $d->{'value'})); push(@icons, "images/limit.gif"); } else { push(@links, "dir_index.cgi?idx=". &indexof($d, @$gconf)."&global=1"); push(@titles, &text('virt_dir', $d->{'value'})); push(@icons, "images/dir.gif"); } } &icons_table(\@links, \@titles, \@icons, 3); } print "
\n"; print "
\n"; print "\n"; print "\n"; print "\n"; print "
$text{'virt_adddir'}
\n"; print "\n"; print "\n"; print "
$text{'virt_path'}\n"; print "
\n"; print "
\n"; print "
\n"; print "\n"; print "\n"; print "\n"; print "
$text{'virt_addlimit'}
\n"; print "\n"; print "\n"; print "
$text{'virt_cmds'}\n"; print "
\n"; print "
\n"; # Start virtual server list with default push(@vname, $text{'index_defserv'}); push(@vlink, "virt_index.cgi"); push(@vdesc, $text{'index_defdesc'}); push(@vaddr, $text{'index_any'}); push(@vserv, &def(&find_directive("ServerName", $conf), $text{'default'})); # Add other virtual servers @virt = &find_directive_struct("VirtualHost", $conf); foreach $v (@virt) { $vm = $v->{'members'}; push(@vname, $text{'index_virt'}); push(@vlink, "virt_index.cgi?virt=".&indexof($v, @$conf)); push(@vaddr, $v->{'value'}); $sname = &find_directive("ServerName", $vm); local $ip = &to_ipaddress($v->{'value'}); push(@vdesc, &text('index_vdesc', $ip ? $ip : $text{'index_eip'})); push(@vserv, &def(&find_vdirective("ServerName", $vm, $conf), $text{'index_auto'})); } # Show virtual servers print "
\n"; print &ui_subheading($text{'index_virts'}); if ($config{'show_list'} && scalar(@vname)) { # as list for people with lots of servers print "\n"; print " ", " ", "\n"; for($i=0; $i<@vname; $i++) { print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; } print "
$text{'index_type'}$text{'index_addr'}$text{'index_name'}
", &html_escape($vname[$i]),"",&html_escape($vaddr[$i]),"",&html_escape($vserv[$i]),"
\n"; } else { # as icons for niceness print "\n"; for($i=0; $i<@vname; $i++) { print "\n"; } print "
"; &generate_icon("images/virt.gif", &html_escape($vname[$i]), $vlink[$i]); print " \n"; print &html_escape($vdesc[$i]),"
\n"; print "\n"; print "\n"; print "\n"; print "
$text{'index_addr'} ", &html_escape($vaddr[$i]),"$text{'index_name'} ", &html_escape($vserv[$i]),"
\n"; } print "
\n"; print "\n"; print "\n"; print "
$text{'index_create'}
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'index_addr'}
$text{'index_port'}",&opt_input(undef, "Port", $text{'default'}, 6),"
$text{'index_name'}",&opt_input(undef, "ServerName", $text{'default'}, 25); print "  \n"; print "
\n"; print "
\n"; # Find out how ProFTPd is running ($inet, $inet_mod) = &running_under_inetd(); if (!$inet) { # Get the FTP server pid $pid = &get_proftpd_pid(); } if (!$inet && $pid) { print "
\n"; print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'index_applymsg'}
\n"; } elsif (!$inet && !$pid) { print "
\n"; print "
\n"; print "\n"; print "\n"; if ($inet_mod) { print "\n"; } else { print "\n"; } print "
",&text('index_startmsg', "/$inet_mod/"),"$text{'index_startmsg2'}
\n"; } &ui_print_footer("/", $text{'index'}); proftpd/apply.cgi0100755000567100000120000000045310114776676014052 0ustar jcameronwheel#!/usr/local/bin/perl # apply.cgi # Apply config file changes with a HUP signal require './proftpd-lib.pl'; &ReadParse(); if ($config{'test_config'}) { $err = &test_config(); &error("
$err
") if ($err); } &kill_logged('HUP', $in{'pid'}); &webmin_log("apply"); &redirect($in{'redir'}); proftpd/mod_core.pl0100664000567100000120000011760610130371463014354 0ustar jcameronwheel# mod_core.pl # Core proftpd directives # mod_core_directives(version) # Returns a directive structure, like the one user by Apache. Types are : # 0 - Networking # 1 - Logging # 2 - Files # 3 - Access control # 4 - Misc # 5 - User and Group # 6 - Authentication sub mod_core_directives { local $rv = [ [ 'AccessDenyMsg', 0, 3, 'virtual anon global', 1.202 ], [ 'AccessGrantMsg', 0, 3, 'virtual anon global', 0.99 ], [ 'Allow Deny Order', 1, 3, 'limit', 0.99 ], [ 'AllowAll DenyAll', 0, 3, 'directory anon limit ftpaccess', 0.99 ], [ 'AllowFilter', 0, 3, 'virtual anon global', 1.20 ], [ 'AllowForeignAddress', 0, 0, 'virtual anon global', 1.17 ], [ 'AllowGroup', 1, 3, 'limit', 1.11 ], [ 'AllowOverwrite', 0, 3, 'virtual anon directory ftpaccess global', 0.99 ], [ 'AllowUser', 1, 3, 'limit', 1.17 ], [ 'AllowRetrieveRestart', 0, 0, 'virtual anon directory global ftpaccess', 0.99 ], [ 'AllowStoreRestart', 0, 0, 'virtual anon directory global ftpaccess', 0.99 ], [ 'AnonRequirePassword', 0, 6, 'anon', 0.99 ], [ 'AnonymousGroup', 0, 6, 'virtual global', 1.13 ], [ 'AuthAliasOnly', 0, 6, 'virtual anon global', 1.13 ], [ 'AuthUsingAlias', 0, 6, 'anon', 1.20 ], [ 'Bind', 0, 0, 'virtual', 1.16 ], [ 'CDPath', 1, 2, 'virtual anon global', 1.20 ], [ 'Class Classes', 1, 3, 'virtual', 1.20 ], [ 'CommandBufferSize', 0, 0, 'virtual global', 1.20 ], [ 'DefaultServer', 0, 0, 'virtual', undef, 0.99, 8 ], [ 'DefaultTransferMode', 0, 0, 'virtual global', 1.20 ], [ 'DeferWelcome', 0, 0, 'virtual global', 0.99 ], [ 'DeleteAbortedStores', 0, 2, 'virtual directory anon global ftpaccess', 1.20 ], [ 'DenyFilter', 0, 3, 'virtual anon global', 1.20 ], [ 'DenyGroup', 1, 3, 'limit', 1.11 ], [ 'DenyUser', 1, 3, 'limit', 1.17 ], [ 'DisplayConnect', 0, 6, 'virtual global', 1.20 ], [ 'DisplayFirstChdir', 0, 2, 'virtual anon directory global', 0.99 ], [ 'DisplayGoAway', 0, 6, 'virtual anon global', 1.20 ], [ 'DisplayLogin', 0, 6, 'virtual anon global', 0.99 ], [ 'DisplayQuit', 0, 6, 'virtual anon global', 1.20 ], [ 'Group', 0, 5, 'virtual anon', undef, 0.99, 9 ], [ 'GroupOwner', 0, 5, 'anon directory ftpaccess', 0.99 ], [ 'GroupPassword', 1, 6, 'virtual anon global', 0.99 ], [ 'HiddenStor', 0, 2, 'virtual anon directory global', 1.20 ], [ 'HideGroup', 1, 2, 'directory anon', 0.99 ], [ 'HideNoAccess', 0, 2, 'directory anon', 0.99 ], [ 'HideUser', 1, 2, 'directory anon', 0.99 ], [ 'IdentLookups', 0, 0, 'virtual global', 1.15 ], [ 'IgnoreHidden', 0, 2, 'limit', 0.99 ], [ 'MasqueradeAddress', 0, 0, 'virtual', 1.202 ], [ 'MaxClients', 0, 0, 'virtual anon global', 0.99 ], [ 'MaxClientsPerHost', 0, 0, 'virtual anon global', 1.17 ], # [ 'MaxClientsPerUser', 0, 0, 'virtual anon global', 1.20 ], [ 'MaxInstances', 0, 0, 'root', undef, 1.16, 8 ], [ 'MaxLoginAttempts', 0, 6, 'virtual global', 0.99 ], [ 'MultilineRFC2228', 0, 0, 'root', 1.20 ], [ 'PassivePorts', 0, 0, 'virtual global', 1.20 ], [ 'PathAllowFilter', 0, 2, 'virtual anon global', 1.17 ], [ 'PathDenyFilter', 0, 2, 'virtual anon global', 1.17 ], [ 'PidFile', 0, 4, 'root', 1.20 ], [ 'Port', 0, 0, 'virtual', 0.99 ], [ 'RequireValidShell', 0, 6, 'virtual anon global', 0.99 ], [ 'RLimitCPU', 0, 4, 'root', 1.202 ], [ 'RLimitMemory', 0, 4, 'root', 1.202 ], [ 'RLimitOpenFiles', 0, 4, 'root', 1.202 ], [ 'ScoreboardPath', 0, 4, 'root', 1.16 ], [ 'ServerAdmin', 0, 4, 'virtual', 0.99 ], [ 'ServerIdent', 0, 0, 'virtual global', 1.20 ], [ 'ServerName', 0, 4, 'virtual', undef, 0.99, 11 ], [ 'ServerType', 0, 0, 'root', undef, 0.99, 10 ], [ 'ShowSymlinks', 0, 2, 'virtual anon global', 0.99 ], [ 'SocketBindTight', 0, 0, 'root', 0.99 ], [ 'SyslogFacility', 0, 1, 'root', 1.16 ], [ 'SyslogLevel', 0, 1, 'virtual anon global', 1.20 ], [ 'tcpBackLog', 0, 0, 'root', 0.99 ], [ 'tcpNoDelay', 0, 0, 'virtual global', 1.20 ], [ 'tcpReceiveWindow', 0, 0, 'virtual', 0.99 ], [ 'tcpSendWindow', 0, 0, 'virtual', 0.99 ], [ 'TimesGMT', 0, 4, 'root', 1.20 ], [ 'TimeoutIdle', 0, 0, 'root', 0.99 ], [ 'TimeoutLogin', 0, 0, 'root', 0.99 ], [ 'TimeoutNoTransfer', 0, 0, 'root', 0.99 ], [ 'TimeoutStalled', 0, 0, 'root', 1.16 ], [ 'TransferLog', 0, 1, 'virtual anon global', undef, 1.14, 10 ], [ 'Umask', 0, 2, 'virtual directory ftpaccess', undef, 0.99, 3 ], [ 'UseFtpUsers', 0, 6, 'virtual anon global', 0.99 ], [ 'UseHostsAllowFile', 0, 3, 'virtual anon', 1.20 ], [ 'UseHostsDenyFile', 0, 3, 'virtual anon', 1.20 ], [ 'UseReverseDNS', 0, 0, 'root', 1.17 ], [ 'User', 0, 5, 'virtual anon', undef, 0.99, 10 ], [ 'UserDirRoot', 0, 2, 'anon', 1.20 ], [ 'UserAlias', 1, 6, 'virtual anon global', 0.99 ], [ 'UserOwner', 0, 5, 'anon directory', 1.20 ], [ 'UserPassword', 1, 6, 'virtual anon global', 0.99 ], [ 'WtmpLog', 0, 4, 'virtual anon global', 1.17 ], ]; return &make_directives($rv, $_[0], "mod_core"); } sub edit_AccessDenyMsg { return (1, $text{'mod_core_accessdeny'}, &opt_input($_[0]->{'words'}->[0], "AccessDenyMsg", $text{'default'}, 20)); } sub save_AccessDenyMsg { return &parse_opt("AccessDenyMsg"); } sub edit_AccessGrantMsg { return (1, $text{'mod_core_accessgrant'}, &opt_input($_[0]->{'words'}->[0], "AccessGrantMsg", $text{'default'}, 20)); } sub save_AccessGrantMsg { return &parse_opt("AccessGrantMsg"); } sub edit_Allow_Deny_Order { local (@type, @what, @mode, $i); foreach $d (@{$_[0]}, @{$_[1]}) { local @w = @{$d->{'words'}}; shift(@w) if (lc($w[0]) eq 'from'); for($i=0; $i<@w; $i++) { push(@type, lc($d->{'name'}) eq "allow" ? 1 : 2); push(@what, $w[$i] eq 'all' || $w[$i] eq 'none' ? undef : $w[$i]); if ($w[$i] eq 'all') { push(@mode, 0); } elsif ($w[$i] eq 'none') { push(@mode, 1); } elsif ($w[$i] =~ /^\d+\.\d+\.\d+\.\d+$/) { push(@mode, 2); } elsif ($w[$i] =~ /^[0-9\.\/]+$/) { push(@mode, 3); } else { push(@mode, 4); } } } push(@type, ""); push(@what, ""); push(@mode, 0); $rv = "$text{'mod_core_order'}\n". &choice_input($_[2]->[0]->{'value'}, "order", "", "$text{'mod_core_denyallow'},deny,allow", "$text{'mod_core_allowdeny'},allow,deny", "$text{'default'},")."
\n"; $rv .= "\n". " ". "\n"; @sels = map { $text{"mod_core_mode_$_"}.','.$_ } (0 .. 4); for($i=0; $i<@type; $i++) { $rv .= "\n"; $rv .= "\n", $mode[$i] ? $what[$i] : ""; $rv .= "\n"; } $rv .= "
$text{'mod_core_action'}$text{'mod_core_cond'}
".&select_input($type[$i], "allow_type_$i", "0", " ,0", "$text{'mod_core_allow'},1", "$text{'mod_core_deny'},2")."".&select_input($mode[$i], "allow_mode_$i", "0", @sels); $rv .= sprintf "
\n"; return (2, $text{'mod_core_allow_deny'}, $rv); } sub save_Allow_Deny_Order { local ($i, $type, $mode, $what, @allow, @deny); for($i=0; defined($type = $in{"allow_type_$i"}); $i++) { $mode = $in{"allow_mode_$i"}; $what = $in{"allow_what_$i"}; next if (!$type); if ($mode == 0) { $what = "all"; } elsif ($mode == 1) { $what = "none"; } elsif ($mode == 2) { &check_ipaddress($what) || &error(&text('mod_core_eip', $what)); } elsif ($mode == 3) { $what =~ /^[0-9\.]+\.$/ || $what =~ /^([0-9\.]+)\/\d+$/ && &check_ipaddress($1) || &error(&text('mod_core_enet', $what)); } elsif ($mode == 4) { $what =~ /^[A-Za-z0-9\.\-]+$/ || &error(&text('mod_core_ehost', $what)); } if ($type == 1) { push(@allow, $what); } else { push(@deny, $what); } } return ( \@allow, \@deny, &parse_choice("order", "")); } sub edit_AllowAll_DenyAll { #local $a = @{$_[0]}, $d = @{$_[1]}; local $a = $_[0], $d = $_[1]; local $rv = sprintf " %s\n", $a || $d ? "" : "checked", $text{'mod_core_addefault'}; $rv .= sprintf " %s\n", $a ? "checked" : "", $text{'mod_core_allowall'}; $rv .= sprintf " %s\n", $d ? "checked" : "", $text{'mod_core_denyall'}; return (1, $text{'mod_core_adall'}, $rv); } sub save_AllowAll_DenyAll { return $in{'AllowAll'} == 0 ? ( [ ], [ ] ) : $in{'AllowAll'} == 1 ? ( [ "" ], [ ] ) : ( [ ], [ "" ] ); } sub edit_AllowFilter { return (1, $text{'mod_core_filter'}, &opt_input($_[0]->{'value'}, "AllowFilter", $text{'default'}, 15)); } sub save_AllowFilter { return &parse_opt("AllowFilter"); } sub edit_AllowForeignAddress { return (1, $text{'mod_core_foreign'}, &choice_input($_[0]->{'value'}, "AllowForeignAddress", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_AllowForeignAddress { return &parse_choice("AllowForeignAddress", ""); } sub edit_AllowGroup { local $v = @{$_[0]} ? join(" ", (map { $_->{'value'} } @{$_[0]})) : undef; return (2, $text{'mod_core_agroup'}, &opt_input($v, "AllowGroup", $text{'mod_core_all'}, 50)); } sub save_AllowGroup { return ( $in{'AllowGroup_def'} ? [ ] : [ split(/\s+/, $in{'AllowGroup'}) ] ); } sub edit_AllowOverwrite { return (1, $text{'mod_core_overwrite'}, &choice_input($_[0]->{'value'}, "AllowOverwrite", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_AllowOverwrite { return &parse_choice("AllowOverwrite", ""); } sub edit_AllowRetrieveRestart { return (1, $text{'mod_core_restart'}, &choice_input($_[0]->{'value'}, "AllowRetrieveRestart", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_AllowRetrieveRestart { return &parse_choice("AllowRetrieveRestart", ""); } sub edit_AllowStoreRestart { return (1, $text{'mod_core_restart2'}, &choice_input($_[0]->{'value'}, "AllowStoreRestart", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_AllowStoreRestart { return &parse_choice("AllowStoreRestart", ""); } sub edit_AllowUser { local $v = @{$_[0]} ? join(" ", (map { $_->{'value'} } @{$_[0]})) : undef; return (2, $text{'mod_core_auser'}, &opt_input($v, "AllowUser", $text{'mod_core_all'}, 50)); } sub save_AllowUser { return ( $in{'AllowUser_def'} ? [ ] : [ split(/\s+/, $in{'AllowUser'}) ] ); } sub edit_AnonRequirePassword { return (1, $text{'mod_core_require'}, &choice_input($_[0]->{'value'}, "AnonRequirePassword", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_AnonRequirePassword { return &parse_choice("AnonRequirePassword", ""); } sub edit_AnonymousGroup { return (2, $text{'mod_core_anongroup'}, &opt_input($_[0]->{'value'}, "AnonymousGroup", $text{'default'}, 50)); } sub save_AnonymousGroup { return &parse_opt("AnonymousGroup", '\S', $text{'mod_core_eanongroup'}); } sub edit_AuthAliasOnly { return (1, $text{'mod_core_authalias'}, &choice_input($_[0]->{'value'}, "AuthAliasOnly", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_AuthAliasOnly { return &parse_choice("AuthAliasOnly", ""); } sub edit_AuthUsingAlias { return (1, $text{'mod_core_authusingalias'}, &choice_input($_[0]->{'value'}, "AuthUsingAlias", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_AuthUsingAlias { return &parse_choice("AuthUsingAlias", ""); } sub edit_Bind { return (1, $text{'mod_core_bind'}, &opt_input($_[0]->{'value'}, "Bind", $text{'mod_core_bind_all'}, 15)); } sub save_Bind { return &parse_opt("Bind", '^(\d+)\.(\d+)\.(\d+)\.(\d+)$', $text{'mod_core_ebind'}); } sub edit_CDPath { local $rv = "\n"; return (2, $text{'mod_core_cdpath'}, $rv); } sub save_CDPath { $in{'CDPath'} =~ s/\r//g; return ( [ split(/\s+/, $in{'CDPath'}) ] ); } sub edit_Class_Classes { local $rv = $text{'mod_core_classes'}. &choice_input($_[1]->[0]->{'value'}, "Classes", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")."
\n"; $rv .= "\n". " ". "\n"; local $i = 0; foreach $c (@{$_[0]}, { }) { local @w = @{$c->{'words'}}; $rv .= "\n"; $rv .= "\n"; $rv .= "\n"; $rv .= "\n"; $i++; } $rv .= "
$text{'mod_core_cname'}$text{'mod_core_ctype'}
\n"; $rv .= "
\n"; return (2, $text{'mod_core_cls'}, $rv); } sub save_Class_Classes { local ($i, @rv); for($i=0; defined($in{"Class_n_$i"}); $i++) { next if (!$in{"Class_n_$i"}); $in{"Class_t_$i"} ne 'limit' || $in{"Class_v_$i"} =~ /^\d+$/ || &error($text{'mod_core_eclimit'}); $in{"Class_t_$i"} ne 'regex' || $in{"Class_v_$i"} =~ /\S/ || &error($text{'mod_core_ecregex'}); $in{"Class_t_$i"} ne 'ip' || $in{"Class_v_$i"} =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)\/(\d+)$/ || &error($text{'mod_core_ecip'}); push(@rv, join(" ", $in{"Class_n_$i"}, $in{"Class_t_$i"}, $in{"Class_v_$i"})); } return ( \@rv, $in{'Classes'} eq 'on' ? [ 'on' ] : $in{'Classes'} eq 'off' ? [ 'off' ] : [ ] ); } sub edit_CommandBufferSize { return (1, $text{'mod_core_buffer'}, &opt_input($_[0]->{'value'}, "CommandBufferSize", $text{'default'}, 5)); } sub save_CommandBufferSize { return &parse_opt("CommandBufferSize", '^\d+$', $text{'mod_core_ebuffer'}); } sub edit_DefaultServer { return (1, $text{'mod_core_defaultserver'}, &choice_input($_[0]->{'value'}, "DefaultServer", "off", "$text{'yes'},on", "$text{'no'},off")); } sub save_DefaultServer { return &parse_choice("DefaultServer", "off"); } sub edit_DefaultTransferMode { return (1, $text{'mod_core_transfer'}, &select_input($_[0]->{'value'}, "DefaultTransferMode", "", "$text{'mod_core_ascii'},ascii", "$text{'mod_core_binary'},binary", "$text{'default'},")); } sub save_DefaultTransferMode { return &parse_choice("DefaultTransferMode", ""); } sub edit_DeferWelcome { return (1, $text{'mod_core_defer'}, &choice_input($_[0]->{'value'}, "DeferWelcome", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_DeferWelcome { return &parse_choice("DeferWelcome", ""); } sub edit_DeleteAbortedStores { return (1, $text{'mod_core_aborted'}, &choice_input($_[0]->{'value'}, "DeleteAbortedStores", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_DeleteAbortedStores { return &parse_choice("DeleteAbortedStores", ""); } sub edit_DenyFilter { return (1, $text{'mod_core_dfilter'}, &opt_input($_[0]->{'value'}, "DenyFilter", $text{'default'}, 15)); } sub save_DenyFilter { return &parse_opt("DenyFilter"); } sub edit_DenyGroup { local $v = @{$_[0]} ? join(" ", (map { $_->{'value'} } @{$_[0]})) : undef; return (2, $text{'mod_core_dgroup'}, &opt_input($v, "DenyGroup", $text{'mod_core_none'}, 50)); } sub save_DenyGroup { return ( $in{'DenyGroup_def'} ? [ ] : [ split(/\s+/, $in{'DenyGroup'}) ] ); } sub edit_DenyUser { local $v = @{$_[0]} ? join(" ", (map { $_->{'value'} } @{$_[0]})) : undef; return (2, $text{'mod_core_duser'}, &opt_input($v, "DenyUser", $text{'mod_core_none'}, 50)); } sub save_DenyUser { return ( $in{'DenyUser_def'} ? [ ] : [ split(/\s+/, $in{'DenyUser'}) ] ); } sub edit_DisplayConnect { return (2, $text{'mod_core_display'}, &opt_input($_[0]->{'value'}, "DisplayConnect", $text{'mod_core_none'}, 50)); } sub save_DisplayConnect { return &parse_opt("DisplayConnect", '\S', $text{'mod_core_edisplay'}); } sub edit_DisplayFirstChdir { return (1, $text{'mod_core_firstcd'}, &opt_input($_[0]->{'value'}, "DisplayFirstChdir", $text{'mod_core_none'}, 15)); } sub save_DisplayFirstChdir { return &parse_opt("DisplayFirstChdir", '^\S+$', $text{'mod_core_efirstcd'}); } sub edit_DisplayGoAway { return (2, $text{'mod_core_goaway'}, &opt_input($_[0]->{'value'}, "DisplayGoAway", $text{'mod_core_none'}, 50)); } sub save_DisplayGoAway { return &parse_opt("DisplayGoAway", '\S', $text{'mod_core_egoaway'}); } sub edit_DisplayLogin { return (2, $text{'mod_core_login'}, &opt_input($_[0]->{'value'}, "DisplayLogin", $text{'mod_core_none'}, 50)); } sub save_DisplayLogin { return &parse_opt("DisplayLogin", '\S', $text{'mod_core_elogin'}); } sub edit_DisplayQuit { return (2, $text{'mod_core_quit'}, &opt_input($_[0]->{'value'}, "DisplayQuit", $text{'mod_core_none'}, 50)); } sub save_DisplayQuit { return &parse_opt("DisplayQuit", '\S', $text{'mod_core_equit'}); } sub edit_Group { local($rv, @ginfo); $rv = sprintf " $text{'default'}\n", $_[0] ? "" : "checked"; $rv .= sprintf " %s\n", $_[0] && $_[0]->{'value'} !~ /^#/ ? "checked" : "", $text{'mod_core_gname'}; $rv .= sprintf " %s\n", $_[0]->{'value'} !~ /^#/ ? $_[0]->{'value'} : "", &group_chooser_button("Group_name", 0); $rv .= sprintf " %s\n", $_[0]->{'value'} =~ /^#/ ? "checked" : "", $text{'mod_core_gid'}; $rv .= sprintf "\n", $_[0]->{'value'} =~ /^#(.*)$/ ? $1 : ""; return (2, $text{'mod_core_group'}, $rv); } sub save_Group { if ($in{'Group'} == 0) { return ( [ ] ); } elsif ($in{'Group'} == 1) { return ( [ $in{'Group_name'} ] ); } elsif ($in{'Group_id'} !~ /^\-?\d+$/) { &error(&text('core_euid', $in{'Group_id'})); } else { return ( [ "#$in{'Group_id'}" ] ); } } sub edit_GroupOwner { return (1, $text{'mod_core_gowner'}, &opt_input($_[0]->{'value'}, "GroupOwner", $text{'default'}, 13, &group_chooser_button("GroupOwner"))); } sub save_GroupOwner { if ($in{'GroupOwner_def'}) { return ( [ ] ); } else { defined(getgrnam($in{'GroupOwner'})) || &error($text{'mod_core_egowner'}); return ( [ $in{'GroupOwner'} ] ); } } sub edit_GroupPassword { local $rv = "\n"; $rv .= " ". "\n"; local $i = 0; foreach $g (@{$_[0]}) { local @v = @{$g->{'words'}}; $rv .= "\n"; $rv .= "\n"; $rv .= "\n"; $i++; } $rv .= "\n". "\n". "\n". "
$text{'mod_core_gpname'}$text{'mod_core_gppass'}
$text{'mod_core_gpdef'}\n"; $rv .= "\n"; $rv .= "
\n"; return (2, $text{'mod_core_grouppassword'}, $rv); } sub save_GroupPassword { local @rv; for($i=0; defined($in{"GroupPassword_n_$i"}); $i++) { next if (!$in{"GroupPassword_n_$i"}); scalar(getgrnam($in{"GroupPassword_n_$i"})) || &error($text{'mod_core_egpname'}); if ($in{"GroupPassword_d_$i"}) { push(@rv, $in{"GroupPassword_n_$i"}.' '. $in{"GroupPassword_d_$i"}); } else { $salt = substr(time(), 0, 2); push(@rv, $in{"GroupPassword_n_$i"}.' '. crypt($in{"GroupPassword_p_$i"}, $salt)); } } return ( \@rv ); } sub edit_HiddenStor { return (1, $text{'mod_core_hstor'}, &choice_input($_[0]->{'value'}, "HiddenStor", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_HiddenStor { return &parse_choice("HiddenStor", ""); } sub edit_HideGroup { return (2, $text{'mod_core_hgroup'}, sprintf "", join(" ", map { $_->{'value'} } @{$_[0]})); } sub save_HideGroup { local @hg = split(/\s+/, $in{'HideGroup'}); foreach $g (@hg) { scalar(getgrnam($g)) || &error($text{'mod_core_ehgroup'}); } return ( \@hg ); } sub edit_HideNoAccess { return (1, $text{'mod_core_hnoaccess'}, &choice_input($_[0]->{'value'}, "HideNoAccess", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_HideNoAccess { return &parse_choice("HideNoAccess", ""); } sub edit_HideUser { return (2, $text{'mod_core_huser'}, sprintf "", join(" ", map { $_->{'value'} } @{$_[0]})); } sub save_HideUser { local @hu = split(/\s+/, $in{'HideUser'}); foreach $u (@hu) { defined(getpwnam($u)) || &error($text{'mod_core_ehuser'}); } return ( \@hu ); } sub edit_IdentLookups { return (1, $text{'mod_core_ident'}, &choice_input($_[0]->{'value'}, "IdentLookups", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_IdentLookups { return &parse_choice("IdentLookups", ""); } sub edit_IgnoreHidden { return (1, $text{'mod_core_ihidden'}, &choice_input($_[0]->{'value'}, "IgnoreHidden", "off", "$text{'yes'},on", "$text{'no'},off")); } sub save_IgnoreHidden { return &parse_choice("IgnoreHidden", "off"); } sub edit_MasqueradeAddress { return (2, $text{'mod_core_masq'}, &opt_input($_[0]->{'value'}, "MasqueradeAddress", $text{'mod_core_masq_def'}, 30)); } sub save_MasqueradeAddress { $in{'MasqueradeAddress_def'} || &to_ipaddress($in{'MasqueradeAddress'}) || &error($text{'mod_core_emasq'}); return &parse_opt("MasqueradeAddress"); } sub edit_MaxClients { return (2, $text{'mod_core_maxc'}, &edit_max($_[0], "MaxClients")); } sub save_MaxClients { return &save_max("MaxClients"); } sub edit_MaxClientsPerHost { return (2, $text{'mod_core_maxch'}, &edit_max($_[0], "MaxClientsPerHost")); } sub save_MaxClientsPerHost { return &save_max("MaxClientsPerHost"); } sub edit_MaxClientsPerUser { return (2, $text{'mod_core_maxcu'}, &edit_max($_[0], "MaxClientsPerUser")); } sub save_MaxClientsPerUser { return &save_max("MaxClientsPerUser"); } sub edit_max { local $m = !$_[0] ? 0 : $_[0]->{'words'}->[0] eq 'none' ? 1 : 2; local $rv = sprintf " %s\n", $m == 0 ? "checked" : "", $text{'default'}; $rv .= sprintf " %s\n", $m == 1 ? "checked" : "", $text{'mod_core_maxc1'}; $rv .= sprintf "\n", $m == 2 ? "checked" : ""; $rv .= sprintf "
\n", $m == 2 ? $_[0]->{'words'}->[0] : ""; $rv .= sprintf "%s \n", $text{'mod_core_maxcmsg'}, $_[0]->{'words'}->[1]; return $rv; } sub save_max { if ($in{"$_[0]_m"} == 0) { return ( [ ] ); } else { local $n; if ($in{"$_[0]_m"} == 1) { $n = "none"; } else { $in{$_[0]} =~ /^\d+$/ || &error($text{'mod_core_emaxc'}); $n = $in{$_[0]}; } if ($in{"$_[0]_t"}) { return ( [ "$n \"".$in{"$_[0]_t"}."\"" ] ); } else { return ( [ $n ] ); } } } sub edit_MaxInstances { return (1, $text{'mod_core_instances'}, &opt_input($_[0]->{'value'}, "MaxInstances", $text{'default'}, 4)); } sub save_MaxInstances { return &parse_opt("MaxInstances", '^\d+$', $text{'mod_core_einstances'}); } sub edit_MaxLoginAttempts { return (1, $text{'mod_core_logins'}, &opt_input($_[0]->{'value'}, "MaxLoginAttempts", $text{'default'}, 4)); } sub save_MaxLoginAttempts { return &parse_opt("MaxLoginAttempts", '^\d+$', $text{'mod_core_elogins'}); } sub edit_MultilineRFC2228 { return (1, $text{'mod_core_rfc2228'}, &choice_input($_[0]->{'value'}, "MultilineRFC2228", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_MultilineRFC2228 { return &parse_choice("MultilineRFC2228", ""); } sub edit_PassivePorts { local $rv = sprintf " %s\n", $_[0] ? "" : "checked", $text{'default'}; $rv .= sprintf " %s\n", $_[0] ? "checked" : "", $text{'mod_core_pasvr'}; $rv .= sprintf " -\n", $_[0]->{'words'}->[0]; $rv .= sprintf "\n", $_[0]->{'words'}->[1]; return (1, $text{'mod_core_pasv'}, $rv); } sub save_PassivePorts { if ($in{'PassivePorts_def'}) { return ( [ ] ); } else { $in{'PassivePorts_f'} =~ /^\d+$/ || &error($text{'mod_core_epasv'}); $in{'PassivePorts_t'} =~ /^\d+$/ || &error($text{'mod_core_epasv'}); return ( [ "$in{'PassivePorts_f'} $in{'PassivePorts_t'}" ] ); } } sub edit_PathAllowFilter { return (1, $text{'mod_core_pathallow'}, &opt_input($_[0]->{'words'}->[0], "PathAllowFilter", $text{'mod_core_any'}, 20)); } sub save_PathAllowFilter { return &parse_opt("PathAllowFilter"); } sub edit_PathDenyFilter { return (1, $text{'mod_core_pathdeny'}, &opt_input($_[0]->{'words'}->[0], "PathDenyFilter", $text{'mod_core_none'}, 20)); } sub save_PathDenyFilter { return &parse_opt("PathDenyFilter"); } sub edit_PidFile { return (2, $text{'mod_core_pidfile'}, &opt_input($_[0]->{'words'}->[0], "PidFile", $text{'default'}, 50, &file_chooser_button("PidFile"))); } sub save_PidFile { return &parse_opt("PidFile", '^\/\S+$', $text{'mod_core_epidfile'}); } sub edit_Port { return (1, $text{'mod_core_port'}, &opt_input($_[0]->{'value'}, "Port", $text{'default'}, 6)); } sub save_Port { return &parse_opt("Port", '^\d+$', $text{'mod_core_eport'}); } sub edit_RequireValidShell { return (1, $text{'mod_core_shell'}, &choice_input($_[0]->{'value'}, "RequireValidShell", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_RequireValidShell { return &parse_choice("RequireValidShell", ""); } sub edit_RLimitCPU { return &rlimit_input("RLimitCPU", $text{'mod_core_cpulimit'}, $_[0]); } sub save_RLimitCPU { return &parse_rlimit("RLimitCPU", $text{'mod_core_ecpulimit'}); } sub edit_RLimitMemory { return &rlimit_input("RLimitMemory", $text{'mod_core_memlimit'}, $_[0]); } sub save_RLimitMemory { return &parse_rlimit("RLimitMemory", $text{'mod_core_ememlimit'}); } sub edit_RLimitOpenFiles { return &rlimit_input("RLimitOpenFiles", $text{'mod_core_filelimit'}, $_[0]); } sub save_RLimitOpenFiles { return &parse_rlimit("RLimitOpenFiles", $text{'mod_core_efilelimit'}); } # rlimit_input(name, desc, value) sub rlimit_input { local @w = @{$_[2]->{'words'}}; local $rv; $rv .= sprintf "%s %s\n", $text{'mod_core_soft'}, $_[0], $w[0] ? "" : "checked", $text{'default'}; $rv .= sprintf " %s\n", $_[0], $w[0] eq 'max' ? "checked" : "", $text{'mod_core_max'}; $rv .= sprintf "\n", $_[0], !$w[0] || $w[0] eq 'max' ? "" : "checked"; $rv .= sprintf "\n", $_[0], $w[0] eq 'max' ? '' : $w[0]; $rv .= "   "; $rv .= sprintf "%s %s\n", $text{'mod_core_hard'}, $_[0], $w[1] ? "" : "checked", $text{'default'}; $rv .= sprintf " %s\n", $_[0], $w[1] eq 'max' ? "checked" : "", $text{'mod_core_max'}; $rv .= sprintf "\n", $_[0], !$w[1] || $w[1] eq 'max' ? "" : "checked"; $rv .= sprintf "\n", $_[0], $w[1] eq 'max' ? '' : $w[1]; return (2, $_[1], $rv); } # parse_rlimit(name, desc) sub parse_rlimit { if ($in{"$_[0]_smax"} == 2) { return ( [ ] ); } local @v; if ($in{"$_[0]_smax"} == 1) { push(@v, "max"); } else { $in{"$_[0]_soft"} =~ /^(\d+)(G|M|K|B)?$/i || &error(&text('mod_core_esoft', $_[1])); push(@v, $in{"$_[0]_soft"}); } if ($in{"$_[0]_hmax"} == 1) { push(@v, "max"); } elsif ($in{"$_[0]_hmax"} == 0) { $in{"$_[0]_hard"} =~ /^(\d+)(G|M|K|B)?$/i || &error(&text('mod_core_ehard', $_[1])); push(@v, $in{"$_[0]_hard"}); } return ( [ join(" ", @v) ] ); } sub edit_ScoreboardPath { return (2, $text{'mod_core_score'}, &opt_input($_[0]->{'words'}->[0], "ScoreboardPath", $text{'default'}, 50, &file_chooser_button("ScoreboardPath"))); } sub save_ScoreboardPath { return &parse_opt("ScoreboardPath", '^\/\S+$', $text{'mod_core_escore'}); } sub edit_ServerAdmin { return (2, $text{'mod_core_admin'}, &opt_input($_[0]->{'words'}->[0], "ServerAdmin", $text{'default'}, 40)); } sub save_ServerAdmin { return &parse_opt("ServerAdmin", '^\S+\@\S+$', $text{'mod_core_eadmin'}); } sub edit_ServerIdent { local @w = @{$_[0]->{'words'}}; local $rv = sprintf " %s\n", $_[0] ? "" : "checked", $text{'default'}; $rv .= sprintf " %s\n", lc($w[0]) eq 'off' ? "checked" : "", $text{'mod_core_none'}; $rv .= sprintf " %s\n", lc($w[0]) eq 'on' && !$w[1] ? "checked" : "", $text{'mod_core_identmsg_def'}; $rv .= sprintf "\n", lc($w[0]) eq 'on' && $w[1] ? "checked" : ""; $rv .= sprintf "\n", lc($w[0]) eq 'on' ? $w[1] : ""; return (2, $text{'mod_core_identmsg'}, $rv); } sub save_ServerIdent { if ($in{'ServerIdent_m'} == 0) { return ( [ ] ); } elsif ($in{'ServerIdent_m'} == 1) { return ( [ "off" ] ); } elsif ($in{'ServerIdent_m'} == 2) { return ( [ "on" ] ); } else { return ( [ "on \"$in{'ServerIdent'}\"" ] ); } } sub edit_ServerName { return (2, $text{'mod_core_servername'}, &opt_input($_[0]->{'words'}->[0], "ServerName", $text{'default'}, 50)); } sub save_ServerName { return &parse_opt("ServerName", '\S', $text{'mod_core_eservername'}); } sub edit_ServerType { return (1, $text{'mod_core_type'}, &select_input($_[0]->{'value'}, "ServerType", "", "$text{'mod_core_inetd'},inetd", "$text{'mod_core_stand'},standalone", "$text{'default'},")); } sub save_ServerType { return &parse_choice("ServerType", ""); } sub edit_ShowSymlinks { return (1, $text{'mod_core_links'}, &choice_input($_[0]->{'value'}, "ShowSymlinks", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_ShowSymlinks { return &parse_choice("ShowSymlinks", ""); } sub edit_SocketBindTight { return (1, $text{'mod_core_tight'}, &choice_input($_[0]->{'value'}, "SocketBindTight", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_SocketBindTight { return &parse_choice("SocketBindTight", ""); } sub edit_SyslogFacility { local @facils = map { "$_,$_" } ( 'auth', 'authpriv', 'cron', 'daemon', 'kern', 'lpr', 'mail', 'news', 'user', 'uucp', 'local0', 'local1', 'local2', 'local3', 'local4', 'local5', 'local6', 'local7' ); return (1, $text{'mod_core_facility'}, &select_input($_[0]->{'value'}, "SyslogFacility", "", "$text{'default'},", @facils)); } sub save_SyslogFacility { return &parse_select("SyslogFacility", ""); } sub edit_SyslogLevel { local @levels = map { "$_,$_" } ( 'emerg', 'alert', 'crit', 'error', 'warn', 'notice', 'info', 'debug' ); return (1, $text{'mod_core_level'}, &select_input($_[0]->{'value'}, "SyslogLevel", "", "$text{'default'},", @levels)); } sub save_SyslogLevel { return &parse_select("SyslogLevel", ""); } sub edit_TransferLog { local $mode = $_[0]->{'value'} eq 'NONE' ? 2 : $_[0]->{'value'} ? 0 : 1; local $rv = sprintf " %s\n", $mode == 1 ? "checked" : "", $text{'default'}; if ($_[1]->{'version'} >= 1.17) { $rv .= sprintf" %s\n", $mode == 2 ? "checked" : "", $text{'mod_core_nowhere'}; } $rv .= sprintf "\n", $mode == 0 ? "checked" : ""; $rv .= sprintf "\n", $mode == 0 ? $_[0]->{'value'} : ""; return (2, $text{'mod_core_tlog'}, $rv); } sub save_TransferLog { if ($in{'TransferLog_def'} == 1) { return ( [ ] ); } elsif ($in{'TransferLog_def'} == 2) { return ( [ 'NONE' ] ); } else { $in{'TransferLog'} =~ /^\/\S+$/ || &error($text{'mod_core_etlog'}); return ( [ $in{'TransferLog'} ] ); } } sub edit_tcpBackLog { return (1, $text{'mod_core_backlog'}, &opt_input($_[0]->{'value'}, "tcpBackLog", $text{'default'}, 6)); } sub save_tcpBackLog { return &parse_opt("tcpBackLog", '^\d+$', $text{'mod_core_ebacklog'}); } sub edit_tcpNoDelay { return (1, $text{'mod_core_nodelay'}, &choice_input($_[0]->{'value'}, "tcpNoDelay", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_tcpNoDelay { return &parse_choice("tcpNoDelay", ""); } sub edit_tcpReceiveWindow { return (1, $text{'mod_core_rwindow'}, &opt_input($_[0]->{'value'}, "tcpReceiveWindow", $text{'default'}, 6)); } sub save_tcpReceiveWindow { return &parse_opt("tcpReceiveWindow", '^\d+$', $text{'mod_core_erwindow'}); } sub edit_tcpSendWindow { return (1, $text{'mod_core_swindow'}, &opt_input($_[0]->{'value'}, "tcpSendWindow", $text{'default'}, 6)); } sub save_tcpSendWindow { return &parse_opt("tcpSendWindow", '^\d+$', $text{'mod_core_eswindow'}); } sub edit_TimesGMT { return (1, $text{'mod_core_gmt'}, &choice_input($_[0]->{'value'}, "TimesGMT", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_TimesGMT { return &parse_choice("TimesGMT", ""); } sub edit_TimeoutIdle { return (1, $text{'mod_core_tidle'}, &opt_input($_[0]->{'value'}, "TimeoutIdle", $text{'default'}, 6, $text{'mod_core_secs'})); } sub save_TimeoutIdle { return &parse_opt("TimeoutIdle", '^\d+$', $text{'mod_core_etidle'}); } sub edit_TimeoutLogin { return (1, $text{'mod_core_tlogin'}, &opt_input($_[0]->{'value'}, "TimeoutLogin", $text{'default'}, 6, $text{'mod_core_secs'})); } sub save_TimeoutLogin { return &parse_opt("TimeoutLogin", '^\d+$', $text{'mod_core_etlogin'}); } sub edit_TimeoutNoTransfer { return (1, $text{'mod_core_ttransfer'}, &opt_input($_[0]->{'value'}, "TimeoutNoTransfer", $text{'default'}, 6, $text{'mod_core_secs'})); } sub save_TimeoutNoTransfer { return &parse_opt("TimeoutNoTransfer", '^\d+$', $text{'mod_core_ettransfer'}); } sub edit_TimeoutStalled { return (1, $text{'mod_core_tstalled'}, &opt_input($_[0]->{'value'}, "TimeoutStalled", $text{'default'}, 6, $text{'mod_core_secs'})); } sub save_TimeoutStalled { return &parse_opt("TimeoutStalled", '^\d+$', $text{'mod_core_etstalled'}); } sub edit_Umask { local $rv; $rv .= sprintf " %s\n", $_[0]->{'words'}->[0] ? "" : "checked", $text{'default'}; $rv .= sprintf " %s\n", $_[0]->{'words'}->[0] ? "checked" : "", $text{'mod_core_octal'}; $rv .= sprintf "\n", $_[0]->{'words'}->[0]; $rv .= "   $text{'mod_core_umask_d'}\n"; $rv .= sprintf " %s\n", $_[0]->{'words'}->[1] ? "" : "checked", $text{'default'}; $rv .= sprintf " %s\n", $_[0]->{'words'}->[1] ? "checked" : "", $text{'mod_core_octal'}; $rv .= sprintf "\n", $_[0]->{'words'}->[1]; return (2, $text{'mod_core_umask'}, $rv); } sub save_Umask { if ($in{'Umask_def'}) { return ( [ ] ); } else { $in{'Umask'} =~ /^[0-7]{3}$/ || &error($text{'mod_core_eumask'}); if ($in{'Umask_d_def'}) { return ( [ $in{'Umask'} ] ); } else { $in{'Umask_d'} =~ /^[0-7]{3}$/ || &error($text{'mod_core_eumask'}); return ( [ $in{'Umask'}." ".$in{'Umask_d'} ] ); } } } sub edit_UseFtpUsers { return (1, $text{'mod_core_ftpusers'}, &choice_input($_[0]->{'value'}, "UseFtpUsers", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_UseFtpUsers { return &parse_choice("UseFtpUsers", ""); } sub edit_UseHostsAllowFile { return (2, $text{'mod_core_hostsallow'}, &opt_input($_[0]->{'value'}, "UseHostsAllowFile", $text{'default'}, 50, &file_chooser_button("UseHostsAllowFile"))); } sub save_UseHostsAllowFile { $in{'UseHostsAllowFile_def'} || -r $in{'UseHostsAllowFile'} || &error($text{'mod_core_ehostsallow'}); return &parse_opt("UseHostsAllowFile"); } sub edit_UseHostsDenyFile { return (2, $text{'mod_core_hostsdeny'}, &opt_input($_[0]->{'value'}, "UseHostsDenyFile", $text{'default'}, 50, &file_chooser_button("UseHostsDenyFile"))); } sub save_UseHostsDenyFile { $in{'UseHostsDenyFile_def'} || -r $in{'UseHostsDenyFile'} || &error($text{'mod_core_ehostsdeny'}); return &parse_opt("UseHostsDenyFile"); } sub edit_UseReverseDNS { return (1, $text{'mod_core_revdns'}, &choice_input($_[0]->{'value'}, "UseReverseDNS", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_UseReverseDNS { return &parse_choice("UseReverseDNS", ""); } sub edit_UserDirRoot { return (1, $text{'mod_core_userdir'}, &choice_input($_[0]->{'value'}, "UserDirRoot", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_UserDirRoot { return &parse_choice("UserDirRoot", ""); } sub edit_User { local($rv, @uinfo); $rv = sprintf " $text{'default'}\n", $_[0] ? "" : "checked"; $rv .= sprintf " %s\n", $_[0] && $_[0]->{'value'} !~ /^#/ ? "checked" : "", $text{'mod_core_uname'}; $rv .= sprintf " %s \n", $_[0]->{'value'} !~ /^#/ ? $_[0]->{'value'} : "", &user_chooser_button("User_name", 0); $rv .= sprintf " %s\n", $_[0]->{'value'} =~ /^#/ ? "checked" : "", $text{'mod_core_uid'}; $rv .= sprintf "\n", $_[0]->{'value'} =~ /^#(.*)$/ ? $1 : ""; return (2, $text{'mod_core_user'}, $rv); } sub save_User { if ($in{'User'} == 0) { return ( [ ] ); } elsif ($in{'User'} == 1) { return ( [ $in{'User_name'} ] ); } elsif ($in{'User_id'} !~ /^\-?\d+$/) { &error(&text('core_egid', $in{'User_id'})); } else { return ( [ "#$in{'User_id'}" ] ); } } sub edit_UserAlias { local $rv = "\n". " ". "\n"; local $i = 0; foreach $u (@{$_[0]}, { }) { local @w = @{$u->{'words'}}; $rv .= "\n"; $rv .= "\n"; $rv .= "\n"; $rv .= "\n"; $i++; } $rv .= "
$text{'mod_core_afrom'}$text{'mod_core_ato'}
\n"; return (2, $text{'mod_core_ualias'}, $rv); } sub save_UserAlias { local @rv; for($i=0; defined($in{"UserAlias_f_$i"}); $i++) { next if (!$in{"UserAlias_f_$i"}); $in{"UserAlias_f_$i"} =~ /^\S+$/ || &error($text{'mod_core_eafrom'}); $in{"UserAlias_t_$i"} =~ /^\S+$/ || &error($text{'mod_core_eato'}); push(@rv, $in{"UserAlias_f_$i"}.' '.$in{"UserAlias_t_$i"}); } return ( \@rv ); } sub edit_UserOwner { return (1, $text{'mod_core_uowner'}, &opt_input($_[0]->{'value'}, "UserOwner", $text{'default'}, 13, &user_chooser_button("UserOwner"))); } sub save_UserOwner { if ($in{'UserOwner_def'}) { return ( [ ] ); } else { getpwnam($in{'UserOwner'}) || &error($text{'mod_core_euowner'}); return ( [ $in{'UserOwner'} ] ); } } sub edit_UserPassword { local $rv = "\n"; $rv .= " ". "\n"; local $i = 0; foreach $u (@{$_[0]}) { local @v = @{$u->{'words'}}; $rv .= "\n"; $rv .= "\n"; $rv .= "\n"; $i++; } $rv .= "\n". "\n". "\n". "
$text{'mod_core_upname'}$text{'mod_core_uppass'}
$text{'mod_core_updef'}\n"; $rv .= "\n"; $rv .= "
\n"; return (2, $text{'mod_core_userpassword'}, $rv); } sub save_UserPassword { local @rv; for($i=0; defined($in{"UserPassword_n_$i"}); $i++) { next if (!$in{"UserPassword_n_$i"}); scalar(getpwnam($in{"UserPassword_n_$i"})) || &error($text{'mod_core_eupname'}); if ($in{"UserPassword_d_$i"}) { push(@rv, $in{"UserPassword_n_$i"}.' '. $in{"UserPassword_d_$i"}); } else { $salt = substr(time(), 0, 2); push(@rv, $in{"UserPassword_n_$i"}.' '. crypt($in{"UserPassword_p_$i"}, $salt)); } } return ( \@rv ); } sub edit_WtmpLog { return (1, $text{'mod_core_wtmp'}, &choice_input($_[0]->{'value'}, "WtmpLog", "", "$text{'yes'},on", "$text{'no'},off", "$text{'mod_core_none'},NONE", "$text{'default'},")); } sub save_WtmpLog { return &parse_choice("WtmpLog", ""); } proftpd/edit_net.cgi0100775000567100000120000000141710114777321014507 0ustar jcameronwheel#!/usr/local/bin/perl # edit_net.cgi # Display networking options require './proftpd-lib.pl'; &ui_print_header(undef, $text{'net_title'}, "", undef, undef, undef, undef, &restart_button()); $conf = &get_config(); print "
\n"; print "\n"; print "\n"; print "
$text{'net_header'}
\n"; print "\n"; print &choice_input($text{'net_type'}, 'ServerType', $conf, 'inetd', $text{'net_inetd'}, 'inetd', $text{'net_stand'}, 'standalone'); print &text_input($text{'net_port'}, 'Port', $conf, '21', 6); print "\n"; print "
\n"; print "
\n"; &ui_print_footer("", $text{'index_return'}); proftpd/save_global.cgi0100755000567100000120000000102710114776676015201 0ustar jcameronwheel#!/usr/local/bin/perl # save_global.cgi # Save some type of global options require './proftpd-lib.pl'; &ReadParse(); &lock_proftpd_files(); $conf = &get_config(); $gconf = &get_or_create_global($conf); @edit = &editable_directives($in{'type'}, 'root'); @gedit = &editable_directives($in{'type'}, 'global'); &error_setup(&text('efailed', $text{"type_$in{'type'}"})); &parse_inputs(\@edit, $conf, $conf); &parse_inputs(\@gedit, $gconf, $conf); &unlock_proftpd_files(); &webmin_log("global", $in{'type'}, undef, \%in); &redirect(""); proftpd/edit_global.cgi0100775000567100000120000000177110114777245015171 0ustar jcameronwheel#!/usr/local/bin/perl # edit_global.cgi # Display a form for editing some kind of global options require './proftpd-lib.pl'; &ReadParse(); $conf = &get_config(); $global = &find_directive_struct("Global", $conf); if ($global) { $gconf = $global->{'members'}; } &ui_print_header(undef, $text{"type_$in{'type'}"}, "", undef, undef, undef, undef, &restart_button()); print "
\n"; print "\n"; print "\n"; print "\n"; print "
",$text{"type_$in{'type'}"},"
\n"; @dirs = &editable_directives($in{'type'}, 'root'); &generate_inputs(\@dirs, $conf); @gdirs = &editable_directives($in{'type'}, 'global'); if (@dirs && @gdirs) { print "\n"; } &generate_inputs(\@gdirs, $gconf); print "

\n"; print "
\n"; &ui_print_footer("", $text{'index_return'}); proftpd/edit_virt.cgi0100755000567100000120000000200210114777453014700 0ustar jcameronwheel#!/usr/local/bin/perl # edit_virt.cgi # Display a form for editing some kind of per-server options require './proftpd-lib.pl'; &ReadParse(); ($conf, $v) = &get_virtual_config($in{'virt'}); @dirs = &editable_directives($in{'type'}, 'virtual'); $desc = $in{'virt'} eq '' ? $text{'virt_header2'} : &text('virt_header1', $v->{'value'}); &ui_print_header($desc, $text{"type_$in{'type'}"}, "", undef, undef, undef, undef, &restart_button()); print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
",&text('virt_header3', $text{"type_$in{'type'}"}), "
\n"; &generate_inputs(\@dirs, $conf); print "
\n"; print "
\n"; &ui_print_footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'}, "", $text{'index_return'}); proftpd/virt_index.cgi0100775000567100000120000000520310114777672015075 0ustar jcameronwheel#!/usr/local/bin/perl # virt_index.cgi # Display a menu for some specific virtual server, or the default server require './proftpd-lib.pl'; &ReadParse(); ($conf, $v) = &get_virtual_config($in{'virt'}); $desc = $in{'virt'} eq '' ? $text{'virt_header2'} : &text('virt_header1', $v->{'value'}); &ui_print_header($desc, $text{'virt_title'}, "", undef, undef, undef, undef, &restart_button()); # Display header and icons print "

$text{'virt_opts'}

\n"; $anon_icon = { "icon" => "images/anon.gif", "name" => $text{'virt_anon'}, "link" => "anon_index.cgi?virt=$in{'virt'}" }; $virt_icon = { "icon" => "images/virt.gif", "name" => $text{'virt_virt'}, "link" => "edit_vserv.cgi?virt=$in{'virt'}" }; $ed_icon = { "icon" => "images/edit.gif", "name" => $text{'virt_edit'}, "link" => "manual_form.cgi?virt=$in{'virt'}" }; &config_icons("virtual", "edit_virt.cgi?virt=$in{'virt'}&", $anon_icon, $in{'virt'} ? ( $virt_icon, $ed_icon ) : ( ) ); # Display per-directory/limit options @dir = ( &find_directive_struct("Directory", $conf) , &find_directive_struct("Limit", $conf) ); if (@dir) { print "
\n"; print "

$text{'virt_header'}

\n"; foreach $d (@dir) { if ($d->{'name'} eq 'Limit') { push(@links, "limit_index.cgi?limit=". &indexof($d, @$conf)."&virt=$in{'virt'}"); push(@titles, &text('virt_limit', $d->{'value'})); push(@icons, "images/limit.gif"); } else { push(@links, "dir_index.cgi?idx=". &indexof($d, @$conf)."&virt=$in{'virt'}"); push(@titles, &text('virt_dir', $d->{'value'})); push(@icons, "images/dir.gif"); } } &icons_table(\@links, \@titles, \@icons, 3); } print "
\n"; print "
\n"; print "\n"; print "\n"; print "\n"; print "
$text{'virt_adddir'}
\n"; print "\n"; print "\n"; print "
$text{'virt_path'}\n"; print "
\n"; print "
\n"; print "
\n"; print "\n"; print "\n"; print "\n"; print "
$text{'virt_addlimit'}
\n"; print "\n"; print "\n"; print "
$text{'virt_cmds'}\n"; print "
\n"; print "
\n"; &ui_print_footer("", $text{'index_return'}); proftpd/save_virt.cgi0100755000567100000120000000076610114776676014736 0ustar jcameronwheel#!/usr/local/bin/perl # save_virt.cgi # Save some kind of per-server configuration require './proftpd-lib.pl'; &ReadParse(); ($conf, $v) = &get_virtual_config($in{'virt'}); @edit = &editable_directives($in{'type'}, 'virtual'); &lock_proftpd_files(); &error_setup(&text('efailed', $text{"type_$in{'type'}"})); &parse_inputs(\@edit, $conf, &get_config()); &unlock_proftpd_files(); &webmin_log("virt", $in{'type'}, $in{'virt'} ? $v->{'value'} : "", \%in); &redirect("virt_index.cgi?virt=$in{'virt'}"); proftpd/mod_ls.pl0100664000567100000120000001062710130371474014037 0ustar jcameronwheel# mod_ls.pl sub mod_ls_directives { local $rv = [ [ 'DirFakeUser', 0, 2, 'virtual anon global', 1.15 ], [ 'DirFakeGroup', 0, 2, 'virtual anon global', 1.15 ], [ 'DirFakeMode', 0, 2, 'virtual anon global', 1.16 ], [ 'LsDefaultOptions', 0, 2, 'virtual anon global', 1.16 ], [ 'ListOptions', 0, 2, 'virtual anon global directory ftpaccess', 1.208 ], [ 'ShowDotFiles', 0, 2, 'virtual anon global', '0.99-1.206' ], ]; return &make_directives($rv, $_[0], "mod_ls"); } sub edit_DirFakeGroup { local $rv; local $w = $_[0]->{'words'}->[0]; $rv .= sprintf " %s\n", lc($w) eq 'off' ? "checked" : "", $text{'no'}; $rv .= sprintf " %s\n", lc($w) ? "" : "checked", $text{'default'}; $rv .= sprintf " %s\n", lc($w) eq 'on' ? "checked" : "", $text{'mod_ls_fakeasgroup'}; $rv .= "
"; local $a = $_[0]->{'words'}->[1]; $rv .= sprintf " %s\n", $a ? "" : "checked", "ftp"; $rv .= sprintf " %s\n", $a eq "~" ? "checked" : "", $text{'mod_ls_fakesamegroup'}; $rv .= sprintf "\n", $a eq "~" || !$a ? "" : "checked"; $rv .= sprintf "\n", $a eq "~" ? "" : $a; $rv .= "
\n"; return (2, $text{'mod_ls_fakegroup'}, $rv); } sub save_DirFakeGroup { if (!$in{'DirFakeGroup'}) { return ( [ ] ); } else { local $s = $in{'DirFakeGroup'}; if ($in{'DirFakeGroup_m'} == 1) { $s .= " ~"; } elsif ($in{'DirFakeGroup_m'} == 2) { $in{'DirFakeGroup_a'} =~ /^\S+$/ || &error($text{'mod_ls_efakegroup'}); $s .= " ".$in{'DirFakeGroup_a'}; } return ( [ $s ] ); } } sub edit_DirFakeUser { local $rv; local $w = $_[0]->{'words'}->[0]; $rv .= sprintf " %s\n", lc($w) eq 'off' ? "checked" : "", $text{'no'}; $rv .= sprintf " %s\n", lc($w) ? "" : "checked", $text{'default'}; $rv .= sprintf " %s\n", lc($w) eq 'on' ? "checked" : "", $text{'mod_ls_fakeasuser'}; $rv .= "
"; local $a = $_[0]->{'words'}->[1]; $rv .= sprintf " %s\n", $a ? "" : "checked", "ftp"; $rv .= sprintf " %s\n", $a eq "~" ? "checked" : "", $text{'mod_ls_fakesameuser'}; $rv .= sprintf "\n", $a eq "~" || !$a ? "" : "checked"; $rv .= sprintf "\n", $a eq "~" ? "" : $a; $rv .= "
\n"; return (2, $text{'mod_ls_fakeuser'}, $rv); } sub save_DirFakeUser { if (!$in{'DirFakeUser'}) { return ( [ ] ); } else { local $s = $in{'DirFakeUser'}; if ($in{'DirFakeUser_m'} == 1) { $s .= " ~"; } elsif ($in{'DirFakeUser_m'} == 2) { $in{'DirFakeUser_a'} =~ /^\S+$/ || &error($text{'mod_ls_efakeuser'}); $s .= " ".$in{'DirFakeUser_a'}; } return ( [ $s ] ); } } sub edit_DirFakeMode { return (1, $text{'mod_ls_fakemode'}, &opt_input($_[0]->{'value'}, "DirFakeMode", $text{'mod_ls_nofake'}, 5)); } sub save_DirFakeMode { return &parse_opt("DirFakeMode", '0[0-7]{3}', $text{'mod_ls_efakemode'}); } sub edit_LsDefaultOptions { return (1, $text{'mod_ls_ls'}, &opt_input($_[0]->{'value'}, "LsDefaultOptions", $text{'default'}, 20)); } sub save_LsDefaultOptions { return &parse_opt("LsDefaultOptions", '\S', $text{'mod_ls_els'}); } sub edit_ShowDotFiles { return (1, $text{'mod_ls_dotfiles'}, &choice_input($_[0]->{'value'}, "ShowDotFiles", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_ShowDotFiles { return &parse_choice("ShowDotFiles", ""); } sub edit_ListOptions { local $rv = &opt_input($_[0]->{'words'}->[0], "ListOptions", $text{'default'}, 20); $rv .= sprintf " %s\n", lc($_[0]->{'words'}->[1]) eq 'strict' ? "checked" : "", $text{'mod_ls_strict'}; return (2, $text{'mod_ls_options'}, $rv); } sub save_ListOptions { if ($in{"ListOptions_def"}) { return ( [ ] ); } else { local $rv = '"'.$in{"ListOptions"}.'"'; $rv .= " strict" if ($in{'ListOptions_strict'}); return ( [ $rv ] ); } } proftpd/anon_index.cgi0100775000567100000120000000523210114776746015047 0ustar jcameronwheel#!/usr/local/bin/perl # anon_index.cgi # Display a menu for anonymous section options require './proftpd-lib.pl'; &ReadParse(); ($conf, $v) = &get_virtual_config($in{'virt'}); $anonstr = &find_directive_struct("Anonymous", $conf); if (!$anonstr) { # Go to the anon options page &redirect("edit_aserv.cgi?virt=$in{'virt'}&init=1"); exit; } $anon = $anonstr->{'members'}; # Display header and config icons $desc = $in{'virt'} eq '' ? $text{'anon_header2'} : &text('anon_header1', $v->{'value'}); &ui_print_header($desc, $text{'anon_title'}, "", undef, undef, undef, undef, &restart_button()); print "

$text{'anon_opts'}

\n"; $anon_icon = { "icon" => "images/anon.gif", "name" => $text{'anon_anon'}, "link" => "edit_aserv.cgi?virt=$in{'virt'}" }; &config_icons("anon", "edit_anon.cgi?virt=$in{'virt'}&", $anon_icon); # Display per-directory/limit options @dir = ( &find_directive_struct("Directory", $anon) , &find_directive_struct("Limit", $anon) ); if (@dir) { print "
\n"; print "

$text{'virt_header'}

\n"; foreach $d (@dir) { if ($d->{'name'} eq 'Limit') { push(@links, "limit_index.cgi?virt=$in{'virt'}&". "anon=1&limit=".&indexof($d, @$anon)); push(@titles, &text('virt_limit', $d->{'value'})); push(@icons, "images/limit.gif"); } else { push(@links, "dir_index.cgi?virt=$in{'virt'}&". "anon=1&idx=".&indexof($d, @$anon)); push(@titles, &text('virt_dir', $d->{'value'})); push(@icons, "images/dir.gif"); } } &icons_table(\@links, \@titles, \@icons, 3); } print "
\n"; print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'virt_adddir'}
\n"; print "\n"; print "\n"; print "
$text{'virt_path'}\n"; print "
\n"; print "
\n"; print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'virt_addlimit'}
\n"; print "\n"; print "\n"; print "
$text{'virt_cmds'}\n"; print "
\n"; print "
\n"; &ui_print_footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'}, "", $text{'index_return'}); proftpd/save_vserv.cgi0100775000567100000120000000306410114776676015113 0ustar jcameronwheel#!/usr/local/bin/perl # save_vserv.cgi # Save virtual server options such as the port and address require './proftpd-lib.pl'; &ReadParse(); $conf = &get_config(); $vconf = $conf->[$in{'virt'}]; if ($in{'delete'}) { # Delete a virtual server &lock_file($vconf->{'file'}); &before_changing(); $lref = &read_file_lines($vconf->{'file'}); splice(@$lref, $vconf->{'line'}, $vconf->{'eline'} - $vconf->{'line'} + 1); &flush_file_lines(); &after_changing(); &unlock_file($vconf->{'file'}); &webmin_log("virt", "delete", $vconf->{'value'}); &redirect(""); } else { # Update virtual server and directives &error_setup($text{'vserv_err'}); # Check inputs gethostbyname($in{'addr'}) || &to_ipaddress($in{'addr'}) || &error($text{'vserv_eaddr'}); $in{'Port_def'} || $in{'Port'} =~ /^\d+$/ || &error($text{'vserv_eport'}); $in{'ServerName_def'} || $in{'ServerName'} =~ /\S/ || &error($text{'vserv_ename'}); # Update directive &lock_file($vconf->{'file'}); &before_changing(); $lref = &read_file_lines($vconf->{'file'}); $lref->[$vconf->{'line'}] = ""; # Update DocumentRoot and ServerName &save_directive("ServerName", $in{'ServerName_def'} ? [ ] : [ "\"$in{'ServerName'}\"" ], $vconf->{'members'}, $conf); &save_directive("Port", $in{'Port_def'} ? [ ] : [ $in{'Port'} ], $vconf->{'members'}, $conf); # write out file &flush_file_lines(); &after_changing(); &unlock_file($vconf->{'file'}); &webmin_log("virt", "save", $vconf->{'value'}, \%in); &redirect("virt_index.cgi?virt=$in{'virt'}"); } proftpd/edit_vserv.cgi0100775000567100000120000000262110114777474015075 0ustar jcameronwheel#!/usr/local/bin/perl # edit_vserv.cgi # Edit section details require './proftpd-lib.pl'; &ReadParse(); $vconf = &get_config()->[$in{'virt'}]; $desc = &text('virt_header1', $vconf->{'value'}); &ui_print_header($desc, $text{'vserv_title'}, "", undef, undef, undef, undef, &restart_button()); $name = &find_directive("ServerName", $vconf->{'members'}); $port = &find_directive("Port", $vconf->{'members'}); print "
\n"; print "\n"; print "\n"; print "\n"; print "
$text{'vserv_title'}
\n"; print "\n"; printf "\n", $vconf->{'value'}; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'vserv_addr'}
$text{'vserv_name'}",&opt_input($name, "ServerName", $text{'default'}, 30), "
$text{'vserv_port'}",&opt_input($port, "Port", $text{'default'}, 6), "
\n"; print "\n"; print "\n"; print "

\n"; print "

\n"; &ui_print_footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'}, "", $text{'index_return'}); proftpd/edit_aserv.cgi0100775000567100000120000000406010114777066015044 0ustar jcameronwheel#!/usr/local/bin/perl # edit_aserv.cgi # Edit section details require './proftpd-lib.pl'; &ReadParse(); ($conf, $v) = &get_virtual_config($in{'virt'}); $desc = $in{'virt'} eq '' ? $text{'anon_header2'} : &text('anon_header1', $v->{'value'}); if (!$in{'init'}) { $anon = &find_directive_struct("Anonymous", $conf); &ui_print_header($desc, $text{'aserv_title'}, "", undef, undef, undef, undef, &restart_button()); } else { &ui_print_header($desc, $text{'aserv_create'}, "", undef, undef, undef, undef, &restart_button()); } print $text{'aserv_desc'},"
\n" if ($in{'init'}); $user = &find_directive("User", $anon->{'members'}); $user ||= "ftp" if ($in{'init'}); $group = &find_directive("Group", $anon->{'members'}); $group ||= "ftp" if ($in{'init'}); print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'aserv_title'}
\n"; print "\n"; printf "\n", $anon->{'value'}, &file_chooser_button("root", 1); print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'aserv_root'} %s
$text{'aserv_user'}",&opt_input($user, "User", $text{'default'}, 13), "
$text{'aserv_group'}",&opt_input($group, "Group", $text{'default'}, 13), "
\n"; if ($in{'init'}) { print "\n"; } else { print "\n"; } print "

\n"; print "

\n"; if ($in{'init'}) { &ui_print_footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'}, "", $text{'index_return'}); } else { &ui_print_footer("anon_index.cgi?virt=$in{'virt'}", $text{'anon_return'}, "virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'}, "", $text{'index_return'}); } proftpd/edit_anon.cgi0100755000567100000120000000221410114777031014644 0ustar jcameronwheel#!/usr/local/bin/perl # edit_anon.cgi # Display a form for editing some kind of anonymous option require './proftpd-lib.pl'; &ReadParse(); ($vconf, $v) = &get_virtual_config($in{'virt'}); $anon = &find_directive_struct("Anonymous", $vconf); $conf = $anon->{'members'}; @dirs = &editable_directives($in{'type'}, 'anon'); $desc = $in{'virt'} eq '' ? $text{'anon_header4'} : &text('anon_header3', $v->{'value'}); &ui_print_header($desc, $text{"type_$in{'type'}"}, "", undef, undef, undef, undef, &restart_button()); print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
",&text('virt_header3', $text{"type_$in{'type'}"}), "
\n"; &generate_inputs(\@dirs, $conf); print "

\n"; print "
\n"; &ui_print_footer("anon_index.cgi?virt=$in{'virt'}", $text{'anon_return'}, "virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'}, "", $text{'index_return'}); proftpd/save_aserv.cgi0100775000567100000120000000332310114776676015064 0ustar jcameronwheel#!/usr/local/bin/perl # save_aserv.cgi # Save anonymous section options require './proftpd-lib.pl'; &ReadParse(); $conf = &get_config(); if ($in{'virt'}) { $virt = $conf->[$in{'virt'}]; $vconf = $virt->{'members'}; } else { $vconf = $conf; } &error_setup($text{'aserv_err'}); # Validate inputs -d $in{'root'} || $in{'root'} =~ /^~/ || &error($text{'aserv_eroot'}); $in{'User_def'} || scalar(getpwnam($in{'User'})) || &error($text{'aserv_euser'}); $in{'Group_def'} || scalar(getgrnam($in{'Group'})) || &error($text{'aserv_egroup'}); if ($in{'init'}) { # Create a new directive $l = $vconf->[@$vconf - 1]; &lock_file($l->{'file'}); &before_changing(); $lref = &read_file_lines($l->{'file'}); local @l = ( "" ); push(@l, "User $in{'User'}") if (!$in{'User_def'}); push(@l, "UserAlias anonymous $in{'User'}") if (!$in{'User_def'}); push(@l, "Group $in{'Group'}") if (!$in{'Group_def'}); push(@l, ""); splice(@$lref, $l->{'eline'}+1, 0, @l); &after_changing(); &flush_file_lines(); &unlock_file($l->{'file'}); &webmin_log("anon", "create", $in{'root'}, \%in); } else { # Update existing directive $anon = &find_directive_struct("Anonymous", $vconf); &lock_file($anon->{'file'}); &before_changing(); $lref = &read_file_lines($anon->{'file'}); $lref->[$anon->{'line'}] = ""; &save_directive("User", $in{'User_def'} ? [ ] : [ $in{'User'} ], $anon->{'members'}, $vconf); &save_directive("Group", $in{'Group_def'} ? [ ] : [ $in{'Group'} ], $anon->{'members'}, $vconf); &after_changing(); &flush_file_lines(); &unlock_file($anon->{'file'}); &webmin_log("anon", "save", $anon->{'value'}, \%in); } &redirect("anon_index.cgi?virt=$in{'virt'}"); proftpd/save_anon.cgi0100755000567100000120000000113010114776676014667 0ustar jcameronwheel#!/usr/local/bin/perl # save_anon.cgi # Save some kind of anonymous section configuration require './proftpd-lib.pl'; &ReadParse(); ($vconf, $v) = &get_virtual_config($in{'virt'}); $anon = &find_directive_struct("Anonymous", $vconf); $conf = $anon->{'members'}; @edit = &editable_directives($in{'type'}, 'anon'); &lock_file($anon->{'file'}); &error_setup(&text('efailed', $text{"type_$in{'type'}"})); &parse_inputs(\@edit, $conf, &get_config()); &unlock_file($anon->{'file'}); &webmin_log("anon", $in{'type'}, $in{'virt'} ? $v->{'value'} : "", \%in); &redirect("anon_index.cgi?virt=$in{'virt'}"); proftpd/create_virt.cgi0100775000567100000120000000175310114776676015242 0ustar jcameronwheel#!/usr/local/bin/perl # create_virt.cgi # Create a new virtual server require './proftpd-lib.pl'; &ReadParse(); $conf = &get_config(); &error_setup($text{'vserv_err'}); # Validate inputs $in{'addr_def'} || gethostbyname($in{'addr'}) || &check_ipaddress($in{'addr'}) || &error($text{'vserv_eaddr'}); $in{'Port_def'} || $in{'Port'} =~ /^\d+$/ || &error($text{'vserv_eport'}); $in{'ServerName_def'} || $in{'ServerName'} =~ /\S/ || &error($text{'vserv_ename'}); # Add the virtual host $l = $conf->[@$conf - 1]; &lock_file($l->{'file'}); &before_changing(); $lref = &read_file_lines($l->{'file'}); @lines = ( "" ); push(@lines, "Port $in{'Port'}") if (!$in{'Port_def'}); push(@lines, "ServerName \"$in{'ServerName'}\"") if (!$in{'ServerName_def'}); push(@lines, ""); push(@$lref, @lines); &flush_file_lines(); &after_changing(); &unlock_file($l->{'file'}); &webmin_log("virt", "create", $in{'addr'}, \%in); &redirect("virt_index.cgi?virt=".scalar(@$conf)); proftpd/manual_save.cgi0100775000567100000120000000622610211213671015201 0ustar jcameronwheel#!/usr/local/bin/perl # manual_save.cgi # Save manually entered directives require './proftpd-lib.pl'; &ReadParseMime(); if ($in{'global'}) { $conf = &get_config(); $global = &find_directive_struct("Global", $conf); $conf = $global->{'members'}; if (defined($in{'limit'})) { # limit within the global section if ($in{'idx'}) { $d = $conf->[$in{'idx'}]; $l = $d->{'members'}->[$in{'limit'}]; } else { $l = $conf->[$in{'limit'}]; } $file = $l->{'file'}; $return = "limit_index.cgi"; $start = $l->{'line'}+1; $end = $l->{'eline'}-1; } else { # directory in the global section $d = $conf->[$in{'idx'}]; $file = $d->{'file'}; $return = "dir_index.cgi"; $start = $d->{'line'}+1; $end = $d->{'eline'}-1; $logtype = 'dir'; $logname = $d->{'value'}; } } elsif (defined($in{'virt'})) { if (defined($in{'limit'})) { # limit, maybe within a directory ($conf, $v) = &get_virtual_config($in{'virt'}); if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $conf); $conf = $anon->{'members'}; } if ($in{'idx'} ne '') { $conf = $conf->[$in{'idx'}]->{'members'}; } $l = $conf->[$in{'limit'}]; $file = $l->{'file'}; $return = "limit_index.cgi"; $start = $l->{'line'}+1; $end = $l->{'eline'}-1; $logtype = 'limit'; $logname = $l->{'value'}; } elsif (defined($in{'idx'})) { # directory within virtual server ($vconf, $v) = &get_virtual_config($in{'virt'}); if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $vconf); $vconf = $anon->{'members'}; } $d = $vconf->[$in{'idx'}]; $file = $d->{'file'}; $return = "dir_index.cgi"; $start = $d->{'line'}+1; $end = $d->{'eline'}-1; $logtype = 'dir'; $logname = "$v->{'value'}:$d->{'words'}->[0]"; } else { # virtual server ($conf, $v) = &get_virtual_config($in{'virt'}); $return = "virt_index.cgi"; $file = $v->{'file'}; $start = $v->{'line'}+1; $end = $v->{'eline'}-1; $logtype = 'virt'; $logname = $v->{'words'}->[0]; } } else { if (defined($in{'limit'})) { # files within .htaccess file $hconf = &get_ftpaccess_config($in{'file'}); $l = $hconf->[$in{'limit'}]; $file = $in{'file'}; $return = "limit_index.cgi"; $start = $l->{'line'}+1; $end = $l->{'eline'}-1; $logtype = 'limit'; $logname = $l->{'value'}; } else { # .htaccess file $file = $in{'file'}; $return = "ftpaccess_index.cgi"; $logtype = 'ftpaccess'; $logname = $in{'file'}; } } &lock_file($file); &lock_file($file); $temp = &transname(); system("cp ".quotemeta($file)." $temp"); $in{'directives'} =~ s/\r//g; $in{'directives'} =~ s/\s+$//; @dirs = split(/\n/, $in{'directives'}); $lref = &read_file_lines($file); if (!defined($start)) { $start = 0; $end = @$lref - 1; } splice(@$lref, $start, $end-$start+1, @dirs); &flush_file_lines(); if ($config{'test_manual'}) { $err = &test_config(); if ($err) { system("mv $temp ".quotemeta($file)); &error(&text('manual_etest', "
$err
")); } } unlink($temp); &unlock_file($file); &webmin_log($logtype, "manual", $logname, \%in); foreach $h ('virt', 'idx', 'file', 'limit', 'anon', 'global') { push(@args, "$h=$in{$h}") if (defined($in{$h})); } &redirect("$return?".join("&", @args)); proftpd/manual_form.cgi0100775000567100000120000000765210114777643015232 0ustar jcameronwheel#!/usr/local/bin/perl # manual.cgi # Display a text box for manually editing directives require './proftpd-lib.pl'; &ReadParse(); if ($in{'global'}) { $conf = &get_config(); $global = &find_directive_struct("Global", $conf); $conf = $global->{'members'}; if (defined($in{'limit'})) { # limit within the global section if ($in{'idx'}) { $d = $conf->[$in{'idx'}]; $l = $d->{'members'}->[$in{'limit'}]; $title = &text('limit_header4', $l->{'value'}, $d->{'words'}->[0]); } else { $l = $conf->[$in{'limit'}]; $title = &text('limit_header7', $l->{'value'}); } $return = "limit_index.cgi"; $rmsg = $text{'limit_return'}; $file = $l->{'file'}; $start = $l->{'line'}+1; $end = $l->{'eline'}-1; } else { # directory in the global section $d = $conf->[$in{'idx'}]; $title = &text('dir_header5', $d->{'words'}->[0]); $return = "dir_index.cgi"; $rmsg = $text{'dir_return'}; $file = $d->{'file'}; $start = $d->{'line'}+1; $end = $d->{'eline'}-1; } } elsif (defined($in{'virt'})) { if (defined($in{'limit'})) { # limit, maybe within a directory ($conf, $v) = &get_virtual_config($in{'virt'}); if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $conf); $conf = $anon->{'members'}; } if ($in{'idx'} ne '') { $dir = $conf->[$in{'idx'}]; $conf = $dir->{'members'}; } $l = $conf->[$in{'limit'}]; $ln = $l->{'value'}; $title = $dir ? &text('limit_header4', $ln, $dir->{'words'}->[0]) : $in{'virt'} ? &text('limit_header1', $ln, $v->{'words'}->[0]) : &text('limit_header2', $ln); $return = "limit_index.cgi"; $rmsg = $text{'limit_return'}; $file = $l->{'file'}; $start = $l->{'line'}+1; $end = $l->{'eline'}-1; } elsif (defined($in{'idx'})) { # directory within virtual server ($vconf, $v) = &get_virtual_config($in{'virt'}); if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $vconf); $vconf = $anon->{'members'}; } $d = $vconf->[$in{'idx'}]; $dn = $d->{'words'}->[0]; $title = $in{'anon'} ? &text('dir_header4', $dn) : $in{'virt'} ? &text('dir_header1', $dn, $v->{'words'}->[0]) : &text('dir_header2', $dn); $return = "dir_index.cgi"; $rmsg = $text{'dir_return'}; $file = $d->{'file'}; $start = $d->{'line'}+1; $end = $d->{'eline'}-1; } else { # virtual server ($conf, $v) = &get_virtual_config($in{'virt'}); $title = $in{'virt'} eq '' ? $text{'virt_header2'} : &text('virt_header1', $v->{'value'}); $return = "virt_index.cgi"; $rmsg = $text{'virt_return'}; $file = $v->{'file'}; $start = $v->{'line'}+1; $end = $v->{'eline'}-1; } } else { # Something in a .ftpaccess file if (defined($in{'limit'})) { # limit within .ftpaccess file $hconf = &get_ftpaccess_config($in{'file'}); $l = $hconf->[$in{'limit'}]; $file = $in{'file'}; $start = $l->{'line'}+1; $end = $l->{'eline'}-1; $title = &text('limit_header6', $l->{'value'}, "$in{'file'}"); $return = "limit_index.cgi"; $rmsg = $text{'limit_return'}; } else { # .ftpaccess file $file = $in{'file'}; $title = &text('ftpindex_header', "$in{'file'}"); $return = "ftpaccess_index.cgi"; $rmsg = $text{'ftpindex_return'}; } } &ui_print_header($title, $text{'manual_title'}, "", undef, undef, undef, undef, &restart_button()); print &text('manual_header', "$file"),"

\n"; print "

\n"; foreach $h ('virt', 'idx', 'file', 'limit', 'anon', 'global') { if (defined($in{$h})) { print "\n"; push(@args, "$h=$in{$h}"); } } $args = join('&', @args); print "
\n"; &ui_print_footer("$return?$args", $rmsg); proftpd/dir_index.cgi0100755000567100000120000000526110114777001014653 0ustar jcameronwheel#!/usr/local/bin/perl # dir_index.cgi # Display a menu of icons for per-directory options require './proftpd-lib.pl'; &ReadParse(); if ($in{'global'}) { $conf = &get_config(); $conf = &get_or_create_global($conf); } else { ($conf, $v) = &get_virtual_config($in{'virt'}); } if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $conf); $conf = $anon->{'members'}; } $d = $conf->[$in{'idx'}]; $dn = $d->{'words'}->[0]; $dconf = $d->{'members'}; $desc = $in{'global'} ? &text('dir_header5', $dn) : $in{'anon'} ? &text('dir_header4', $dn) : $in{'virt'} ? &text('dir_header1', $dn, $v->{'words'}->[0]) : &text('dir_header2', $dn); &ui_print_header($desc, $text{'dir_title'}, "", undef, undef, undef, undef, &restart_button()); $dir_icon = { "icon" => "images/dir.gif", "name" => $text{'dir_dir'}, "link" => "edit_dserv.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}&global=$in{'global'}" }; $ed_icon = { "icon" => "images/edit.gif", "name" => $text{'dir_edit'}, "link" => "manual_form.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}&global=$in{'global'}" }; &config_icons("directory", "edit_dir.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}&global=$in{'global'}&", $dir_icon, $ed_icon); # Display limit options @lim = &find_directive_struct("Limit", $dconf); if (@lim) { print "
\n"; print "

$text{'dir_header'}

\n"; foreach $l (@lim) { push(@links, "limit_index.cgi?limit=".&indexof($l, @$dconf). "&virt=$in{'virt'}&anon=$in{'anon'}". "&global=$in{'global'}&idx=$in{'idx'}"); push(@titles, &text('virt_limit', $l->{'value'})); push(@icons, "images/limit.gif"); } &icons_table(\@links, \@titles, \@icons, 3); } print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'virt_addlimit'}
\n"; print "\n"; print "\n"; print "
$text{'virt_cmds'}\n"; print "
\n"; if ($in{'global'}) { &ui_print_footer("", $text{'index_return'}); } elsif ($in{'anon'}) { &ui_print_footer("anon_index.cgi?virt=$in{'virt'}", $text{'anon_return'}, "virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'}, "", $text{'index_return'}); } else { &ui_print_footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'}, "", $text{'index_return'}); } proftpd/limit_index.cgi0100755000567100000120000000564210114777621015226 0ustar jcameronwheel#!/usr/local/bin/perl # limit_index.cgi # Display a menu of icons for per-command options require './proftpd-lib.pl'; &ReadParse(); if ($in{'file'}) { $conf = &get_ftpaccess_config($in{'file'}); } else { if ($in{'global'}) { $conf = &get_config(); $conf = &get_or_create_global($conf); } else { ($conf, $v) = &get_virtual_config($in{'virt'}); } if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $conf); $conf = $anon->{'members'}; } if ($in{'idx'} ne '') { $dir = $conf->[$in{'idx'}]; $conf = $dir->{'members'}; } } $l = $conf->[$in{'limit'}]; $ln = $l->{'value'}; $desc = $in{'file'} ? &text('limit_header6', $ln, &html_escape($in{'file'})) : $dir ? &text('limit_header4', $ln, $dir->{'words'}->[0]) : $in{'global'} ? &text('limit_header7', $ln) : $in{'anon'} ? &text('limit_header5', $ln) : $in{'virt'} ? &text('limit_header1', $ln, $v->{'words'}->[0]) : &text('limit_header2', $ln); &ui_print_header($desc, $text{'limit_title'}, "", undef, undef, undef, undef, &restart_button()); $limit_icon = { "icon" => "images/limit.gif", "name" => $text{'limit_limit'}, "link" => "edit_lserv.cgi?virt=$in{'virt'}&idx=$in{'idx'}&limit=$in{'limit'}&anon=$in{'anon'}&global=$in{'global'}&file=$in{'file'}" }; $ed_icon = { "icon" => "images/edit.gif", "name" => $text{'limit_edit'}, "link" => $in{'file'} ? "manual_form.cgi?limit=$in{'limit'}&file=$in{'file'}" : "manual_form.cgi?virt=$in{'virt'}&idx=$in{'idx'}&limit=$in{'limit'}&anon=$in{'anon'}&global=$in{'global'}" }; &config_icons("limit", "edit_limit.cgi?virt=$in{'virt'}&idx=$in{'idx'}&limit=$in{'limit'}&anon=$in{'anon'}&file=$in{'file'}&global=$in{'global'}&", $limit_icon, $ed_icon); if ($in{'file'}) { &ui_print_footer("ftpaccess_index.cgi?file=$in{'file'}",$text{'ftpindex_return'}, "ftpaccess.cgi", $text{'ftpaccess_return'}, "", $text{'index_return'}); } elsif ($in{'idx'} eq '') { if ($in{'global'}) { &ui_print_footer("", $text{'index_return'}); } elsif ($in{'anon'}) { &ui_print_footer("anon_index.cgi?virt=$in{'virt'}",$text{'anon_return'}, "virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'}, "", $text{'index_return'}); } else { &ui_print_footer("virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'}, "", $text{'index_return'}); } } else { if ($in{'global'}) { &ui_print_footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&global=$in{'global'}", $text{'dir_return'}, "", $text{'index_return'}); } elsif ($in{'anon'}) { &ui_print_footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'dir_return'}, "anon_index.cgi?virt=$in{'virt'}",$text{'anon_return'}, "virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'}, "", $text{'index_return'}); } else { &ui_print_footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'dir_return'}, "virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'}, "", $text{'index_return'}); } } proftpd/edit_dir.cgi0100755000567100000120000000412010114777170014471 0ustar jcameronwheel#!/usr/local/bin/perl # edit_virt.cgi # Display a form for editing some kind of per-directory options require './proftpd-lib.pl'; &ReadParse(); if ($in{'global'}) { $conf = &get_config(); $vconf = &get_or_create_global($conf); } else { ($vconf, $v) = &get_virtual_config($in{'virt'}); } if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $vconf); $vconf = $anon->{'members'}; } $d = $vconf->[$in{'idx'}]; $conf = $d->{'members'}; @dirs = &editable_directives($in{'type'}, 'directory'); $dn = $d->{'words'}->[0]; $desc = $in{'global'} ? &text('dir_header5', $dn) : $in{'anon'} ? &text('dir_header4', $dn) : $in{'virt'} ? &text('dir_header1', $dn, $v->{'words'}->[0]) : &text('dir_header2', $dn); &ui_print_header($desc, $text{"type_$in{'type'}"}, "", undef, undef, undef, undef, &restart_button()); print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
",&text('dir_header3', $text{"type_$in{'type'}"}, $d->{'words'}->[0]),"
\n"; &generate_inputs(\@dirs, $conf); print "
\n"; print "
\n"; if ($in{'global'}) { &ui_print_footer("dir_index.cgi?idx=$in{'idx'}&global=$in{'global'}", $text{'dir_return'}, "", $text{'index_return'}); } elsif ($in{'anon'}) { &ui_print_footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{anon}", $text{'dir_return'}, "anon_index.cgi?virt=$in{'virt'}", $text{'anon_return'}, "virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'}, "", $text{'index_return'}); } else { &ui_print_footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}", $text{'dir_return'}, "virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'}, "", $text{'index_return'}); } proftpd/save_dir.cgi0100755000567100000120000000156010114776676014521 0ustar jcameronwheel#!/usr/local/bin/perl # save_virt.cgi # Save some kind of per-directory configuration require './proftpd-lib.pl'; &ReadParse(); if ($in{'global'}) { $conf = &get_config(); $vconf = &get_or_create_global($conf); } else { ($vconf, $v) = &get_virtual_config($in{'virt'}); } if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $vconf); $vconf = $anon->{'members'}; } $d = $vconf->[$in{'idx'}]; $conf = $d->{'members'}; @edit = &editable_directives($in{'type'}, 'directory'); &lock_file($d->{'file'}); $tn = $type_name[$in{'type'}]; $tn =~ tr/A-Z/a-z/; &error_setup(&text('efailed', $text{"type_$in{'type'}"})); &parse_inputs(\@edit, $conf, &get_config()); &unlock_file($d->{'file'}); &webmin_log("dir", $in{'type'}, "$v->{'value'}:$d->{'words'}->[0]", \%in); &redirect("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}&global=$in{'global'}"); proftpd/edit_dserv.cgi0100775000567100000120000000420510114777213015042 0ustar jcameronwheel#!/usr/local/bin/perl # edit_dserv.cgi # Edit section details require './proftpd-lib.pl'; &ReadParse(); if ($in{'global'}) { $conf = &get_config(); $conf = &get_or_create_global($conf); } else { ($conf, $v) = &get_virtual_config($in{'virt'}); } if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $conf); $conf = $anon->{'members'}; } $d = $conf->[$in{'idx'}]; $dn = $d->{'words'}->[0]; $dconf = $d->{'members'}; $desc = $in{'global'} ? &text('dir_header5', $dn) : $in{'anon'} ? &text('dir_header4', $dn) : $in{'virt'} ? &text('dir_header1', $dn, $v->{'words'}->[0]) : &text('dir_header2', $dn); &ui_print_header($desc, $text{'dserv_title'}, "", undef, undef, undef, undef, &restart_button()); print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'dserv_title'}
\n"; print "\n"; printf "\n", $d->{'value'}, &file_chooser_button("dir", 1); print "\n"; print "
$text{'dserv_dir'} %s
\n"; print "\n"; print "\n"; print "

\n"; print "

\n"; if ($in{'global'}) { &ui_print_footer("dir_index.cgi?global=$in{'global'}&idx=$in{'idx'}", $text{'dir_return'}, "", $text{'index_return'}); } elsif ($in{'anon'}) { &ui_print_footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{anon}", $text{'dir_return'}, "anon_index.cgi?virt=$in{'virt'}", $text{'anon_return'}, "virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'}, "", $text{'index_return'}); } else { &ui_print_footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}", $text{'dir_return'}, "virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'}, "", $text{'index_return'}); } proftpd/save_dserv.cgi0100775000567100000120000000260210114776676015066 0ustar jcameronwheel#!/usr/local/bin/perl # save_dserv.cgi # Save directory section options require './proftpd-lib.pl'; &ReadParse(); if ($in{'global'}) { $conf = &get_config(); $conf = &get_or_create_global($conf); } else { ($conf, $v) = &get_virtual_config($in{'virt'}); } if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $conf); $conf = $anon->{'members'}; } $d = $conf->[$in{'idx'}]; &error_setup($text{'dserv_err'}); if ($in{'delete'}) { # Delete the directory &lock_file($d->{'file'}); &before_changing(); $lref = &read_file_lines($d->{'file'}); splice(@$lref, $d->{'line'}, $d->{'eline'} - $d->{'line'} + 1); &flush_file_lines(); &after_changing(); &unlock_file($d->{'file'}); &webmin_log("dir", "delete", "$v->{'value'}:$d->{'words'}->[0]"); if ($in{'global'}) { &redirect(""); } elsif ($in{'anon'}) { &redirect("anon_index.cgi?virt=$in{'virt'}"); } else { &redirect("virt_index.cgi?virt=$in{'virt'}"); } } else { # Update the directory $in{'dir'} =~ /^\S+$/ || &error($text{'dserv_edir'}); &lock_file($d->{'file'}); &before_changing(); $lref = &read_file_lines($d->{'file'}); $lref->[$d->{'line'}] = ""; &flush_file_lines(); &after_changing(); &unlock_file($d->{'file'}); &webmin_log("dir", "save", "$v->{'value'}:$d->{'words'}->[0]"); &redirect("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}&global=$in{'global'}"); } proftpd/edit_limit.cgi0100755000567100000120000000743710114777274015054 0ustar jcameronwheel#!/usr/local/bin/perl # edit_limit.cgi # Display a form for editing some kind of limit section options require './proftpd-lib.pl'; &ReadParse(); if ($in{'file'}) { $conf = &get_ftpaccess_config($in{'file'}); } else { if ($in{'global'}) { $conf = &get_config(); $conf = &get_or_create_global($conf); } else { ($conf, $v) = &get_virtual_config($in{'virt'}); } if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $conf); $conf = $anon->{'members'}; } if ($in{'idx'} ne '') { $dir = $conf->[$in{'idx'}]; $conf = $dir->{'members'}; } } $l = $conf->[$in{'limit'}]; $conf = $l->{'members'}; $ln = $l->{'value'}; @dirs = &editable_directives($in{'type'}, 'limit'); $desc = $in{'file'} ? &text('limit_header6', $ln, &html_escape($in{'file'})) : $dir ? &text('limit_header4', $ln, $dir->{'words'}->[0]) : $in{'global'} ? &text('limit_header7', $ln) : $in{'anon'} ? &text('limit_header5', $ln) : $in{'virt'} ? &text('limit_header1', $ln, $v->{'words'}->[0]) : &text('limit_header2', $ln); &ui_print_header($desc, $text{"type_$in{'type'}"}, "", undef, undef, undef, undef, &restart_button()); print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
",&text('limit_header3', $text{"type_$in{'type'}"}, $l->{'value'}),"
\n"; &generate_inputs(\@dirs, $conf); print "
\n"; print "
\n"; if ($in{'file'}) { &ui_print_footer("limit_index.cgi?file=$in{'file'}&limit=$in{'limit'}", $text{'limit_return'}, "ftpaccess_index.cgi?file=$in{'file'}",$text{'ftpindex_return'}, "ftpaccess.cgi", $text{'ftpaccess_return'}, "", $text{'index_return'}); } elsif ($in{'idx'} eq '') { if ($in{'global'}) { &ui_print_footer("limit_index.cgi?limit=$in{'limit'}&global=$in{'global'}", $text{'limit_return'}, "", $text{'index_return'}); } elsif ($in{'anon'}) { &ui_print_footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}&anon=$in{'anon'}", $text{'limit_return'}, "anon_index.cgi?virt=$in{'virt'}",$text{'anon_return'}, "virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'}, "", $text{'index_return'}); } else { &ui_print_footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}", $text{'limit_return'}, "virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'}, "", $text{'index_return'}); } } else { if ($in{'global'}) { &ui_print_footer("limit_index.cgi?limit=$in{'limit'}&idx=$in{'idx'}&global=$in{'global'}", $text{'limit_return'}, "dir_index.cgi?idx=$in{'idx'}&global=$in{'global'}", $text{'dir_return'}, "", $text{'index_return'}); } elsif ($in{'anon'}) { &ui_print_footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'limit_return'}, "dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'dir_return'}, "anon_index.cgi?virt=$in{'virt'}",$text{'anon_return'}, "virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'}, "", $text{'index_return'}); } else { &ui_print_footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}&idx=$in{'idx'}", $text{'limit_return'}, "dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'dir_return'}, "virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'}, "", $text{'index_return'}); } } proftpd/create_dir.cgi0100775000567100000120000000212610114776676015027 0ustar jcameronwheel#!/usr/local/bin/perl # create_dir.cgi # Add a new section to a virtual server require './proftpd-lib.pl'; &ReadParse(); if ($in{'global'}) { $conf = &get_config(); $conf = &get_or_create_global($conf); } else { ($conf, $v) = &get_virtual_config($in{'virt'}); } if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $conf); $conf = $anon->{'members'}; } &error_setup($text{'dserv_err'}); # Validate inputs $in{'dir'} =~ /^\S+$/ || &error($text{'dserv_edir'}); !$anon || $in{'dir'} !~ /^\// || $anon->{'value'} =~ /^\~/ || &is_under_directory($anon->{'value'}, $in{'dir'}) || &error($text{'dserv_eanondir'}); # Add the directory $l = $conf->[@$conf - 1]; &lock_file($l->{'file'}); &before_changing(); $lref = &read_file_lines($l->{'file'}); @lines = ( "", "" ); splice(@$lref, $l->{'eline'}+1, 0, @lines); &flush_file_lines(); &after_changing(); &unlock_file($l->{'file'}); &webmin_log("dir", "create", "$v->{'value'}:$in{'dir'}", \%in); &redirect("dir_index.cgi?virt=$in{'virt'}&anon=$in{'anon'}&global=$in{'global'}&idx=".scalar(@$conf)); proftpd/save_limit.cgi0100755000567100000120000000202710114776676015060 0ustar jcameronwheel#!/usr/local/bin/perl # save_limit.cgi # Save some kind of per-command configuration require './proftpd-lib.pl'; &ReadParse(); if ($in{'file'}) { $conf = &get_ftpaccess_config($in{'file'}); } else { if ($in{'global'}) { $conf = &get_config(); $conf = &get_or_create_global($conf); } else { ($conf, $v) = &get_virtual_config($in{'virt'}); } if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $conf); $conf = $anon->{'members'}; } if ($in{'idx'} ne '') { $conf = $conf->[$in{'idx'}]->{'members'}; } } $l = $conf->[$in{'limit'}]; $conf = $l->{'members'}; @edit = &editable_directives($in{'type'}, 'limit'); &lock_file($l->{'file'}); $tn = $type_name[$in{'type'}]; $tn =~ tr/A-Z/a-z/; &error_setup(&text('efailed', $text{"type_$in{'type'}"})); &parse_inputs(\@edit, $conf, &get_config()); &unlock_file($l->{'file'}); &webmin_log("limit", $in{'type'}, $l->{'value'}, \%in); &redirect("limit_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&limit=$in{'limit'}&anon=$in{'anon'}&global=$in{'global'}&file=$in{'file'}"); proftpd/create_limit.cgi0100775000567100000120000000225210114776676015367 0ustar jcameronwheel#!/usr/local/bin/perl # create_limit.cgi # Create a new section require './proftpd-lib.pl'; &ReadParse(); if ($in{'file'}) { $conf = &get_ftpaccess_config($in{'file'}); } else { if ($in{'global'}) { $conf = &get_config(); $conf = &get_or_create_global($conf); } else { ($conf, $v) = &get_virtual_config($in{'virt'}); } if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $conf); $conf = $anon->{'members'}; } if ($in{'idx'} ne '') { $conf = $conf->[$in{'idx'}]->{'members'}; } } &error_setup($text{'lserv_err'}); # Validate inputs $in{'cmd'} =~ /\S/ || &error($text{'lserv_ecmd'}); # Add the limit $l = $conf->[@$conf - 1]; &lock_file($l->{'file'}); &before_changing(); $lref = &read_file_lines($l->{'file'}); @lines = ( "", "" ); splice(@$lref, $l->{'eline'}+1, 0, @lines); &flush_file_lines(); &after_changing(); &unlock_file($l->{'file'}); &webmin_log("limit", "create", $in{'cmd'}, \%in); if ($in{'file'}) { &redirect("limit_index.cgi?file=$in{'file'}&limit=".scalar(@$conf)); } else { &redirect("limit_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}&global=$in{'global'}&limit=".scalar(@$conf)); } proftpd/save_lserv.cgi0100775000567100000120000000346310114776676015104 0ustar jcameronwheel#!/usr/local/bin/perl # save_dserv.cgi # Save limit section options require './proftpd-lib.pl'; &error_setup($text{'lserv_err'}); &ReadParse(); if ($in{'file'}) { $conf = &get_ftpaccess_config($in{'file'}); } else { if ($in{'global'}) { $conf = &get_config(); $conf = &get_or_create_global($conf); } else { ($conf, $v) = &get_virtual_config($in{'virt'}); } if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $conf); $conf = $anon->{'members'}; } if ($in{'idx'} ne '') { $conf = $conf->[$in{'idx'}]->{'members'}; } } $l = $conf->[$in{'limit'}]; $ln = $l->{'value'}; if ($in{'delete'}) { # Delete the directory &lock_file($l->{'file'}); &before_changing(); $lref = &read_file_lines($l->{'file'}); splice(@$lref, $l->{'line'}, $l->{'eline'} - $l->{'line'} + 1); &flush_file_lines(); &after_changing(); &unlock_file($l->{'file'}); if ($in{'file'}) { &redirect("ftpaccess_index.cgi?file=$in{'file'}"); } elsif ($in{'idx'} eq '') { if ($in{'global'}) { &redirect(""); } elsif ($in{'anon'}) { &redirect("anon_index.cgi?virt=$in{'virt'}"); } else { &redirect("virt_index.cgi?virt=$in{'virt'}"); } } else { &redirect("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}&global=$in{'global'}"); } &webmin_log("limit", "delete", $l->{'value'}); } else { # Update the limit local @c = split(/\0/, $in{'cmd'}); @c || &error($text{'lserv_ecmd'}); &lock_file($l->{'file'}); &before_changing(); $lref = &read_file_lines($l->{'file'}); $lref->[$l->{'line'}] = ""; &flush_file_lines(); &after_changing(); &unlock_file($l->{'file'}); &redirect("limit_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&limit=$in{'limit'}&anon=$in{'anon'}&file=$in{'file'}&global=$in{'global'}"); &webmin_log("limit", "save", $l->{'value'}, \%in); } proftpd/edit_lserv.cgi0100775000567100000120000001030210114777316015051 0ustar jcameronwheel#!/usr/local/bin/perl # edit_dserv.cgi # Edit section details require './proftpd-lib.pl'; &ReadParse(); if ($in{'file'}) { $conf = &get_ftpaccess_config($in{'file'}); } else { if ($in{'global'}) { $conf = &get_config(); $conf = &get_or_create_global($conf); } else { ($conf, $v) = &get_virtual_config($in{'virt'}); } if ($in{'anon'}) { $anon = &find_directive_struct("Anonymous", $conf); $conf = $anon->{'members'}; } if ($in{'idx'} ne '') { $dir = $conf->[$in{'idx'}]; $conf = $dir->{'members'}; } } $l = $conf->[$in{'limit'}]; $ln = $l->{'value'}; $desc = $in{'file'} ? &text('limit_header6', $ln, &html_escape($in{'file'})) : $dir ? &text('limit_header4', $ln, $dir->{'words'}->[0]) : $in{'global'} ? &text('limit_header7', $ln) : $in{'anon'} ? &text('limit_header5', $ln) : $in{'virt'} ? &text('limit_header1', $ln, $v->{'words'}->[0]) : &text('limit_header2', $ln); &ui_print_header($desc, $text{'lserv_title'}, "", undef, undef, undef, undef, &restart_button()); print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'lserv_title'}
\n"; map { $cmd{lc($_)}++ } @{$l->{'words'}}; print "\n"; print "\n"; print "\n"; print "
$text{'lserv_cmd'}
\n"; print "\n"; print "\n"; print "

\n"; print "

\n"; if ($in{'file'}) { &ui_print_footer("limit_index.cgi?file=$in{'file'}&limit=$in{'limit'}", $text{'limit_return'}, "ftpaccess_index.cgi?file=$in{'file'}",$text{'ftpindex_return'}, "ftpaccess.cgi", $text{'ftpaccess_return'}, "", $text{'index_return'}); } elsif ($in{'idx'} eq '') { if ($in{'global'}) { &ui_print_footer("limit_index.cgi?limit=$in{'limit'}&global=$in{'global'}", $text{'limit_return'}, "", $text{'index_return'}); } elsif ($in{'anon'}) { &ui_print_footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}&anon=$in{'anon'}", $text{'limit_return'}, "anon_index.cgi?virt=$in{'virt'}",$text{'anon_return'}, "virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'}, "", $text{'index_return'}); } else { &ui_print_footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}", $text{'limit_return'}, "virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'}, "", $text{'index_return'}); } } else { if ($in{'global'}) { &ui_print_footer("limit_index.cgi?limit=$in{'limit'}&idx=$in{'idx'}&global=$in{'global'}", $text{'limit_return'}, "dir_index.cgi?idx=$in{'idx'}&global=$in{'global'}", $text{'dir_return'}, "", $text{'index_return'}); } elsif ($in{'anon'}) { &ui_print_footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'limit_return'}, "dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'dir_return'}, "anon_index.cgi?virt=$in{'virt'}",$text{'anon_return'}, "virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'}, "", $text{'index_return'}); } else { &ui_print_footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}&idx=$in{'idx'}", $text{'limit_return'}, "dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'dir_return'}, "virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'}, "", $text{'index_return'}); } } proftpd/config-msc-linux0100644000567100000120000000023507763037430015333 0ustar jcameronwheelproftpd_path=/usr/sbin/proftpd proftpd_conf=/etc/proftpd.conf pid_file=/var/run/proftpd.pid ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0 proftpd/mod_readme.pl0100664000567100000120000000065207347616717014675 0ustar jcameronwheel# mod_readme.pl sub mod_readme_directives { local $rv = [ [ 'DisplayReadme', 0, 2, 'virtual anon global', 1.20 ] ]; return &make_directives($rv, $_[0], "mod_readme"); } sub edit_DisplayReadme { return (1, $text{'mod_readme_display'}, &opt_input($_[0]->{'value'}, "DisplayReadme", $text{'mod_readme_none'}, 15)); } sub save_DisplayReadme { return &parse_opt("DisplayReadme", '^\S+$', $text{'mod_readme_edisplay'}); } proftpd/mod_auth.pl0100664000567100000120000000527107524621667014400 0ustar jcameronwheel# mod_auth.pl sub mod_auth_directives { local $rv = [ [ 'DefaultChdir', 0, 2, 'virtual anon global', 1.20 ], [ 'DefaultRoot', 1, 2, 'virtual global', 0.99 ], [ 'LoginPasswordPrompt', 0, 3, 'virtual anon global', 1.20 ], [ 'RootLogin', 0, 6, 'virtual anon global', 1.15 ] ]; return &make_directives($rv, $_[0], "mod_auth"); } sub edit_DefaultChdir { return (1, $text{'mod_auth_chdir'}, &opt_input($_[0]->{'value'}, "DefaultChdir", $text{'default'}, 20)); } sub save_DefaultChdir { return &parse_opt("DefaultChdir", '^\S+$', $text{'mod_auth_echdir'}); } sub edit_DefaultRoot { local $rv = "\n". " ". "\n"; local $i = 0; foreach $r (@{$_[0]}, { }) { local @w = @{$r->{'words'}}; $rv .= "\n"; local $dd = $w[0] eq "~" ? 2 : $w[0] ? 0 : 1; $rv .= sprintf "\n", $dd ? "" : $w[0]; $rv .= sprintf "\n", join(" ", split(/,/, $w[1])); $rv .= "\n"; $i++; } $rv .= "
$text{'mod_auth_dir'}$text{'mod_auth_groups'}
%s\n", $dd == 1 ? "checked" : "", $text{'mod_auth_none'}; $rv .= sprintf " %s\n", $dd == 2 ? "checked" : "", $text{'mod_auth_home'}; $rv .= sprintf "\n", $dd == 0 ? "checked" : ""; $rv .= sprintf " %s\n", $w[1] ? "" : "checked", $text{'mod_auth_all'}; $rv .= sprintf "\n", $w[1] ? "checked" : ""; $rv .= sprintf "
\n"; return (2, $text{'mod_auth_chroot'}, $rv); } sub save_DefaultRoot { for($i=0; defined($in{"DefaultRoot_d_$i"}); $i++) { next if ($in{"DefaultRoot_dd_$i"} == 1); local $v = $in{"DefaultRoot_dd_$i"} == 2 ? "~" :$in{"DefaultRoot_d_$i"}; $v =~ /^\S+$/ || &error($text{'mod_auth_edir'}); if (!$in{"DefaultRoot_gd_$i"}) { local @g = split(/\s+/, $in{"DefaultRoot_g_$i"}); @g || &error($text{'mod_auth_egroups'}); $v .= " ".join(",", @g); } push(@rv, $v); } return ( \@rv ); } sub edit_LoginPasswordPrompt { return (1, $text{'mod_auth_login'}, &choice_input($_[0]->{'value'}, "LoginPasswordPrompt", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_LoginPasswordPrompt { return &parse_choice("LoginPasswordPrompt", ""); } sub edit_RootLogin { return (1, $text{'mod_auth_root'}, &choice_input($_[0]->{'value'}, "RootLogin", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_RootLogin { return &parse_choice("RootLogin", ""); } proftpd/mod_site.pl0100664000567100000120000000067307476334162014401 0ustar jcameronwheel# mod_site.pl sub mod_site_directives { local $rv = [ # [ 'AllowChmod', 0, 3, 'virtual directory anon limit ftpaccess global', 1.20 ] ]; return &make_directives($rv, $_[0], "mod_site"); } sub edit_AllowChmod { return (1, $text{'mod_site_chmod'}, &choice_input($_[0]->{'value'}, "AllowChmod", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_AllowChmod { return &parse_choice("AllowChmod", ""); } proftpd/mod_log.pl0100664000567100000120000000621507347617632014217 0ustar jcameronwheel# mod_log.pl sub mod_log_directives { local $rv = [ [ 'SystemLog', 0, 1, 'root', 1.16 ], [ 'ExtendedLog', 1, 1, 'virtual anon global', 1.16 ], [ 'LogFormat', 1, 1, 'root', 1.16 ] ]; return &make_directives($rv, $_[0], "mod_log"); } sub edit_SystemLog { return (2, $text{'mod_log_syslog'}, &opt_input($_[0]->{'value'}, "SystemLog", $text{'mod_log_sysdef'}, 50, &file_chooser_button("TransferLog"))); } sub save_SystemLog { return &parse_opt("SystemLog", '^\/\S+$', $text{'mod_log_esyslog'}); } sub edit_ExtendedLog { local $rv = "\n". " ". " ". "\n"; local $i = 0; foreach $l (@{$_[0]}, { }) { local @w = @{$l->{'words'}}; $rv .= "\n"; $rv .= "\n"; $rv .= sprintf "\n", $w[1] && $w[2] ? join(" ", split(/,/, $w[1])) : ""; $rv .= sprintf "\n", $w[2] ? $w[2] : $w[1]; $rv .= "\n"; $i++; } $rv .= "
$text{'mod_log_file'}$text{'mod_log_cmd'}$text{'mod_log_nick'}
%s\n", $w[1] && $w[2] ? "" : "checked", $text{'mod_log_all'}; $rv .= sprintf "\n", $w[1] && $w[2] ? "checked" : ""; $rv .= sprintf " %s\n", $w[2] || $w[1] ? "" : "checked", $text{'default'}; $rv .= sprintf "\n", $w[2] || $w[1] ? "checked" : ""; $rv .= sprintf "
\n"; return (2, $text{'mod_log_extended'}, $rv); } sub save_ExtendedLog { local @rv; for($i=0; defined($in{"ExtendedLog_t_$i"}); $i++) { next if (!$in{"ExtendedLog_t_$i"}); local @w = ( $in{"ExtendedLog_t_$i"} ); if (!$in{"ExtendedLog_cd_$i"}) { $in{"ExtendedLog_fd_$i"} && &error($text{'mod_log_ecmdnick'}); $in{"ExtendedLog_c_$i"} =~ /\S/ || &error($text{'mod_log_ecmd'}); push(@w, join(",", map { uc($_) } split(/\s+/, $in{"ExtendedLog_c_$i"}))); } if (!$in{"ExtendedLog_fd_$i"}) { $in{"ExtendedLog_f_$i"} =~ /^\S+$/ || &error($text{'mod_log_enick'}); push(@w, $in{"ExtendedLog_f_$i"}); } push(@rv, join(" ", @w)); } return ( \@rv ); } sub edit_LogFormat { local $rv = "\n". " ". "\n"; local $i = 0; foreach $f (@{$_[0]}, { }) { local @w = @{$f->{'words'}}; $rv .= "\n"; $rv .= "\n"; $rv .= "\n"; $rv .= "\n"; $i++; } $rv .= "
$text{'mod_log_nickname'}$text{'mod_log_fmt'}
\n"; return (2, $text{'mod_log_format'}, $rv); } sub save_LogFormat { local @rv; for($i=0; defined($in{"LogFormat_n_$i"}); $i++) { next if (!$in{"LogFormat_n_$i"}); $in{"LogFormat_n_$i"} =~ /^\S+$/ || &error($text{'mod_log_enickname'}); $in{"LogFormat_f_$i"} =~ /\S/ || &error($text{'mod_log_efmt'}); $in{"LogFormat_f_$i"} =~ s/"/\\"/g; push(@rv, sprintf "%s \"%s\"", $in{"LogFormat_n_$i"}, $in{"LogFormat_f_$i"}); } return ( \@rv ); } proftpd/mod_pam.pl0100664000567100000120000000124407347616344014207 0ustar jcameronwheel# mod_pam.pl sub mod_pam_directives { local $rv = [ [ 'AuthPAM', 0, 6, 'virtual global', 1.20 ], [ 'AuthPAMConfig', 0, 6, 'virtual global', 1.20 ] ]; return &make_directives($rv, $_[0], "mod_pam"); } sub edit_AuthPAM { return (1, $text{'mod_pam_pam'}, &choice_input($_[0]->{'value'}, "AuthPAM", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_AuthPAM { return &parse_choice("AuthPAM", ""); } sub edit_AuthPAMConfig { return (1, $text{'mod_pam_config'}, &opt_input($_[0]->{'value'}, "AuthPAMConfig", $text{'default'}, 15)); } sub save_AuthPAMConfig { return &parse_opt("AuthPAMConfig", '^\S+$', $text{'mod_pam_econfig'}); } proftpd/mod_unixpw.pl0100664000567100000120000000305207347617330014757 0ustar jcameronwheel# mod_unixpw.pl sub mod_unixpw_directives { local $rv = [ [ 'AuthUserFile', 0, 6, 'virtual global', 1.11 ], [ 'AuthGroupFile', 0, 6, 'virtual global', 1.11 ], [ 'AuthPAMAuthoritative', 0, 6, 'virtual global', 1.20 ], [ 'PersistentPasswd', 0, 6, 'root', 1.15 ] ]; return &make_directives($rv, $_[0], "mod_unixpw"); } sub edit_AuthUserFile { return (2, $text{'mod_unixpw_ufile'}, &opt_input($_[0]->{'value'}, "AuthUserFile", $text{'mod_unixpw_none'}, 50, &file_chooser_button("AuthUserFile"))); } sub save_AuthUserFile { $in{'AuthUserFile_def'} || -r $in{'AuthUserFile'} || &error($text{'mod_unixpw_eufile'}); return &parse_opt("AuthUserFile"); } sub edit_AuthGroupFile { return (2, $text{'mod_unixpw_gfile'}, &opt_input($_[0]->{'value'}, "AuthGroupFile", $text{'mod_unixpw_none'}, 50, &file_chooser_button("AuthGroupFile"))); } sub save_AuthGroupFile { $in{'AuthGroupFile_def'} || -r $in{'AuthGroupFile'} || &error($text{'mod_unixpw_egfile'}); return &parse_opt("AuthGroupFile"); } sub edit_AuthPAMAuthoritative { return (1, $text{'mod_unixpw_pam'}, &choice_input($_[0]->{'value'}, "AuthPAMAuthoritative", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_AuthPAMAuthoritative { return &parse_choice("AuthPAMAuthoritative", ""); } sub edit_PersistentPasswd { return (1, $text{'mod_unixpw_persist'}, &choice_input($_[0]->{'value'}, "PersistentPasswd", "", "$text{'yes'},on", "$text{'no'},off", "$text{'default'},")); } sub save_PersistentPasswd { return &parse_choice("PersistentPasswd", ""); } proftpd/config-open-linux0100644000567100000120000000023507763037430015512 0ustar jcameronwheelproftpd_path=/usr/sbin/proftpd proftpd_conf=/etc/proftpd.conf pid_file=/var/run/proftpd.pid ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0 proftpd/config-redhat-linux0100644000567100000120000000023507763037430016020 0ustar jcameronwheelproftpd_path=/usr/sbin/proftpd proftpd_conf=/etc/proftpd.conf pid_file=/var/run/proftpd.pid ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0 proftpd/config-mandrake-linux0100644000567100000120000000030607763037430016332 0ustar jcameronwheelproftpd_path=/usr/sbin/proftpd proftpd_conf=/etc/proftpd.conf pid_file=/var/run/proftpd.pid start_cmd=/etc/rc.d/init.d/proftpd start ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0 proftpd/config-slackware-linux0100644000567100000120000000023507763037430016525 0ustar jcameronwheelproftpd_path=/usr/sbin/proftpd proftpd_conf=/etc/proftpd.conf pid_file=/var/run/proftpd.pid ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0 proftpd/config-debian-linux0100644000567100000120000000030107763037430015765 0ustar jcameronwheelproftpd_path=/usr/sbin/proftpd proftpd_conf=/etc/proftpd.conf pid_file=/var/run/proftpd.pid start_cmd=/etc/init.d/proftpd start ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0 proftpd/config-suse-linux0100644000567100000120000000030107763037430015522 0ustar jcameronwheelproftpd_path=/usr/sbin/proftpd proftpd_conf=/etc/proftpd.conf pid_file=/var/run/proftpd.pid start_cmd=/etc/init.d/proftpd start ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0 proftpd/config-turbo-linux0100644000567100000120000000030607763037430015703 0ustar jcameronwheelproftpd_path=/usr/sbin/proftpd proftpd_conf=/etc/proftpd.conf pid_file=/var/run/proftpd.pid start_cmd=/etc/rc.d/init.d/proftpd start ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0 proftpd/config-cobalt-linux0100644000567100000120000000023507763037430016015 0ustar jcameronwheelproftpd_path=/usr/sbin/proftpd proftpd_conf=/etc/proftpd.conf pid_file=/var/run/proftpd.pid ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0 proftpd/config0100644000567100000120000000026307763037430013417 0ustar jcameronwheelproftpd_path=/usr/local/sbin/proftpd proftpd_conf=/usr/local/etc/proftpd.conf pid_file=/usr/local/var/proftpd.pid ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0 proftpd/mod_ldap.pl0100644000567100000120000002201207410604703014327 0ustar jcameronwheel# mod_ldap.pl use Data::Dumper; sub mod_ldap_directives { local $rv = [ [ 'LDAPServer', 0, 4, 'root', 1.15 ], [ 'LDAPDoAuth', 0, 4, 'root', 1.15 ], [ 'LDAPDNInfo', 0, 4, 'root', 1.15 ], [ 'LDAPDoUIDLookups', 0, 4, 'root', 1.15 ], [ 'LDAPDoGIDLookups', 0, 4, 'root', 1.15 ], [ 'LDAPAuthBinds', 0, 4, 'root', 1.15 ], [ 'LDAPDefaultUID', 0, 4, 'root', 1.15 ], [ 'LDAPDefaultGID', 0, 4, 'root', 1.15 ], [ 'LDAPHomedirOnDemand', 0, 4, 'root', 1.15 ], [ 'LDAPNegativeCache', 0, 4, 'root', 1.15 ], [ 'LDAPQueryTimeout', 0, 4, 'root', 1.15 ], [ 'LDAPDefaultAuthScheme', 0, 4, 'root', 1.15 ], ]; return &make_directives($rv, $_[0], "mod_ldap"); } sub edit_LDAPServer { local ($rv); my $param = $_[0]->{'value'}; $name="LDAPServerp"; $namep=$name.'_m'; my ($port) =$param =~ /.+:(.+)/; (my $serveur,my $port)=$param =~ /([^:]+):?(.*)/; $rv=sprintf "Server: \n", $serveur; $rv .= sprintf "                 Port: %s\n", !$port ? "checked" : "", $text{'default'}; $rv .= sprintf " \n", $port ? "checked" : "" ; $rv .= sprintf "
\n", $port ? $port: ""; return (2, "LDAP Server info",$rv); } sub edit_LDAPQueryTimeout { local ($rv); my $param = $_[0]->{'value'}; $name="LDAPQueryTimeout"; $namep=$name.'_m'; $rv = sprintf " %s\n", !$param ? "checked" : "", $text{'default'}; $rv .= sprintf " \n", $param ? "checked" : "" ; $rv .= sprintf "
\n", $param ? $param: ""; return (2, "LDAP Query timeout",$rv); } sub edit_LDAPDoAuth { local ($rv); my @tab =@_; my $name ='LDAPDoAuthp'; my $param = $tab[0]->{'value'}; my $option = $tab[0]->{'words'}->[0]; my $dn = $tab[0]->{'words'}->[1]; $namep=$name.'_m'; $rv = sprintf " %s\n", !$option ? "checked" : "", $text{'default'}; $rv .= sprintf " %s\n", $option =~/off/i ? "checked" : "" ,"Off"; $rv .= sprintf " %s \n", $option =~/on/i ? "checked" : "" ,"On"; $rv .= sprintf " %s\n", $dn ? $dn: "","auth base prefix
"; return (2,"LDAP Do authentification",$rv); } sub edit_LDAPDefaultUID { local ($rv); my @tab =@_; my $name ='LDAPDefaultUID'; my $param = $tab[0]->{'value'}; $rv = sprintf " %s\n", $param ? $param: "","
"; return (1,"LDAP Default UID",$rv); } sub edit_LDAPHomedirOnDemand { local ($rv); my @tab =@_; my $name ='LDAPHomedirOnDemand'; my $param = $tab[0]->{'value'}; $namep=$name.'_m'; $rv = sprintf " %s\n", !$param ? "checked" : "", $text{'default'}; $rv .= sprintf " %s\n", $param =~/off/i ? "checked" : "" ,"Off"; $rv .= sprintf " %s \n", $param =~/on/i ? "checked" : "" ,"On"; return (1,"LDAP Homedir on demand",$rv); } sub edit_LDAPNegativeCache { local ($rv); my @tab =@_; my $name ='LDAPNegativeCache'; my $param = $tab[0]->{'value'}; $namep=$name.'_m'; $rv = sprintf " %s\n", !$param ? "checked" : "", $text{'default'}; $rv .= sprintf " %s\n", $param =~/off/i ? "checked" : "" ,"Off"; $rv .= sprintf " %s \n", $param =~/on/i ? "checked" : "" ,"On"; return (1,"LDAP negative cache",$rv); } sub edit_LDAPDefaultGID { local ($rv); my @tab =@_; my $name ='LDAPDefaultGID'; my $param = $tab[0]->{'value'}; $rv = sprintf " %s\n", $param ? $param: "","
"; return (1,"LDAP Default GID",$rv); } sub edit_LDAPDoUIDLookups { local ($rv); my @tab =@_; my $name ='LDAPDoUIDLookups'; my $param = $tab[0]->{'value'}; my $option = $tab[0]->{'words'}->[0]; my $dn = $tab[0]->{'words'}->[1]; $namep=$name.'_m'; $rv = sprintf " %s\n", !$option ? "checked" : "", $text{'default'}; $rv .= sprintf " %s\n", $option =~/off/i ? "checked" : "" ,"Off"; $rv .= sprintf " %s \n", $option =~/on/i ? "checked" : "" ,"On"; $rv .= sprintf " %s\n", $dn ? $dn: "","uid base prefix
"; return (2,"LDAP Do UID Lookups",$rv); } sub edit_LDAPDoGIDLookups { local ($rv); my @tab =@_; my $name ='LDAPDoGIDLookups'; my $param = $tab[0]->{'value'}; my $option = $tab[0]->{'words'}->[0]; my $dn = $tab[0]->{'words'}->[1]; $namep=$name.'_m'; $rv = sprintf " %s\n", !$option ? "checked" : "", $text{'default'}; $rv .= sprintf " %s\n", $option =~/off/i ? "checked" : "" ,"Off"; $rv .= sprintf " %s \n", $option =~/on/i ? "checked" : "" ,"On"; $rv .= sprintf " %s\n", $dn ? $dn: "","gid base prefix
"; return (2,"LDAP Do GID Lookups",$rv); } #sub edit_LDAPXort { #local ($rv); #return (1, "LDAPPort", #sprintf "\n", # $_[0]->{'value'}); #} sub edit_LDAPDNInfo { local ($rv); #return (2, "LDAPDNinfo", $rv =sprintf "BindDN:\n", $_[0]->{'words'}->[0]; $rv .=sprintf "     PasswordDN\n", $_[0]->{'words'}->[1]; return(2,"LDAP DN info",$rv); } sub edit_LDAPAuthBinds { local ($rv); my @tab =@_; my $name ='LDAPAuthBinds'; my $option = $tab[0]->{'value'}; #my $dn = $tab[0]->{'words'}->[1]; $rv = sprintf "
%s\n", !$option ? "checked" : "", $text{'default'}; $rv .= sprintf " %s\n", $option =~/off/i ? "checked" : "" ,"Off"; $rv .= sprintf " %s \n", $option =~/on/i ? "checked" : "" ,"On"; return (2,"LDAP auth bind ",$rv); } sub edit_LDAPDefaultAuthScheme { local ($rv); my @tab =@_; my $name ='LDAPDefaultAuthScheme'; my $option = $tab[0]->{'value'}; #my $dn = $tab[0]->{'words'}->[1]; $rv = sprintf "
%s\n", !$option ? "checked" : "", $text{'default'}; $rv .= sprintf " %s\n", $option =~/crypt/i ? "checked" : "" ,"crypt"; $rv .= sprintf " %s \n", $option =~/clear/i ? "checked" : "" ,"clear"; return (2,"LDAP default auth scheme ",$rv); } sub save_LDAPAuthBinds{ my $option =$in{'LDAPAuthBinds'}; return ([ ]) unless $option; return (['off']) if $option==1; return (['on']) if $option==2;; return ([ ]); } sub save_LDAPDefaultUID{ my $option =$in{'LDAPDefaultUID'}; return ([ ]) unless $option; return (["$option"]) if $option; } sub save_LDAPDefaultGID{ my $option =$in{'LDAPDefaultGID'}; return ([ ]) unless $option; return (["$option"]) if $option; } sub save_LDAPServer { my $param =$in{'LDAPServer'}; if (($in{'LDAPServerp_m'} == 1) && ($in{'LDAPServerp'})){ $param.=":". $in{'LDAPServerp'}; } return ( [ $param ] ) if $param; return ( [ ] ) unless $param; } sub save_LDAPQueryTimeout { my $param =$in{'LDAPQueryTimeout'}; if (($in{'LDAPQueryTimeout_m'} == 1) && ($in{'LDAPQueryTimeout'})){ $param= $in{'LDAPQueryTimeout'}; } else {undef $param} ; return ( [ $param ] ) if $param; return ( [ ] ) unless $param; } sub save_LDAPDNInfo { my $dn = $in{'LDAPDNinfodn'} ; my $dnp = $in{'LDAPDNinfopasswd'} ; return([ "\"$dn\" \"$dnp\""]) if $dn; return ([ ]) unless $dn; } sub save_LDAPDoAuth { my $option = $in{'LDAPDoAuthp_m'} ; return ([ ]) unless $option; return (['off']) if $option==1; my $dn=$in{'LDAPDoAuthp'}; return([ "on \"$dn\""]) if $dn; return ([ ]); } sub save_LDAPHomedirOnDemand { my $option = $in{'LDAPHomedirOnDemand_m'} ; return ([ ]) unless $option; return (['off']) if $option==1; return(['on']) if $option==2; } sub save_LDAPDefaultAuthScheme { my $option = $in{'LDAPDefaultAuthScheme'} ; return ([ ]) unless $option; return ([ ]) if $option==0; return (['"crypt"']) if $option==1; return(['"clear"']) if $option==2; } sub save_LDAPNegativeCache { my $option = $in{'LDAPNegativeCache_m'} ; return ([ ]) unless $option; return (['off']) if $option==1; return(['on']) if $option==2; } sub save_LDAPDoUIDLookups { my $option = $in{'LDAPDoUIDLookups_m'} ; return ([ ]) unless $option; return (['off']) if $option==1; my $dn=$in{'LDAPDoUIDLookups'}; return([ "on \"$dn\""]) if $dn; return ([ ]); } sub save_LDAPDoGIDLookups { my $option = $in{'LDAPDoGIDLookups_m'} ; return ([ ]) unless $option; return (['off']) if $option==1; my $dn=$in{'LDAPDoGIDLookups'}; return([ "on \"$dn\""]) if $dn; return ([ ]); } proftpd/config.info.pl0100664000567100000120000000037607366415362014775 0ustar jcameronwheelproftpd_conf=Ścieżka do pliku konfiguracyjnego ProFTPD,0 proftpd_path=Ścieżka do programu ProFTPD,0 pid_file=Ścieżka do pliku z numerem PID ProFTPD,0 ftpusers=Ścieżka do pliku ftpusers,0 start_cmd=Polecenie uruchamiające ProFTPD,3,Automatycznie proftpd/ftpaccess.cgi0100755000567100000120000000257510114777477014707 0ustar jcameronwheel#!/usr/local/bin/perl # ftpaccess.cgi # Display a list of per-directory config files require './proftpd-lib.pl'; &ui_print_header(undef, $text{'ftpaccess_title'}, "", undef, undef, undef, undef, &restart_button()); print "$text{'ftpaccess_desc'}

\n"; if (@ftpaccess_files) { print "\n"; print "\n"; print "
$text{'ftpaccess_title'}
\n"; for($i=0; $i<@ftpaccess_files; $i++) { if ($i%2 == 0) { print "\n"; } print "\n"; if ($i%2 == 1) { print "\n"; } } print "
", &html_escape($ftpaccess_files[$i]),"

\n"; } print "

\n"; print "\n"; print "\n", &file_chooser_button("file", 0, 0); print "
\n"; print "
\n"; print "\n"; print " ", "$text{'ftpaccess_auto'}  \n"; print "\n"; print "$text{'ftpaccess_from'}\n"; print "\n", &file_chooser_button("dir", 1, 1); print "
\n"; &ui_print_footer("", $text{'index_return'}); proftpd/ftpaccess_index.cgi0100755000567100000120000000313310114777534016057 0ustar jcameronwheel#!/usr/local/bin/perl # ftpaccess_index.cgi # Display a menu of icons for a per-directory options file require './proftpd-lib.pl'; &ReadParse(); $conf = &get_ftpaccess_config($in{'file'}); $desc = "".&html_escape($in{'file'}).""; &ui_print_header($desc, $text{'ftpindex_title'}, "", undef, undef, undef, undef, "$text{'ftpindex_delete'}". "
".&restart_button()); print "

$text{'ftpindex_opts'}

\n"; $ed_icon = { "icon" => "images/edit.gif", "name" => $text{'ftpindex_edit'}, "link" => "manual_form.cgi?file=$in{'file'}" }; &config_icons("ftpaccess", "edit_ftpaccess.cgi?file=$in{'file'}&", $ed_icon); @limit = ( &find_directive_struct("Limit", $conf) ); if (@limit) { # Limit sub-directives print "
\n"; print "

$text{'ftpindex_limit'}

\n"; foreach $l (@limit) { push(@links, "limit_index.cgi?limit=".&indexof($l, @$conf). "&file=$in{'file'}"); push(@titles, $l->{'value'}); push(@icons, "images/limit.gif"); } &icons_table(\@links, \@titles, \@icons, 3); } print "
\n"; print "\n"; print "\n"; print "\n"; print "
$text{'ftpindex_addlimit'}
\n"; print "\n"; print "\n"; print "
$text{'ftpindex_cmds'}\n"; print "
\n"; &ui_print_footer("ftpaccess.cgi", $text{'ftpaccess_return'}, "", $text{'index_return'}); proftpd/edit_ftpusers.cgi0100775000567100000120000000114110114777242015570 0ustar jcameronwheel#!/usr/local/bin/perl # edit_ftpusers.cgi # Lists users to be denied access require './proftpd-lib.pl'; &ui_print_header(undef, $text{'ftpusers_title'}, "", undef, undef, undef, undef, &restart_button()); print &text('ftpusers_desc', "$config{'ftpusers'}"),"

\n"; print "

\n"; print "
\n"; print "
\n"; &ui_print_footer("", $text{'index_return'}); proftpd/save_ftpusers.cgi0100775000567100000120000000053210202321657015575 0ustar jcameronwheel#!/usr/local/bin/perl # save_ftpusers.cgi # Saves users to be denied access require './proftpd-lib.pl'; &ReadParse(); @users = split(/\s+/, $in{'users'}); &open_lock_tempfile(USERS, ">$config{'ftpusers'}"); foreach $u (@users) { &print_tempfile(USERS, $u,"\n"); } &close_tempfile(USERS); &webmin_log("ftpusers", undef, undef); &redirect(""); proftpd/find_ftpaccess.cgi0100755000567100000120000000200610114776676015674 0ustar jcameronwheel#!/usr/local/bin/perl # find_ftpaccess.cgi # Finds all per-directory options files under the all the document roots require './proftpd-lib.pl'; &ReadParse(); @rv = grep { -r $_ } @ftpaccess_files; &error_setup($text{'find_err'}); if ($in{'from'}) { # Look under the given directory @dirs = ( $in{'dir'} ); } else { # Look in Anonymous sections $conf = &get_config(); $anon = &find_directive("Anonymous", $conf); push(@dirs, $anon) if ($anon); foreach $v (&find_directive_struct("VirtualHost", $conf)) { $anon = &find_directive("Anonymous", $v->{'members'}); push(@dirs, $anon) if ($anon); } &error($text{'find_eanon'}) if (!@dirs); } foreach $d (@dirs) { if ($d =~ /^~(\S+)$/) { local @u = getpwnam($1); $d = $u[7]; next if (!$u[7]); } open(FIND, "find '$d' -name .ftpaccess -print |"); while() { s/\r|\n//g; push(@rv, $_); } close(FIND); } # save results $site{'ftpaccess'} = join(' ', &unique(@rv)); &write_file("$module_config_directory/site", \%site); &redirect("ftpaccess.cgi"); proftpd/edit_ftpaccess.cgi0100755000567100000120000000211610114777237015675 0ustar jcameronwheel#!/usr/local/bin/perl # edit_ftpaccess.cgi # Display a form for editing some kind of per-directory options file require './proftpd-lib.pl'; &ReadParse(); $conf = &get_ftpaccess_config($in{'file'}); @dirs = &editable_directives($in{'type'}, 'ftpaccess'); $desc = &text('ftpindex_header', "".&html_escape($in{'file'}).""); &ui_print_header($desc, $text{"type_$in{'type'}"}, "", undef, undef, undef, undef, &restart_button()); print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
",&text('ftpindex_header2', $text{"type_$in{'type'}"}, "$in{'file'}"),"
\n"; &generate_inputs(\@dirs, $conf); print "
\n"; print "
\n"; &ui_print_footer("ftpaccess_index.cgi?file=$in{'file'}", $text{'ftpindex_return'}, "ftpaccess.cgi", $text{'ftpaccess_return'}, "", $text{'index_return'}); proftpd/save_ftpaccess.cgi0100755000567100000120000000075410114776676015722 0ustar jcameronwheel#!/usr/local/bin/perl # save_ftpaccess.cgi # Save some kind of per-directory options file require './proftpd-lib.pl'; &ReadParse(); $conf = &get_ftpaccess_config($in{'file'}); @edit = &editable_directives($in{'type'}, 'ftpaccess'); &lock_file($in{'file'}); &error_setup(&text('efailed', $text{"type_$in{'type'}"})); &parse_inputs(\@edit, $conf, $conf); &unlock_file($in{'file'}); &webmin_log("ftpaccess", $in{'type'}, $in{'file'}, \%in); &redirect("ftpaccess_index.cgi?file=$in{'file'}"); proftpd/delete_ftpaccess.cgi0100755000567100000120000000063610114776676016225 0ustar jcameronwheel#!/usr/local/bin/perl # delete_ftpaccess.cgi # Delete some .ftpaccess or similar file require './proftpd-lib.pl'; &ReadParse(); &lock_file($in{'file'}); unlink($in{'file'}); &unlock_file($in{'file'}); $site{'ftpaccess'} = join(' ', (grep { $_ ne $in{'file'} } @ftpaccess_files)); &write_file("$module_config_directory/site", \%site); &webmin_log("ftpaccess", "delete", $in{'file'}); &redirect("ftpaccess.cgi"); proftpd/create_ftpaccess.cgi0100755000567100000120000000142610202321573016200 0ustar jcameronwheel#!/usr/local/bin/perl # create_ftpaccess.cgi # Creates a new .ftpaccess file for some directory require './proftpd-lib.pl'; &ReadParse(); $conf = &get_config(); if (-d $in{'file'}) { # user entered a directory.. create a file in that directory $file = "$in{'file'}/.ftpaccess"; } else { $file = $in{'file'}; } # create the file (if needed), and add to the known list &lock_file($file); if (!(-r $file)) { &open_lock_filetemp(FTPACCESS, ">$file") || &error($!); &close_tempfile(FTPACCESS); chmod(0755, $file); } $site{'ftpaccess'} = join(' ', &unique(@ftpaccess_files, $file)); &write_file("$module_config_directory/site", \%site); &unlock_file($file); &webmin_log("ftpaccess", "create", $file); # redirect to editing index &redirect("ftpaccess_index.cgi?file=".&urlize($file)); proftpd/log_parser.pl0100644000567100000120000000622110055050066014705 0ustar jcameronwheel# log_parser.pl # Functions for parsing this module's logs do 'proftpd-lib.pl'; # parse_webmin_log(user, script, action, type, object, ¶ms, long) # Converts logged information from this module into human-readable form sub parse_webmin_log { local ($user, $script, $action, $type, $object, $p, $long) = @_; local $typestr = "".$text{"type_$type"}.""; if ($action eq 'global') { return &text('log_global', $typestr); } elsif ($action eq 'ftpusers') { return $text{'log_ftpusers'}; } elsif ($action eq 'virt') { $object = $object eq '-' ? $text{'index_defserv'} : &html_escape($object); if ($type eq 'create') { return &text('log_virtc', "$object"); } elsif ($type eq 'save') { return &text('log_virts', "$object"); } elsif ($type eq 'delete') { return &text('log_virtd', "$object"); } elsif ($type eq 'manual') { return &text('log_virtm', "$object"); } else { return &text('log_virt', $typestr, "$object"); } } elsif ($action eq 'dir') { local ($virt, $dir) = split(/:/, $object); $virt = $virt ? &html_escape($virt) : $text{'index_defserv'}; $dir = &html_escape($dir); if ($type eq 'create') { return &text($long ? 'log_dirc_l' : 'log_dirc', "$dir", "$virt"); } elsif ($type eq 'save') { return &text($long ? 'log_dirs_l' : 'log_dirs', "$dir", "$virt"); } elsif ($type eq 'delete') { return &text($long ? 'log_dird_l' : 'log_dird', "$dir", "$virt"); } elsif ($type eq 'manual') { return &text($long ? 'log_dirm_l' : 'log_dirm', "$dir", "$virt"); } else { return &text($long ? 'log_dir_l' : 'log_dir', $typestr, "$dir", "$virt"); } } elsif ($action eq 'limit') { if ($type eq 'create') { return &text('log_limitc', "$object"); } elsif ($type eq 'save') { return &text('log_limits', "$object"); } elsif ($type eq 'delete') { return &text('log_limitd', "$object"); } elsif ($type eq 'manual') { return &text('log_limitm', "$object"); } else { return &text('log_limit', $typestr, "$object"); } } elsif ($action eq 'ftpaccess') { if ($type eq 'create') { return &text('log_ftpaccessc', "$object"); } elsif ($type eq 'save') { return &text('log_ftpaccesss', "$object"); } elsif ($type eq 'delete') { return &text('log_ftpaccessd', "$object"); } elsif ($type eq 'manual') { return &text('log_ftpaccessm', "$object"); } else { return &text('log_ftpaccess', $typestr, "$object"); } } elsif ($action eq 'anon') { $object = $object eq '-' ? $text{'index_defserv'} : &html_escape($object); if ($type eq 'create') { return &text('log_anonc', "$object"); } elsif ($type eq 'save') { return &text('log_anons', "$object"); } elsif ($type eq 'delete') { return &text('log_anond', "$object"); } elsif ($type eq 'manual') { return &text('log_anonm', "$object"); } else { return &text('log_anon', $typestr, "$object"); } } else { return $text{"log_$action"}; } } proftpd/config.info.es0100664000567100000120000000035710067401523014752 0ustar jcameronwheelproftpd_conf=Ruta al archivo de configuración de ProFTPD,0 proftpd_path=Ruta al archivo ejecutable ProFTPD,0 pid_file=Ruta al archivo PID de ProFTPD,0 ftpusers=Ruta al archivo ftpusers,0 start_cmd=Comando para iniciar ProFTPD,3,Automático proftpd/feedback_files.pl0100664000567100000120000000017607452460754015503 0ustar jcameronwheel do 'proftpd-lib.pl'; sub feedback_files { local $conf = &get_config(); return &unique(map { $_->{'file'} } @$conf); } 1; proftpd/allmanual_form.cgi0100775000567100000120000000213610114776713015710 0ustar jcameronwheel#!/usr/local/bin/perl # allmanual_form.cgi # Display a text box for manually editing directives from one of the files require './proftpd-lib.pl'; &ReadParse(); &ui_print_header(undef, $text{'manual_configs'}, "", undef, undef, undef, undef, &restart_button()); $conf = &get_config(); @files = &unique(map { $_->{'file'} } @$conf); $in{'file'} = $files[0] if (!$in{'file'}); print "
\n"; print "\n"; print "
\n"; $found || &error($text{'manual_efile'}); print "
\n"; print "\n"; print "
\n"; print "\n"; &ui_print_footer("", $text{'index_return'}); proftpd/allmanual_save.cgi0100775000567100000120000000122210211213665015664 0ustar jcameronwheel#!/usr/local/bin/perl # allmanual_save.cgi # Save an entire config file require './proftpd-lib.pl'; &ReadParseMime(); $conf = &get_config(); @files = &unique(map { $_->{'file'} } @$conf); &indexof($in{'file'}, @files) >= 0 || &error($text{'manual_efile'}); $temp = &transname(); system("cp ".quotemeta($in{'file'})." $temp"); $in{'data'} =~ s/\r//g; &open_lock_tempfile(FILE, ">$in{'file'}"); &print_tempfile(FILE, $in{'data'}); &close_tempfile(FILE); if ($config{'test_manual'}) { $err = &test_config(); if ($err) { system("mv $temp ".quotemeta($in{'file'})); &error(&text('manual_etest', "
$err
")); } } unlink($temp); &redirect(""); proftpd/config-gentoo-linux0100644000567100000120000000024507763037430016045 0ustar jcameronwheelproftpd_path=/usr/sbin/proftpd proftpd_conf=/etc/proftpd/proftpd.conf pid_file=/var/run/proftpd.pid ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0 proftpd/config.info.de0100664000567100000120000000102010067670021014720 0ustar jcameronwheel# config.info.de-File for ProFTPd ###################################################################### # Last patched: 05.08.2003 Martin Mewes for WEBMIN - MM # Questions, comments, snide-remarks: webmin@webmin.mamemu.de ###################################################################### proftpd_conf=Pfad zur ProFTPd-Konfigurationsdatei,0 proftpd_path=Pfad zur ausführbaren Datei ProFTPd,0 pid_file=Pfad zur ProFTPd-PID-Datei,0 ftpusers=Pfad zur ftpusers-Datei,0 start_cmd=Befehl zum Start des ProFTPd,3,Automatischproftpd/config-united-linux0100664000567100000120000000030107763037430016035 0ustar jcameronwheelproftpd_path=/usr/sbin/proftpd proftpd_conf=/etc/proftpd.conf pid_file=/var/run/proftpd.pid start_cmd=/etc/init.d/proftpd start ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0 proftpd/config.info.ru_SU0100644000567100000120000000036310067401530015371 0ustar jcameronwheelline2=óÉÓÔĹÍÎŮĹ ĐÁŇÁÍĹÔŇŮ,11 proftpd_conf=đŐÔŘ Ë ĆÁĘĚŐ ÎÁÓÔŇĎĘËÉ ProFTPD,0 proftpd_path=đŐÔŘ Ë ÉÓĐĎĚÎŃĹÍĎÍŐ ĆÁĘĚŐ ProFTPD,0 pid_file=đŐÔŘ Ë ĆÁĘĚŐ PID ProFTPD,0 ftpusers=đŐÔŘ Ë ĆÁĘĚŐ ftpusers,0 start_cmd=ëĎÍÁÎÄÁ ÚÁĐŐÓËÁ ProFTPD,3,á×ÔĎÍÁÔÉŢĹÓËÉ proftpd/config.info.ru_RU0100664000567100000120000000036307614360517015407 0ustar jcameronwheelproftpd_path=Ďóňü ę čńďîëí˙ĺěîěó ôŕéëó ProFTPD,0 proftpd_conf=Ďóňü ę ôŕéëó íŕńňđîéęč ProFTPD,0 ftpusers=Ďóňü ę ôŕéëó ftpusers,0 start_cmd=Ęîěŕíäŕ çŕďóńęŕ ProFTPD,3,Ŕâňîěŕňč÷ĺńęč pid_file=Ďóňü ę ôŕéëó PID ProFTPD,0 line2=Ńčńňĺěíűĺ ďŕđŕěĺňđű,11 proftpd/install_check.pl0100664000567100000120000000065510265115662015371 0ustar jcameronwheel# install_check.pl do 'proftpd-lib.pl'; # is_installed(mode) # For mode 1, returns 2 if the server is installed and configured for use by # Webmin, 1 if installed but not configured, or 0 otherwise. # For mode 0, returns 1 if installed, 0 if not sub is_installed { return 0 if (!-x $config{'proftpd_path'} || !-r $config{'proftpd_conf'}); if ($_[0]) { return 2 if ($site{'version'} || &get_proftpd_version()); } return 1; } proftpd/config-trustix-linux0100644000567100000120000000030107763037430016265 0ustar jcameronwheelproftpd_path=/usr/sbin/proftpd proftpd_conf=/etc/proftpd.conf pid_file=/var/run/proftpd.pid ftpusers=/etc/ftpusers start_cmd=/etc/init.d/proftpd start test_config=1 test_always=0 test_manual=0 proftpd/config-sol-linux0100664000567100000120000000030310042613313015324 0ustar jcameronwheelproftpd_path=/server/proftpd/sbin/proftpd proftpd_conf=/server/proftpd/etc/proftpd.conf pid_file=/server/proftpd/var/proftpd.pid #ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0 proftpd/config-coherent-linux0100664000567100000120000000023510042617466016357 0ustar jcameronwheelproftpd_path=/usr/sbin/proftpd proftpd_conf=/etc/proftpd.conf pid_file=/var/run/proftpd.pid ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0 proftpd/CHANGELOG0100664000567100000120000000014710115216626013433 0ustar jcameronwheel---- Changes since 1.140 ---- Added 'Apply Changes' link to all pages, just like in the Apache module. proftpd/config.info.ja_JP.euc0100644000567100000120000000074110067670055016104 0ustar jcameronwheelline1=ŔßÄę˛ÄÇ˝¤ĘĽŞĽ×ĽˇĽçĽó,11 test_config=ĘŃšš¤ňĹŹÍѤš¤ëÁ°¤ËŔßÄęĽŐĽĄĽ¤Ľë¤ňĽĆĽšĽČ¤ˇ¤Ţ¤š¤Ť?,1,1-¤Ď¤¤,0-¤¤¤¤¤¨ test_manual=źęư¤ÇĘŃšš¤ˇ¤ż¸ĺ¤ËŔßÄęĽŐĽĄĽ¤Ľë¤ňĽĆĽšĽČ¤ˇ¤Ţ¤š¤Ť?,1,1-¤Ď¤¤,0-¤¤¤¤¤¨ test_always=ĘŃšš¸ĺ¤ËŔßÄęĽŐĽĄĽ¤Ľë¤ÎĽĆĽšĽČ¤ˇ¤Ţ¤š¤Ť?,1,1-¤Ď¤¤,0-¤¤¤¤¤¨ line2=ĽˇĽšĽĆĽŕŔßÄę,11 proftpd_conf=ProFTPD¤ÎŔßÄęĽŐĽĄĽ¤Ľë¤Ř¤ÎĽŃĽš,0 proftpd_path=ProFTPD¤ÎźÂšÔĽŐĽĄĽ¤Ľë¤Ř¤ÎĽŃĽš,0 pid_file=ProFTPD¤ÎPIDĽŐĽĄĽ¤Ľë¤Ř¤ÎĽŃĽš,0 ftpusers=ftpusersĽŐĽĄĽ¤Ľë¤Ř¤ÎĽŃĽš,0 start_cmd=ProFTPD¤ÎľŻĆ°ĽłĽŢĽóĽÉ,3,źŤĆ° proftpd/config.info.zh_TW.Big50100664000567100000120000000052110075155054016160 0ustar jcameronwheelline1=˛ŐşAżďśľ,11 test_config=ŽMĽÎĹܧóŤe´ú¸Ő˛ŐşAŔÉ?,1,1-ŹO,0-§_ test_manual=¤â°ĘĹܧóŤá´ú¸Ő˛ŐşAŔÉ?,1,1-ŹO,0-§_ test_always=¨äĽŚĹܧóŤá´ú¸Ő˛ŐşAŔÉ?,1,1-ŹO,0-§_ line2=¨t˛Î˛ŐşA,11 proftpd_conf=ProFTPD˛ŐşAŔɎ׸ôŽ|,0 proftpd_path=ProFTPD °őŚćŔɎ׸ôŽ| pid_file=ProFTPD PID ŔɎ׸ôŽ|,0 ftpusers=ftp¨ĎĽÎŞĚŔɎ׸ôŽ|,0 start_cmd=ąŇ°ĘProFTPDŤüĽO,3,ŚŰ°Ę proftpd/config.info.ca0100644000567100000120000000106110236525232014717 0ustar jcameronwheelline1=Opcions configurables,11 test_config=Prova el fitxer de configuració abans d'aplicar els canvis,1,1-Sí,0-No test_manual=Prova el fitxer de configuració després de fer-hi canvis manuals,1,1-Sí,0-No test_always=Prova el fitxer de configuració després d'altres canvis,1,1-Sí,0-No line2=Configuració del sistema,11 proftpd_conf=Camí del fitxer de configuració de ProFTPD,0 proftpd_path=Camí del fitxer executable de ProFTPD,0 pid_file=Camí del fitxer de PID de ProFTPD,3,Cap start_cmd=Ordre per iniciar ProFTPD,3,Automŕtic ftpusers=Camí del fitxer ftpusers,0 proftpd/config-freebsd0100644000567100000120000000026007763037430015024 0ustar jcameronwheelproftpd_path=/usr/local/libexec/proftpd proftpd_conf=/usr/local/etc/proftpd.conf pid_file=/var/run/proftpd.pid ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0 proftpd/backup_config.pl0100664000567100000120000000143510204507102015340 0ustar jcameronwheel do 'proftpd-lib.pl'; # backup_config_files() # Returns files and directories that can be backed up sub backup_config_files { local $conf = &get_config(); local @rv = map { $_->{'file'} } @$conf; return &unique(@rv); } # pre_backup(&files) # Called before the files are actually read sub pre_backup { return undef; } # post_backup(&files) # Called after the files are actually read sub post_backup { return undef; } # pre_restore(&files) # Called before the files are restored from a backup sub pre_restore { return undef; } # post_restore(&files) # Called after the files are restored from a backup sub post_restore { local ($inet, $inet_mod) = &running_under_inetd(); return undef if ($inet); local $pid = &get_proftpd_pid(); if ($pid) { &kill_logged('HUP', $pid); } return undef; } 1; proftpd/config-redhat-linux-10.0-*0100644000567100000120000000017710204507046016515 0ustar jcameronwheelproftpd_path=/usr/sbin/proftpd proftpd_conf=/etc/proftpd.conf ftpusers=/etc/ftpusers test_config=1 test_always=0 test_manual=0