web-dev-qa-db-fra.com

Puis-je accéder à un partage Windows directement à partir du serveur Linux et copier des fichiers

J'ai un partage Windows créé en utilisant samba.

Il est situé dans mon serveur Ubunutu /mnt/user_new Je veux copier des fichiers de /var/www/myproject/files/ vers /mnt/user_new/files. C'est pour sauvegarder mes fichiers. et supprimez les fichiers d'origine.

J'utilise PHP. forme PHP j'ai essayé

$file = '/var/www/html/bmw/myproject/files/0000000.pdf';
$newfile = '/mnt/user_new/0000000.pdf';

if (!copy($file, $newfile)) {
        echo "failed to copy $file...\n";
} 

Mais je reçois une erreur d'autorisation refusée.

Severity: Warning

Message: copy(/mnt/user_new/0000000.pdf) [function.copy]: failed to open stream: Permission denied

Est-il possible de copier des fichiers de mon serveur Linux vers un partage Windows? J'ai un nom d'utilisateur et un mot de passe pour le partage de fenêtre d'accès, mais je ne sais pas comment l'utiliser ici. Est-il possible de donner un nom d'utilisateur et un mot de passe?.

Pour être honnête, c’est la première fois que je travaille avec Samba, et le partage Windows est créé par l’administrateur réseau. J'ai passé près de 8 heures pour cette copie simple. mais ne pouvait pas faire.

Aidez-moi, s'il vous plaît . Merci d'avance .

1

Ainsi, votre serveur Linux a un partage Windows monté sur un répertoire local, mais vous ne pouvez apparemment pas y écrire. Je suppose que ce partage a été configuré en tant qu'invité, d'où le statut en lecture seule. Veuillez vous référer à la documentation ubuntu sur le partage du montage Windows comme point de départ pour résoudre ce problème de configuration.

Comme solution de rechange pour le moment, je vous suggère d’utiliser la commande smbclient depuis la ligne de commande ou un script Shell pour effectuer vos sauvegardes. Cette commande peut vous aider à trouver le chemin du partage Windows si nécessaire:

$ smbclient -L <hostname>

mais comme je l’ai suggéré dans les commentaires, il serait peut-être plus simple de le rechercher dans un navigateur FS (Gnome, KDE ou même un shell Windows). Ce programme agit plus ou moins comme un client FTP au-dessus des protocoles SMB/CIFS, mais il nécessite des paramètres précis, vous devrez donc vous renseigner. Par exemple, si votre serveur Windows appartient à un domaine Active Directory, vous devrez passer le paramètre -k à smbclient pour le lui faire savoir. Vous devrez également indiquer le nom d'utilisateur et le mot de passe sur la ligne de commande. La page de manuel contient de nombreux autres paramètres, qui pourraient être importants en fonction de votre situation (par exemple, avez-vous besoin de chiffrer la connexion?).

Comme indiqué précédemment, en mode interactif, ce programme fonctionne comme un client FTP. Par conséquent, si vous connaissez les commandes FTP, vous devriez vous sentir à l'aise avec cet outil. Il est également possible de transmettre une séquence d'instructions ftp sur la ligne de commande, ce que vous souhaiterez probablement utiliser pour automatiser les sauvegardes jusqu'à ce que le montage du partage soit résolu.

Enfin, j’ai également mentionné la fonction system php, très utile lorsqu’il est nécessaire d’appeler une commande Shell à partir d’un script php. Encore une fois, tout cela devrait être utilisé comme solution temporaire jusqu'à ce que le partage soit corrigé: vous devrez écrire vos informations d'identification quelque part dans les scripts ou dans un fichier de configuration de fichier accessible à partir de smbclient, , ce qui est une mauvaise pratique . Si possible, vous devriez essayer de faire des sauvegardes manuelles, où vos identifiants seraient fournis de manière interactive.

2
didierc