Betrieb und Instandhaltung
Betrieb und Wartung von Linux
Einführung in die Installation und Konfiguration von vsftpd unter LinuxEinführung in die Installation und Konfiguration von vsftpd unter Linux
本文主要介绍了linux下vsftpd的安装及配置使用详细步骤 ,需要的朋友可以参考下,希望能帮助到大家。
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。
vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。
比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
1.1 安装
命令:
yum install vsftpd -y
配置Vsftpd
安装完之后我们要对它进行配置,才能正常使用。
编辑vsftpd的配置文件
vi /etc/vsftpd/vsftpd.conf
在配置文件中找到“anonymous_enable=YES”,将"YES"改为"No",将匿名登录禁用。
添加开机自动启动,
chkconfig vsftpd on
不确定是否已经加入了开机启动项可以运行chkconfig –list进行查看
1.2 创建用户
命令:useradd ftpuser
指定密码:passwd ftpuser
此用户就是用来登录ftp服务器用的。
这样一个用户建完,可以用这个登录,记得用普通登录不要用匿名了。登录后默认的路径为 /home/ftpuser.
----------------------------------------------------------------------------------------------------------------------------------
设置FTP用户的账号,例如账号为“ftpuser1”,目录为/home/ftpuser1,且设置不允许通过ssh登录。
useradd -d /home/ftpuser -s /sbin/nologin ftpuser
设置账号对应的密码,例如密码为“ftpuser”
passwd ftpuser
1.3 开启selinux权限
VSFTPD是一个FTP服务器程序,然后SELinux是CentOS的防火墙组件。由于 vsftpd 默认被 SELinux 拦截,所以会遇到的FTP以下的问题:
1.226 Transfer done (but failed to open directory).(传输完成,但是打开路径失败)
2.550 Failed to change directory(更改路径失败)
3.
553 Could not create file.
4.
或者干脆在发送了LIST命令以后,服务器没响应,超时断开。
遇到这样的问题,通常是vsftpd 没有足够的权限,很有可能是被SELinux阻止了。
查看命令:getsebool -a | grep ftp
getsebool -a | grep ftpd #以下是显示出来的权限,off是关闭权限,on是打开权限 allow_ftpd_anon_write --> off allow_ftpd_full_access --> off allow_ftpd_use_cifs --> off allow_ftpd_use_nfs --> off ftpd_connect_db --> off ftpd_use_passive_mode --> off ftp_home_dir --> off
其中,ftp_home_dir和allow_ftpd_full_access必须为on 才能使vsftpd 具有访问ftp根目录,以及文件传输等权限。
设置命令:setsebool -p xxxxxx on
[root@bogon ~]# setsebool -P allow_ftpd_full_access on [root@bogon ~]# setsebool -P ftp_home_dir on
1.4 设置或关闭防火墙
因为ftp默认的端口为21,而centos默认是没有开启的,所以要修改iptables文件
设置:vi /etc/sysconfig/iptables
在行上面有22 -j ACCEPT 下面另起一行输入跟那行差不多的,只是把22换成21,然后:wq保存。
还要运行下,重启iptables
重启:service iptables restart
关闭防火墙:service iptables stop
禁用防火墙重启:chkconfig iptables off
1.5 启动vsftpd
命令:service vsftpd start
java客户端(代码)调用
package com.jonychen.util;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.SocketException;
import java.util.Date;
import java.util.UUID;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
public class FtpUploadUtil {
private static ThreadLocal<ftpclient> threadLocal = new ThreadLocal();
private static ThreadLocal<string> threadLocalHost = new ThreadLocal();
public static void init(String host,int port,String username,String password) throws SocketException, IOException {
FTPClient client = threadLocal.get();
if(client==null) {
client = new FTPClient();
//1.连接
client.connect(host,port);
//2.登录
client.login(username,password);
threadLocal.set(client);
threadLocalHost.set(host);
}
}
public static String upload(InputStream local,String fileName,String path) throws SocketException, IOException {
String datePath = DateUtil.date2Str(new Date(),"/yyyy/MM/dd/");
//路径添加日期
path+=datePath;
FTPClient client = threadLocal.get();
String host = threadLocalHost.get();
//3.指定文件上传路径(路径不存在返回false)
boolean exists = client.changeWorkingDirectory(path);
if(!exists) {
String pathArray[] = path.split("/");
String temp = "/";
for(String p:pathArray) {
temp+=(p+"/");
//4.如果文件路径不存在,则创建(一次只能创建一级目录)
client.makeDirectory(temp);
}
//重新指定文件上传路径
client.changeWorkingDirectory(path);
}
//5.指定文件类型
client.setFileType(FTP.BINARY_FILE_TYPE);
//获取后缀
String suffix = fileName.substring(fileName.lastIndexOf("."));
String uuid = UUID.randomUUID().toString();
//6.执行上传
client.storeFile(uuid+suffix, local);
//7.退出
client.logout();
//8.断开连接
client.disconnect();
threadLocalHost.remove();
threadLocal.remove();
return "http://"+host+"/jonychen"+datePath+uuid+suffix;
}
public static void main(String[] args) throws SocketException, IOException {
InputStream local = new FileInputStream("D:\\Documents\\Pictures\\01.png");
init("192.168.178.161", 21, "ftpuser", "111111");
//上传路径
String res = upload(local, "code.png","/home/ftpuser/ego");
System.out.println(res);
}
}</string></ftpclient>
相关推荐:
Linux vsftpd连接报错:500 OOPS: vsftpd的解决办法详解
vsftpd+MySQL创建虚拟用户在Debian Linux之下
Das obige ist der detaillierte Inhalt vonEinführung in die Installation und Konfiguration von vsftpd unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
So stellen Sie das Linux -System aus der Backup wieder herJul 23, 2025 am 12:25 AMUm das Linux -System erfolgreich aus der Backup wiederherzustellen, müssen Sie zunächst den Sicherungstyp klären und die Schritte ausführen. 1. Bestätigen Sie den Sicherungstyp, z. B. das vollständige Systembild, die Sicherungs- oder Paketliste auf Dateiebene oder Konfigurationsdateien, und wählen Sie die entsprechende Wiederherstellungsmethode gemäß dem Typ, z. B. die Dekomprimierung von Daten mit RSYNC oder TAR. 2. Geben Sie die Wiederherstellungsumgebung über LiveUSB ein, montieren Sie die Stammpartition und den Sicherungsort und verwenden Sie den Befehl, um Daten zu kopieren. 3. Bei der Wiederherstellung von Benutzerdaten und -konfiguration, prüfen Sie die Berechtigungen, das Eigentum und die versteckten Dateien und installieren Sie grub bei Bedarf. V. Das Testen und Vorbereitung im Voraus ist der Schlüssel zur Gewährleistung einer reibungslosen Wiederherstellung.
So verwenden Sie den Befehl 'lsmod'Jul 23, 2025 am 12:13 AMLSMOD ist ein Befehl unter Linux zum Anzeigen geladener Kernelmodule und modulierterem Modulinformationen durch Lesen /Proc /Modules -Datei. Seine Ausgabe enthält drei Spalten: Modul (Modulname), Größe (Größe, Bytes) und verwendet (Anzahl der Referenzen). In Kombination mit Grep können bestimmte Module gefiltert werden, wie z. B. LSMOD | Grepusb werden verwendet, um USB-bezogene Module zu finden. Abhängigkeiten können durch verwendete Spalten identifiziert werden, z. Um Abhängigkeiten eingehend anzuzeigen, ist ModinFomodule \ _Name verfügbar. Gemeinsame Operationen umfassen die Verwendung von Sudomod
So enttäuschen Sie ein DateisystemJul 23, 2025 am 12:06 AMUm das Dateisystem zu deinstallieren, müssen Sie zunächst den Mount Point -Pfad bestätigen und den Befehl UMOUNT zum Betrieb verwenden. Wenn Sie auf "DeviceIsBusy" stoßen, müssen Sie den besetzten Prozess bewältigen. 1. Verwenden Sie DF-H oder Mount | Grep/Dev, um den Mountspunkt zu bestätigen. 2. Führen Sie Sudoumount [Mount Point] Deinstallation aus; 3. Wenn das Gerät aufgefordert wird, beschäftigt zu sein, schließen Sie die relevanten Programme oder verwenden Sie LSOF, um den Prozess zu überprüfen und zu töten. 4. Verwenden Sie Sudoumount-L, um die Deinstallation zu verzögern. 5. Beim Deinstallieren von NFS können Sie den Parameter -f hinzufügen, um das Deinstallieren zu erzwingen. Achten Sie darauf, dass vor dem Betrieb keine Programmabhängigkeit vorliegt, um Ausnahmen zu vermeiden.
So verwalten Sie Systemprotokolle Remote -SyslogJul 23, 2025 am 12:06 AMDie Konfigurationsschritte für die Remote -Verwaltung von Protokollen umfassen: 1. Konfigurieren Sie den lokalen Client so, dass sie Protokolle senden, die RSYLOG -Konfigurationsdatei ändern und mithilfe des TCP -Protokolls übertragen. 2. Richten Sie den Remote -Server so ein, dass sie Protokolle empfangen, Netzwerkmodule aktivieren und die Protokollklassifizierungsspeicher einrichten. 3.. Stärken Sie die Sicherheit, beschränken Sie den Zugriff durch Firewalls, TLS -Verschlüsselung und Protokollfilterung; 4. Fehlerbehebung bei häufigsten Problemen und prüfen Sie die Überwachung, Konnektivität, den Service -Status und die Sicherheitsrichtlinien für die Port -Überwachung. Das Befolgen der oben genannten Schritte kann den stabilen Betrieb des Protokollsystems sicherstellen.
So überprüfen Sie aktive NetzwerkverbindungenJul 22, 2025 am 12:35 AMWenn Sie die Netzwerkverbindung auf Ihrem aktuellen Computer kennen möchten, können Sie sie über das Befehlszeilen -Tool anzeigen. Verwenden Sie Netstat-Ano unter Windows, um alle Verbindungen und PIDs anzuzeigen, verwenden Sie SS-Tulnp und LSOF-I-P, um detaillierte Informationen zu erhalten, und kann auch in Echtzeit über grafische Schnittstellen-Tools wie Ressourcenmonitor, Nethogs usw. überwacht werden.
So fördern Sie die Einstellungen des GebietsschemasJul 22, 2025 am 12:34 AMDas Problem der Gebietsschemaeinstellung wirkt sich auf den Betrieb und die Anzeige des Programms aus. Die Lösung lautet wie folgt: 1. Überprüfen Sie die aktuell unterstützte Gebietsschemasliste mit Lokale-A; 2. Generieren Sie fehlendes Gebietsschema, verwenden Sie Sudodpkg-Reconfigurelocales für Debian/Ubuntu und verwenden Sie den SudolocalEDEF-Befehl für Redhat/Centos/Fedora. 3. Ändern Sie die Datei/etc/Standard-/Gebietsschema, um das Standardgebietsschema festzulegen und neu zu laden. 4. SSH -Anmeldungswarnungen müssen das entsprechende Gebietsschema auf dem Server generieren oder die lokale SSH -Konfiguration einstellen. 5. Es wird empfohlen, Lang und LC_CTYPE für abnormale Zeichen in der grafischen Schnittstelle zu vereinen.
So überwachen Sie die Verwendung der FestplattenquoteJul 22, 2025 am 12:33 AMUm die Verwendung der Festplattenquote zu überwachen, können Sie mit dem Quotenbefehl die Kontingentquote ansehen, Repquota verwenden, um die Gesamtnutzung anzuzeigen und Skripte zu verwenden, um eine automatisierte Überwachung zu erreichen. Spezifische Schritte: 1. Verwenden Sie den Quota-Uusernamen, um die Festplattennutzungsdetails eines bestimmten Benutzers anzuzeigen. 2. Verwenden Sie RepQuota/Pfad/TO/Mountpoint, um alle Benutzerquoten zu batchieren. 3. Schreiben Sie Shell -Skripte, um Repquota- und E -Mail -Benachrichtigungsfunktionen zu kombinieren, um eine automatische Überwachung zu erzielen, und setzen Sie die zeitgesteuerten Cron -Aufgaben für die tägliche Ausführung.
So konfigurieren Sie unbeaufsichtigte Upgrades APTJul 22, 2025 am 12:20 AMUnbefragte Upgrades eignen sich zum Verwalten mehrerer Server, dem Reduzieren der manuellen Aktualisierungen oder dem Versäumnis, das System jederzeit zu verwalten. Installieren Sie zunächst das Paket für unbeaufsichtigtes Upgrades: sudoaptinstallunated-upgrades und aktivieren Sie dann die Standardkonfiguration: sudodpkg-Reconfigure-Plowunated-Upgrades. Wählen Sie in der interaktiven Schnittstelle "Ja", um dies zu aktivieren. Benutzerdefiniertes Verhalten kann erreicht werden


Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Dreamweaver CS6
Visuelle Webentwicklungstools

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.






