GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Umask für Sshfs-gemountetes Dateisystem festlegen?

Ich habe ein entferntes sshfs-Dateisystem, das auf /mnt/data gemountet ist . Es folgt die relevante Zeile in /etc/fstab :

[email protected]:/var/www/ /mnt/data       fuse.sshfs   rw,noauto,nodev,nosuid,noexec,_netdev,allow_other,default_permissions,uid=martin,gid=martin    0   0

Die Dateien in /var/www/ auf dem entfernten System gehören dem Benutzer www-data , aber ich verwende uid=martin,gid=martin um den Besitz des gemounteten Dateisystems auf uid 1000 abzubilden.

Wenn ich nach /mnt/data/ cd als martin habe ich die richtigen dateiberechtigungen/eigentumsrechte, aber ich muss die umask ändern.

Auf dem entfernten Dateisystem der Benutzer www-data hat umask 0027 . Auf meinem lokalen Dateisystem ist der Benutzer martin hat umask 0077 . Ich möchte die umask 0077 beibehalten auf meine lokalen Dateien, aber verwenden Sie 0027 auf den sshfs gemounteten Dateien (dh alle Dateien in /mnt/data/).

Ist das überhaupt möglich?

Ich habe versucht, ACL-Berechtigungen für das gesamte Verzeichnis im Remote-Dateisystem festzulegen:

setfacl -d -m g::rx  /var/www/
setfacl -d -m o::--- /var/www/

aber dies hat keine Auswirkungen auf die sshfs-gemountete Freigabe.

Akzeptierte Antwort:

sshfs verwendet sftp unter der Haube und der umask für die Erstellung neuer Dateien wird vom entfernten sftp-server gehandhabt . Sie können umask setzen als Argument an den sftp-server in /etc/ssh/sshd_config auf dem Server, wie zum Beispiel

Subsystem sftp /usr/lib/openssh/sftp-server -u 027     # Debian/Ubuntu

oder

Subsystem sftp /usr/libexec/openssh/sftp-server -u 027 # RHEL/Fedora

oder

Subsystem sftp /usr/lib/ssh/sftp-server -u 027         # Arch

Die umask-Einstellungen und die erweiterte ACL werden nicht über das von openssh implementierte SFTP-Protokoll übertragen. Beachten Sie auch, dass es kein „umask“ gibt on files“, sondern umask ist immer mit dem laufenden Prozess verbunden, der die Dateien erstellt.


Linux
  1. Reservierter Speicherplatz für Root auf einem Dateisystem – Warum?

  2. Pseudodateien für temporäre Daten?

  3. Wie setze ich nginx max offene Dateien?

  4. Vi unter Linux:Zeigt ^M-Zeilenenden für Dateien im DOS-Format an

  5. So legen Sie den Pfad für sudo-Befehle fest

ls-Befehl in Linux zum Auflisten von Dateien

Speichern Sie Dateien in einem verschlüsselten Bild

Dropbox für einen Linux Cloud Server eingerichtet

Richten Sie CORS in Cloud Files ein

Wie lege ich einen Standard-Nick für neue irssi-Verbindungen fest?

Dateien mit gesetzten ACLs finden