Ich habe Zugriff auf ein CIFS-Netzlaufwerk. Wenn ich es unter meinem OSX-Rechner einbinde, kann ich von und auf es lesen und schreiben.
Wenn ich das Laufwerk in Ubuntu mounte, benutze ich:
sudo mount -t cifs -o username=${USER},password=${PASSWORD} //server-address/folder /mount/path/on/ubuntu
Ich kann nicht auf das Netzlaufwerk schreiben, aber ich kann davon lesen. Ich habe die Berechtigungen und den Besitzer des Mount-Ordners überprüft. Sie sehen folgendermaßen aus:
4.0K drwxr-xr-x 4 root root 0 Nov 12 2010 Mounted_folder
Ich kann den Besitzer nicht ändern, da ich den Fehler erhalte:
chown: changing ownership of `/Volumes/Mounted_folder': Not a directory
Wenn ich tiefer in das Netzlaufwerk eintauche und dort den Eigentümer ändere, erhalte ich die Fehlermeldung, dass ich keine Berechtigung habe, den Eigentümer des Ordners zu ändern.
Was kann ich tun, um meine Schreibberechtigung zu aktivieren?
noperm
Mount-Option verwenden, die in meiner Antwort auf diese Frage ähnlich angegeben ist: unix.stackexchange.com/a/375523/16287 . Dadurch erhalten alle Benutzer Lese- und Schreibzugriff auf die CIFS-Bereitstellung.Antworten:
Sie mounten die CIFS-Freigabe als Root (weil Sie sie verwendet haben
sudo
), sodass Sie nicht als normaler Benutzer schreiben können. Wenn Ihre Linux-Distribution und ihr Kernel so aktuell sind, dass Sie die Netzwerkfreigabe als normaler Benutzer bereitstellen können (jedoch unter einem Ordner, dessen Eigentümer der Benutzer ist), verfügen Sie über die erforderlichen Anmeldeinformationen, um Dateien zu schreiben (z. B. den freigegebenen Ordner irgendwo unter Ihrem bereitstellen) Ausgangsverzeichnis, wie zum Beispiel$HOME/netshare/
. Offensichtlich müssten Sie den Ordner erstellen, bevor Sie ihn mounten.Eine Alternative besteht darin, die Benutzer- und Gruppen-ID anzugeben, die die gemountete Netzwerkfreigabe verwenden soll. Auf diese Weise kann dieser bestimmte Benutzer und die potenzielle Gruppe auf die Freigabe schreiben. Fügen Sie die folgenden Optionen für Ihren Mount :
uid=<user>,gid=<group>
und ersetzen<user>
und<group>
jeweils durch Ihre eigene Benutzer- und Standardgruppe, die Sie automatisch mit dem findenid
Befehl.Wenn der Server Besitzinformationen sendet, müssen Sie möglicherweise die Optionen
forceuid
und hinzufügenforcegid
.quelle
domain
.sudo mount -t cifs -o username=${USER},password=${PASSWORD},dom=${DOMAIN}, uid=<user>,gid=<group> //server-address/folder /mount/path/on/ubuntu
Etwa so: Tatsächlich kann die Domain die Option "Benutzername" verwenden, aber denken Sie daran, dass Sie/
anstelle von "`, like
Benutzername = DOMAIN / Benutzer.Name" verwenden müssen.//192.168.1.7/public /colmustang cifs username=<uname>,password=<upassword>,uid=<myUserID> 0 0
username
ist die Remote-Anmeldung zur Authentifizierung. Diesuid
ist die lokale Benutzer-ID, unter der Sie alle Dateien / Ordner ablegen möchten. Der Benutzername ist also von der Benutzer-ID entkoppelt. Der Benutzername ist die Anmeldung des Remotebenutzers, während die Benutzer-ID Ihre lokale Benutzer-ID ist. Beachten Sie, dass dies auch der Fall sein kann, wenn Ihr Server Samba ist und Sie sowohl auf dem Client als auch auf dem Server ein LDAP-Konto oder ein anderes zentrales Konto verwenden :-).Ich habe den folgenden Befehl erfolgreich getestet:
quelle
man mount.cifs