Ich verwende sqlite3 in einer Linux-Maschine und greife auf die Datenbank ohne Benutzername und Passwort zu. Kann ich einen Benutzernamen und ein Passwort dafür festlegen?
Antworten
Zu viele Anzeigen?Nein, sqlite3-Datenbanken sind sehr leichte Systeme. Sie benötigen keinen Server und alle Daten werden in einer Datei gespeichert. Ein Benutzername/Passwort wird vom sqlite/sqlite3-Paket nicht unterstützt.
Um Einfachheit zu erreichen, musste SQLite andere Eigenschaften opfern, die einige Leute nützlich finden, wie hohe Parallelität, feingranulare Zugriffskontrolle, einen reichen Satz von integrierten Funktionen, gespeicherte Prozeduren, esoterische SQL-Sprachmerkmale, XML- und/oder Java-Erweiterungen, Tera- oder Peta-Byte-Skalierbarkeit usw.
Da es sich jedoch nur um eine Datei handelt, können Sie die Datei mit einem Passwort verschlüsseln, um Ihre Daten zu schützen.
SQLite hat kein Konzept von Benutzername/Passwort. Es handelt sich lediglich um eine datenbankbasierte Datei.
Auf Unix können Sie jedoch Ihre Datenbank vor anderen Benutzern auf demselben Rechner schützen, indem Sie die Berechtigungen der Datenbankdatei selbst festlegen.
z.B. Nur dem Besitzer Zugriff gestatten
chmod 700 /pfad/zur/sqlitedb
Wenn es in einer einfachen Webanwendung verwendet wird, wird die Webanwendung die Kontrolle bereitstellen.
Die vorherigen Antworten sind nur teilweise wahr. Sie können Datenbanken haben, die eine Authentifizierung erfordern, aber Sie müssen SQLite separat von PHP kompilieren.
Sehen Sie die SQLite-Benutzerauthentifizierung Dokumentation für weitere Informationen.
SQLite ist hauptsächlich eine eingebettete Datenbank-Engine, die nicht dazu gedacht ist, als Multi-User-Datenbankserver verwendet zu werden, der Benutzernamen und Passwörter erfordert.
Sie können die Datenbankdatei immer mit einem vom Benutzer bereitgestellten Passwort/-phrase verschlüsseln, denke ich. Aber von einer eingebetteten DBMS zu erwarten, dass es eine vollständige Zugriffskontrolle bietet, ist zu viel.