Вопрос или проблема
У меня есть две samba-общие папки в Kubuntu 24.04: одна на ext4, другая на NTFS-разделе.
Я хочу получить к ним доступ с Android. Там VLC может видеть и получать к ним доступ, просматривать файлы и воспроизводить медиа. Но ни один файловый менеджер не может. Некоторые могут показывать верхние директории и папки, но не файлы, а некоторые также говорят “Доступ запрещен”.
Проблема, похоже, связана с правами доступа.
Я вижу это в состоянии Samba:
- для одной на ext4 разделе:
- для одной на NTFS разделе:
/etc/samba/smb.conf содержит следующие строки:
; write list = root, @lpadmin
[DEPO-VIDEO]
path = /home/cip/Mounted/Samba/DEPO-VIDEO
available = yes
valid users = cip
read only = no
browseable = yes
public = yes
[Ntfs-Depo-VIDEOOO]
path = /home/cip/Mounted/Samba/Ntfs-Depo-VIDEOOO
available = yes
valid users = cip
read only = no
browseable = yes
public = yes
Видимо, chmod нельзя использовать:
chmod -v 751 /media/cip
chmod: changing permissions of '/media/cip': Operation not permitted
failed to change mode of '/media/cip' from 0750 (rwxr-x---) to 0751 (rwxr-x--x)
Ответ или решение
Ваша проблема заключается в том, что доступ к Samba-общим папкам на Android возможен только через VLC, а другие файловые менеджеры не могут эффективно отображать их содержимое. Давайте рассмотрим основные аспекты данной ситуации и предложим возможные решения.
1. Проектирование и конфигурация Samba
Вы правильно настраивали Samba, однако давайте ещё раз взглянем на конфигурацию вашего smb.conf
. Убедитесь, что у вас заданы правильные параметры доступа:
[DEPO-VIDEO]
path = /home/cip/Mounted/Samba/DEPO-VIDEO
available = yes
valid users = cip
read only = no
browseable = yes
public = yes
[Ntfs-Depo-VIDEOOO]
path = /home/cip/Mounted/Samba/Ntfs-Depo-VIDEOOO
available = yes
valid users = cip
read only = no
browseable = yes
public = yes
Ваша конфигурация выглядит корректно для обеспечения доступа к Общим папкам. Однако, для обеспечения доступа другим приложениями, возможно, потребуется добавить ещё несколько опций.
2. Параметры доступа в Samba
- public = yes: значит, что доступ к папке может быть предоставлен всем, но это не гарантирует, что пользователи могут видеть файлы, если права на уровне файловой системы настроены неправильно.
- valid users = cip: требуется логин
cip
для доступа. Если вы хотите, чтобы другие пользователи (например, без аутентификации) могли получить доступ, используйтеguest ok = yes
.
3. Разрешения на уровне файловой системы
Обратите внимание, что Samba использует настройки локальной файловой системы. Так как вы упомянули, что не можете изменить права с помощью chmod
, это может указывать на то, что вы применяете его к точке монтирования NTFS, которая не поддерживает Unix-совместимые разрешения.
Для NTFS вы можете попробовать переопределить разрешения с помощью параметров монтирования. Возможно, у вас уже есть монтирование с опцией uid
и gid
, но если нет, добавьте следующие параметры в /etc/fstab
:
UUID=ваш_UUID /media/cip ntfs defaults,uid=1000,gid=1000,umask=007 0 0
Замените ваш_UUID
на соответствующий идентификатор, который можно получить с помощью blkid
.
4. Перезапуск службы Samba
После внесения всех изменений в конфигурацию Samba и /etc/fstab
, не забудьте перезапустить службу Samba:
sudo systemctl restart smbd
sudo systemctl restart nmbd
5. Тестирование доступа с Android
Теперь попробуйте снова получить доступ к вашим Samba-общим папкам с Android через файловые менеджеры. Используйте такие приложения, как ES File Explorer или Solid Explorer, которые поддерживают Samba.
Если проблема сохраняется, проверьте файл журнала Samba для выявления возможных неудачных попыток доступа. Журнал можно найти по следующему пути:
/var/log/samba/log.smbd
Заключение
Данная ситуация часто связана с неправильной конфигурацией разрешений как на стороне Samba, так и на уровне файловой системы. Убедитесь, что права и параметры корректно настроены, и используйте подходящие приложения для доступа с Android. Надеюсь, это поможет вам решить возникшие трудности.