Newsgroup: it.comp.software.database
Titolo: accesso negato Firebird su Server Linux

Da un Pc Windows tramite IbExpert cerco di accedere ad un db
resente su Server Linux Uuntu Server 11.04Firebird e' installato come 
superserver e all'avvio si vede
start Firebird 2.5 ..[ok]
Nel server ho anche installato Samba e WinBind
IP del server 192.168.1.166 da Windows il test ping funziona
IBExpert scelgo Register DataBase
Server->Remote
ServerName 192.168.1.166 oppure host674
Protocol -> TCP/IP
Version -> Firebird 2.5
DataBaseFile -> /home/maurizio/Test/employee.fdb
Test Connect : non va a buon fine.
Maurizio
^^^^^
Attempting to connect to:
192.168.1.166:/maurizio/Test/employee.fdb
Connecting... Failed!
------------------------------------
Unsuccessful execution caused by a system error that precludes 
successful execution of subsequent statements.
I/O error during "open" operation for file "/maurizio/Test/employee.fdb".
Error while trying to open file.
No such file or directory.
Attempting to connect to services manager... Passed!
Disconnecting from database... Passed!

 No such file or directory.
Probabilmente hai sbagliato a sbagliare il path del db nella
connessione,
dimenticando di mettere /home/...
Ti consiglio di usare gli alias dei db al posto dei path completi dei
file:
eviti questo tipo di errore e soprattutto se decidi di spostare un
file
in un altro punto del filesystem i client continuano ad andare senza
accorgersi della differenza.
ciao
Giacomo

 No such file or directory.
Il messaggio d'errore e' piuttosto chiaro: probabilmente hai sbagliato
a specificare il path del db (uno e' /home/maurizio/... l'altro /
maurizio/...)
Ti consiglio di utilizzare un alias per accedere ai tuoi db invece di
usare
il path completo. In questo modo eviti errori di questo tipo e puoi
anche
spostare i file nel filesystem senza creare problemi ai client.
ciao
Giacomo

>
ho modificato aliases.conf aggiungendo Prova e Test
# ------------------------------
# List of known database aliases
# ------------------------------
#
# Example Database:
# employee.fdb = 
/usr/share/doc/firebird2.5-common-doc/examples/empbuild/employee.fdb
employee = 
/usr/share/doc/firebird2.5-common-doc/examples/empbuild/employee.fdb
#
# Live Databases:
#
Prova = /home/maurizio/Test/employee.fdb
Test = /home/maurizio/Test/MODULUS.FDB
ripeto il tentativo con
ServerName = 192.168.1.166
Databasefile = Prova
Client Library File -> C:\Programmi\Firebird\Firebird_2_5\bin\fbclient.dll
Attempting to connect to:
192.168.1.166:Prova
Connecting... Failed!
------------------------------------
Unsuccessful execution caused by a system error that precludes 
successful execution of subsequent statements.
I/O error during "open" operation for file "Prova".
Error while trying to open file.
Permission denied.
Attempting to connect to services manager... Passed!
Disconnecting from database... Passed!
Sul server la porta 3050 e' aperta
Firebird e' attivo (provato da Terminale a fermare e riavviare)
Provo con FlameRobin sul Server Ubuntu, registro il database 
employee.fdb , eseguo Connect
*** IBPP:SQL Exception***
Context:DataBase:Connect
Message:isc_attach_database failed
SQL Message:-902
Unsuccessful execution caused by a system error that
precludes succesful execution of subsequent statements
Engine Code: 335544344
Engine Message:
I/O error during "open" operation for file 
"/home/maurizio/Test/employee.fdb"
Error while tryning to open file
Permission Denied
^^^^
Quel permission denied mi fa pensare a mancanza di diritti,
ma l'utente maurizio puo' amministrare il sistema.
ciao Maurizio

 ma l'utente maurizio puo' amministrare il sistema.
Ma non hai detto come è legato l'utente maurizio al demone firebird. 
Probabilmente il problema è esattamente che il programma non ha i 
permessi di accesso al file, come è scritto.
Cos'è un "superserver" in ubuntu?

> Cos'è un "superserver" in ubuntu?
cosa intendi ?
il superverver e' la versione di firebird installata,
di solito chiede classic o superserver.
se non ho capito, spiegami meglio.

 meglio.
Quello, non avevo capito fosse il nome di un pacchetto in ubuntu, ho 
appena cercato informazioni su PUC.

 ma l'utente maurizio puo' amministrare il sistema.
Non c'entra nulla, Firebird gira con un utente e con un gruppo dedicato:
enrico@whiterabbit:~$ ps -ef|grep firebird
firebird  8719     1  0 00:15 ?        00:00:00 /usr/sbin/fbguard -daemon -
forever -pidfile /var/run/firebird/2.5/fbserver.pid
firebird  8720  8719  0 00:15 ?        00:00:00 /usr/sbin/fb_smp_server
enrico    8835  7053  0 00:15 pts/6    00:00:00 grep firebird
enrico@whiterabbit:~$
Il modo piu` semplice e` che aggiungi il tuo utente al gruppo firebird e 
cambi i permessi della tua home, quello piu` pulito e` che metti il database 
in una directory appartenente all'utente firebird
Enrico

>
non capisco, come firebird possa creare dipendenze su directory;
dalle prove fatte sul server o si danno i permessi o neppure in
localhost si riesce ad aprire il db.
se /home/maurizio e' la directory e employee.fdb il database, non
basta che maurizio possa legge e scrivere sulla home, si devono
dare comunque i permessi du employee.fdb.
se conosci una via migliore, ben venga.
Maurizio

 basta che maurizio possa legge e scrivere sulla home,
L'utente "maurizio" in questo frangente non c'entra nulla, a meno che tu 
non stia esplicitamente lanciando firebird come utente maurizio.

 se conosci una via migliore, ben venga.
Si: leggere qualche manuale sulla gestione dei permessi in ambiente Linux
Enrico