it-swarm.com.de

16.04 Eigentum niemand: Nogroup

Es scheint, dass ich nach dem Upgrade auf 16.04 ständig Probleme mit dem Besitz und der Berechtigung von Freigabeordnern habe.

Ich habe einen Ordnernamen test erstellt, seine Berechtigung in 777 geändert und diesen Ordner im lokalen Netzwerk freigegeben.

Auf einem anderen Computer (Windows) kann ich die Datei in diesem test -Ordner anzeigen und bearbeiten. Wenn ich jedoch etwas in einer Datei in diesem Ordner bearbeite, ändern sich Besitz und Berechtigung in nobody: nogroup - und daher kann ich sie nicht bearbeiten wieder auf meinem 16.04 Rechner.

test$ ll
total 328
drwxrwxrwx 2 pac   pac      4096 Jan 20 09:59 ./
drwxrwxrwx 4 pac   pac      4096 Jan 20 09:32 ../
**-rwxr--r-- 1 nobody nogroup** 326442 Jan 20 09:59 t1.log*

Warum wechselt es automatisch zu -rwxr--r-- 1 nobody nogroup? Wie kann ich diese Änderung verhindern, sodass die Berechtigung immer rwxrwxrwx ist und das Eigentum immer pac:pac ist (Entfernen dieses nobody:nogroup-Ärgers)?

Ich möchte vermeiden, dass dies wiederholt für den Ordner test ausgeführt werden muss:

$ Sudo chown pac:pac . -R
$ chmod 777 . -R
5
artm

Bei Berechtigungsproblemen mit Samba-Freigaben ist zu beachten, dass Samba eine eigene Struktur für Benutzer sowie Datei- und Verzeichnisberechtigungen hat. Wenn man eine Samba-Freigabe erstellt und den Zugriff einschränken möchte, indem nur bestimmten Benutzern Zugriff auf diese Samba-Freigabe gewährt wird, werden normalerweise Samba-Benutzer erstellt. In der Kommandozeile kann dies mit dem Kommando "smbpasswd" erfolgen. Weitere Informationen finden Sie unter:

man smbpasswd

Um der Samba-Konfiguration Benutzer- und Datei-/Verzeichnisberechtigungen hinzuzufügen, können Sie die Datei smb.conf in/etc/samba/bearbeiten.

Siehe auch hier:

https://help.ubuntu.com/community/Samba/SambaServerGuide#Samba_Server_Configuration_in_terminal

informationen zum Festlegen von Berechtigungen finden Sie hier:

https://help.ubuntu.com/community/Samba/SambaServerGuide#File_Sharing_.28Advanced.29

Nach der Bearbeitung von smb.conf müssen die Samba-Server-Daemons neu gestartet oder die Konfigurationsdatei eingelesen werden (reload).

In einigen älteren Ubuntu-Versionen konnte man sowohl smbd als auch nmbd neu starten, aber in neueren Ubuntu-Versionen kann das "init" -Skript Samba neu gestartet werden.

Sudo service samba restart

In einigen Büroumgebungen kann es sinnvoll sein, statt eines Samba-Neustarts nur ein Konfigurationsneuladen durchzuführen, um mögliche Unterbrechungen für die Benutzer zu vermeiden.

/etc/init.d/nmbd force-reload && /etc/init.d/smbd force-reload

Dies ist bei einigen älteren Ubuntu-Versionen der Fall. Ich gehe von neueren Ubuntu-Releases aus:

Sudo service samba force-reload 

könnte funktionieren. (Hab das noch nicht getestet).

2
albert j

Dies ist ein Problem, das sich auf Datei- und Verzeichnisberechtigungen bezieht, wenn Sie mit Samba und nicht mit 16.04 arbeiten. Ich gehe davon aus, dass Sie eine öffentliche Freigabe einrichten und keine Anmeldungen verwenden und den Samba-Gastbenutzer dem Benutzer nobody zuordnen.

Da alle Samba-Benutzer als nobody angemeldet sind, erbt jede gespeicherte Datei den Benutzer nobody und Gruppengruppe .

Ihre Datei _t1.log_, die vom Samba-Gastbenutzer erstellt wurde, verfügt über die Berechtigungen -rwxr--r--, und der Eigentümer dieser Datei ist nobody. Ihr Benutzer pac kann es nicht ändern, da er nur Leserechte für Andere hat.

Eine Möglichkeit, dies zu beheben, besteht darin, den Samba-Gastbenutzer Ihrem Benutzer pac neu zuzuordnen.

Stellen Sie sicher, dass dies in Ihrem _/etc/samba/smb.conf_ festgelegt ist:

_guest account = pac
_

... dann ändern Sie den Besitz für alle Dateien in Ihrem Freigabeordner in Benutzer pac

_Sudo chown -R pac:pac /path/to/share
_

_

Offensichtlich funktioniert dies nicht in einer Mehrbenutzerumgebung, in der ein anderer Benutzer als pac ebenfalls rw-Zugriff benötigt.

Einige schlagen möglicherweise die Verwendung von _create mask = 0777_ und _directory mask = 0777_ in smb.conf für Dateien und Verzeichnisse vor, die mit -rwxrwxrwx erstellt werden sollen. Ich habe jedoch festgestellt, dass dies im Laufe der Zeit ziemlich unzuverlässig war, wie bei einigen Dateien trotzdem mit einigen anderen Berechtigungen gelandet.

Die einzige zuverlässige Lösung, die ich gefunden habe, besteht darin, das Freigabeverzeichnis mit bindfs erneut bereitzustellen, um immer die 0777-Berechtigungen zu erzwingen.

Installieren Sie zuerst bindfs:

_Sudo apt install bindfs
_

Erstellen Sie dann eine systemd-Servicedatei:

_Sudo nano /lib/systemd/system/mount-bindfs.service
_

Fügen Sie dies in die Datei ein:

_# mount-bindfs systemd service file

[Unit]
Description=Remount directories with different permission
After=mountall.service

[Service]
Type=forking
ExecStart=/bin/sh -c "/usr/bin/bindfs -o perms=0777 /path/to/share /path/to/share"

[Install]
WantedBy=multi-user.target
_

Laden Sie systemd neu, aktivieren Sie den Dienst beim Booten und starten Sie ihn:

_Sudo systemctl daemon-reload
Sudo systemctl enable mount-bindfs.service
Sudo systemctl start mount-bindfs.service
_

Führen Sie in Ihrem Freigabeordner ein ll aus, und alles sollte jetzt als rwxrwxrwx angezeigt werden.

2
loongyh