редактировать: ЭТО БЫЛ ЧЕРТ СЕЛИНУКС. echo 0 >/selinux/enforce
и это работает.
редактировать: Основываясь на том факте, что я не могу просматривать файлы в каталоге, даже если они рекурсивно настроены на ugo + rwx (см. Правки внизу этого сообщения), я подозреваю, что проблема более фундаментальная, чем установленный общий ресурс.
В моей конфигурации samba есть следующие настройки общего ресурса:
[test]
path = /mnt/
guest ok = yes
writeable = yes
browseable = yes
Папка / mnt имеет следующие разрешения:
[root@[host-redacted] mnt]# ls -al /mnt
total 16
drwxr-xr-x. 4 root root 4096 Mar 3 00:54 .
dr-xr-xr-x. 25 root root 4096 Feb 25 19:04 ..
drwxr-xr-x. 2 root root 4096 Feb 26 21:45 files
drwxr-xr-x. 2 root root 4096 Mar 3 00:54 tmp
На данный момент к этим папкам ничего не подключено. Когда я пытаюсь получить к нему доступ через самбу, он работает нормально:
[root@[host-redacted] mnt]# smbclient -Uguest //[host-redacted]/test
Enter guest's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.10-125.el6]
smb: \> ls
. D 0 Sun Mar 3 00:54:52 2013
.. DR 0 Mon Feb 25 19:04:02 2013
tmp D 0 Sun Mar 3 00:54:52 2013
files D 0 Tue Feb 26 21:45:55 2013
50396 blocks of size 1048576. 46487 blocks available
smb: \> cd files
smb: \files\> ls
. D 0 Tue Feb 26 21:45:55 2013
.. D 0 Sun Mar 3 00:54:52 2013
50396 blocks of size 1048576. 46487 blocks available
Однако после того, как я монтирую зашифрованный общий ресурс, все идет наперекосяк. Я монтирую его и проверяю, что права и права собственности идентичны:
[root@[host-redacted] mnt]# mount /dev/mapper/[encrypted-partition-redacted] files
[root@[host-redacted] mnt]# ls -al /mnt/
total 16
drwxr-xr-x. 4 root root 4096 Mar 3 00:54 .
dr-xr-xr-x. 25 root root 4096 Feb 25 19:04 ..
drwxr-xr-x. 13 root root 4096 Jul 6 2012 files
drwxr-xr-x. 2 root root 4096 Mar 3 00:54 tmp
Но теперь, когда я получаю доступ к общему ресурсу, каталог файлов исчез:
[root@[host-redacted] ~]# smbclient -Uguest //[host-redacted]/test
Enter guest's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.10-125.el6]
smb: \> ls
. D 0 Sun Mar 3 00:54:52 2013
.. DR 0 Mon Feb 25 19:04:02 2013
tmp D 0 Sun Mar 3 00:54:52 2013
50396 blocks of size 1048576. 46487 blocks available
Я быстро проверил, может ли мой гостевой пользователь (никто) читать / mnt, и все в порядке:
[root@[host-redacted] mnt]# sudo -u nobody ls /mnt
files tmp
Может кто-нибудь объяснить, что происходит? Моя конфигурация samba была скопирована с предыдущей машины, на которой запущена samba 3.3, во многом с той же установкой, и эта новая установка работает с той же конфигурацией (файлы скопированы), но с samba 3.5.10-125.el6
.
Я также проверил журнал изменений и не вижу ничего особенного.
редактировать: У меня нет директивы вето файлов в моем smb.conf:
[root@pmfs mnt]# grep -i veto /etc/samba/smb.conf
edit2: Когда каталог не смонтирован, я могу записать компакт-диск в файлы - ТЕМ НЕ МЕНИЕ Я не вижу созданный мной файл
[root@pmfs samba]# echo asdf > /mnt/files/test.txt
[root@pmfs files]# chmod -R ugo+rwx /mnt/files/
[root@pmfs ~]# smbclient -Uguest //pmfs/test
Enter guest's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.10-125.el6]
smb: \> ls
. D 0 Sun Mar 3 00:54:52 2013
.. DR 0 Mon Feb 25 19:04:02 2013
tmp D 0 Sun Mar 3 00:54:52 2013
files D 0 Mon Mar 4 20:05:45 2013
50396 blocks of size 1048576. 46486 blocks available
smb: \> cd files
smb: \files\> ls
. D 0 Mon Mar 4 20:05:45 2013
.. D 0 Sun Mar 3 00:54:52 2013
50396 blocks of size 1048576. 46486 blocks available
Помимо решения этой конкретной проблемы, мне было бы интересно узнать, есть ли что-нибудь еще, что я должен сделать для устранения этой проблемы - поскольку я часто боролся с настройкой самбы, мне всегда интересно узнать, как лучше улучшить процесс устранения неполадок
ЭТО БЫЛ УБИВАЮЩИЙ SELINUX. echo 0> / selinux / enforce, и он работает.
Вместо того, чтобы просто отключать SELinux для всего (echo 0> / selinux / enforce), просто настройте SElinux, чтобы разрешить доступ samba
chcon -R -t samba_share_t /mnt/files
который предоставит доступ самбе. Затем вы можете использовать
semanage fcontext -a -t samba_share_t "/mnt/files"
чтобы гарантировать, что последующее восстановление не исправит это.