16,04 владений nobody:nogroup

Кажется, что после обновления до 16,04 у меня постоянно есть проблема с владением папки доли и разрешением.

Я создал имя папки test, изменяет его разрешение на 777, и совместно использованный та папка в локальной сети.

От другой машины (Windows) я могу просмотреть и отредактировать файл на этом test папка, но каждый раз, когда я редактирую что-то на файле в той папке, владении и разрешении, изменяется на nobody:nogroup - и поэтому я не могу отредактировать его снова на моих 16,04 машинах.

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*

Почему это автоматически изменяется на -rwxr--r-- 1 nobody nogroup? Как я могу предотвратить это изменение так, чтобы разрешение всегда было rwxrwxrwx и владение всегда pac:pac (удаление это nobody:nogroup раздражение)?

Я хочу избежать необходимости делать это неоднократно на папке test:

$ sudo chown pac:pac . -R
$ chmod 777 . -R
5
задан 19 January 2017 в 16:15

2 ответа

В случае проблем разрешения с долями Samba хорошо понять, что Samba имеет свою собственную структуру для пользователей, а также полномочия dir и файл. Если Вы создаете долю Samba, и каждый хочет ограничить доступ путем предоставления только определенного пользовательского доступа к той доле Samba, можно было бы обычно создавать пользователей Samba. На командной строке это может быть сделано с командой "smbpasswd". См. больше информации:

man smbpasswd

Для добавления пользователя и полномочий файла/dir к конфигурации Samba можно отредактировать smb.conf файл, расположенный в/etc/samba /

, См. также здесь:

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

и для установки полномочий, посмотрите здесь:

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

После редактирования smb.conf, демоны сервера Samba должны быть перезапущены, или чтение в файла конфигурации должно быть сделано (перезагружают).

В некоторых более старых версиях Ubuntu, можно было перезапустить и smbd и nmbd, но в более новых версиях Ubuntu, может быть перезапущена "init" самба сценария.

sudo service samba restart

В некоторых офисных средах может иметь смысл только делать перезагрузку конфигурации, вместо перезапуска Samba, избегать возможных прерываний для пользователей.

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

Это находится на некоторых более старых релизах Ubuntu. Я принимаю на более новых релизах Ubuntu:

sudo service samba force-reload 

мог бы работать. (Еще не протестировали это).

2
ответ дан 23 November 2019 в 09:31

Это - проблема, касающаяся файла и полномочий каталога при работе с самбой а не 16.04. Я предполагаю, что Вы настраиваете общедоступную долю и не используете логины и отображаете гостевого пользователя самбы на пользователя никто.

Так как все пользователи самбы будут зарегистрированы, поскольку никто, любой сохраненный файл не наследует пользователя никто и группа nogroup.

Ваш файл t1.log это создается гостевым пользователем самбы, имеет полномочия -rwxr--r--, и владелец того файла - никто. Ваш пользователь pac не может изменить его, поскольку это только прочитало разрешение для Других.

Один способ разрешить это состоит в том, чтобы повторно отобразить гостевого пользователя самбы на Вашего пользователя pac.

Удостоверьтесь, что это установлено в Вашем /etc/samba/smb.conf:

guest account = pac

... затем измените владение для всех файлов в Вашей папке доли пользователю pac

sudo chown -R pac:pac /path/to/share

_

Очевидно, это не будет работать в пользовательской среде, где некоторому другому пользователю кроме pac нужен rw доступ также.

Некоторые могут предложить использование create mask = 0777 и directory mask = 0777 в smb.conf для файлов и каталогов, которые будут созданы с-rwxrwxrwx, однако по моему опыту, я нашел, что это довольно ненадежно, когда со временем некоторые файлы все еще заканчивались с некоторыми другими полномочиями так или иначе.

Единственное надежное решение, которое я нашел, состоит в том, чтобы повторно смонтировать каталог доли с bindfs, чтобы всегда вызвать 0777 полномочий.

Во-первых, установка bindfs:

sudo apt install bindfs

Затем создайте systemd сервисный файл:

sudo nano /lib/systemd/system/mount-bindfs.service

Вставьте это в файле:

# 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

Перезагрузите systemd, включите сервис на начальную загрузку и запустите его:

sudo systemctl daemon-reload
sudo systemctl enable mount-bindfs.service
sudo systemctl start mount-bindfs.service

Сделайте a ll на Вашей папке доли и все должно появиться как rwxrwxrwx теперь.

2
ответ дан 23 November 2019 в 09:31

Другие вопросы по тегам:

Похожие вопросы: