Доброго времени суток!
Обнаружил ошибку в samba, которая не дает мне пустить народ на сервер.
С английским я знаком слабо.(Написать письмо не смогу).
Проанализируйте пожалуйста содержимое и может кто-то напишет баг-репорт.
Думаю и в предыдущих версиях проблема тоже будет наблюдаться.root@nas:/md0/samba/projects# uname -a
Linux nas 2.6.27.39-nas #21 Wed Nov 11 15:14:04 MSK 2009 i686 GNU/Linux
root@nas:/etc# cat issue
Debian GNU/Linux squeeze/sid
Есть следующая структура каталогов.
[/]
+- md0
| +- samba
| | +- linux
| | +- projects
| | ...
| | +- Видео
| | +- Литература
| | +- Музыка
| | +- Электроника
| |
Конфиг samba. Только ключевые вещи.
[global]
hide unreadable = yes
...
[data]
path = /md0/samba
browsable = yes
writable = yes
vfs objects = recycle
recycle:repository = recycle
recycle:keeptree = yes
recycle:versions = yes
recycle:touch = yes
valid users = @DOMAIN\"Пользователи домена"
force group = sambashare
Все работает почти нормально.
Проблема:
При подключении к data пользователь user1 видит все каталоги, т.к. является
их владельцем. При подключении пользователя user2, права которого согласно
acl позволяют читать каталог [Видео] и несколько других каталогов, не видит их,
но если сделать cd, то он туда заходит и все дальше видит.
У каталога Видео нет флага w, и из-за этого он считается самбой за нечитабельным.
root@nas:/md0# ls
backups samba
root@nas:/md0# ls -l samba
root@nas:/md0# ls -l
drwxr-x--- 2 root root 112 1 17:29 backups
drwxrwx---+ 11 root root 312 12 13:13 samba
root@nas:/md0# getfacl samba
# file: samba
# owner: root
# group: root
user::rwx
user:rtorrent:r-x
group::---
group:пользователи\040домена:r-x
group:gnasadmins:rwx
mask::rwx
other::---
root@nas:/md0# cd samba
root@nas:/md0/samba# ls -l
итого 5
drwx------ 7 user1 sambashare 176 Ноя 12 10:55 linux
drwxrwx---+ 18 user1 sambashare 608 Ноя 12 16:48 projects
drwx------+ 3 user1 sambashare 72 Ноя 12 16:47 recycle
drwxrwx---+ 63 user1 sambashare 2808 Ноя 12 10:22 software
drwxrwx---+ 6 rtorrent rtorrent 152 Ноя 12 09:11 torrent
drwxrwx---+ 3 user1 sambashare 2104 Ноя 12 12:04 Видео
drwxrwx---+ 9 user1 sambashare 304 Ноя 12 10:53 Литература
drwxrwx---+ 2 user1 sambashare 48 Ноя 12 07:59 Музыка
drwxrwx---+ 11 user1 sambashare 392 Ноя 12 08:56 Электроника
root@nas:/md0/samba#
root@nas:/md0/samba# getfacl Видео Электроника
# file: Видео
# owner: user1
# group: sambashare
user::rwx
group::---
group:пользователи\040домена:r-x
mask::rwx
other::---
default:user::rwx
default:group::---
default:other::---
# file: Электроника
# owner: user1
# group: sambashare
user::rwx
group::---
group:gelectronic:rwx
mask::rwx
other::---
default:user::rwx
default:group::---
default:group:gelectronic:rwx
default:mask::rwx
default:other::---
root@nas:/md0/samba# id user1
uid=1000(user1) gid=1000(user1) группы=1000(user1),10004(пользователи домена),10016(администраторы домена),10059(gnasadmins),10014(gelectronic),10008(BUILTIN\users),10007(BUILTIN\administrators)
root@nas:/md0/samba# id user2
uid=10001(user2) gid=10004(пользователи домена) группы=10004(пользователи домена),10059(gnasadmins),10014(gelectronic),10008(BUILTIN\users)
root@nas:/md0/samba# smbclient -Uuser1 \\\\192.168.71.13\data
Enter user1's password:
Domain=[DOMAIN] OS=[Unix] Server=[Samba 3.4.2]
smb: \> ls
. D 0 Thu Nov 12 13:13:01 2009
.. D 0 Thu Nov 12 12:27:44 2009
software D 0 Thu Nov 12 10:22:48 2009
recycle D 0 Thu Nov 12 16:47:03 2009
linux D 0 Thu Nov 12 10:55:45 2009
Музыка D 0 Thu Nov 12 07:59:26 2009
Видео D 0 Thu Nov 12 12:04:33 2009
torrent D 0 Thu Nov 12 09:11:50 2009
Литература D 0 Thu Nov 12 10:53:14 2009
Электроника D 0 Thu Nov 12 08:56:39 2009
projects D 0 Thu Nov 12 16:48:07 2009
44711 blocks of size 33553920. 36854 blocks available
smb: \> quit
root@nas:/md0/samba#
... Пользователь видит все каталоги
root@nas:/md0/samba# smbclient -Uuser2 \\\\192.168.71.13\\data
Enter user2's password:
Domain=[DOMAIN] OS=[Unix] Server=[Samba 3.4.2]
smb: \> ls
. D 0 Thu Nov 12 13:13:01 2009
.. D 0 Thu Nov 12 12:27:44 2009
software D 0 Thu Nov 12 10:22:48 2009
torrent D 0 Thu Nov 12 09:11:50 2009
Электроника D 0 Thu Nov 12 08:56:39 2009
projects D 0 Thu Nov 12 16:48:07 2009
44711 blocks of size 33553920. 36854 blocks available
Видно не все, но зайти можно.
smb: \> cd Видео
smb: \\> ls
. D 0 Thu Nov 12 12:04:33 2009
.. D 0 Thu Nov 12 13:13:01 2009
Still life.avi 65004990 Thu Oct 29 22:08:39 2009
Brayan Adams - I do it for You.avi 76568576 Thu Oct 29 22:08:31 2009
44711 blocks of size 33553920. 36854 blocks available
smb: \\> quit
root@nas:/md0/samba#
Вот что samba пишет в логи:
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:3347(posix_get_nt_acl)
posix_get_nt_acl: called for file .//Видео
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:2498(canonicalise_acl)
canonicalise_acl: Access ace entries before arrange :
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:2511(canonicalise_acl)
canon_ace index 0. Type = allow SID = S-1-1-0 other SMB_ACL_OTHER ace_flags = 0x0 perms ---
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:2511(canonicalise_acl)
canon_ace index 1. Type = allow SID = S-1-5-21-1701787264-3151614174-2072985285-513 gid 10004 (пользователи домена) SMB_ACL_GROUP ace_flags = 0x0 perms r-x
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:2511(canonicalise_acl)
canon_ace index 2. Type = allow SID = S-1-22-2-104 gid 104 (sambashare) SMB_ACL_GROUP_OBJ ace_flags = 0x0 perms ---
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:2511(canonicalise_acl)
canon_ace index 3. Type = allow SID = S-1-5-21-1701787264-3151614174-2072985285-1108 uid 10002 (user1) SMB_ACL_USER_OBJ ace_flags = 0x0 perms rwx
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:817(print_canon_ace_list)
print_canon_ace_list: canonicalise_acl: ace entries after arrange
canon_ace index 0. Type = allow SID = S-1-5-21-1701787264-3151614174-2072985285-1108 uid 10002 (user1) SMB_ACL_USER_OBJ ace_flags = 0x0 perms rwx
canon_ace index 1. Type = allow SID = S-1-22-2-104 gid 104 (sambashare) SMB_ACL_GROUP_OBJ ace_flags = 0x0 perms ---
canon_ace index 2. Type = allow SID = S-1-5-21-1701787264-3151614174-2072985285-513 gid 10004 (пользователи домена) SMB_ACL_GROUP ace_flags = 0x0 perms r-x
canon_ace index 3. Type = allow SID = S-1-1-0 other SMB_ACL_OTHER ace_flags = 0x0 perms ---
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:2498(canonicalise_acl)
canonicalise_acl: Default ace entries before arrange :
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:2511(canonicalise_acl)
canon_ace index 0. Type = allow SID = S-1-1-0 other SMB_ACL_OTHER ace_flags = 0x0 perms ---
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:2511(canonicalise_acl)
canon_ace index 1. Type = allow SID = S-1-3-1 gid 104 (sambashare) SMB_ACL_GROUP_OBJ ace_flags = 0x0 perms ---
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:2511(canonicalise_acl)
canon_ace index 2. Type = allow SID = S-1-3-0 uid 10002 (user1) SMB_ACL_USER_OBJ ace_flags = 0x0 perms rwx
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:817(print_canon_ace_list)
print_canon_ace_list: canonicalise_acl: ace entries after arrange
canon_ace index 0. Type = allow SID = S-1-3-0 uid 10002 (user1) SMB_ACL_USER_OBJ ace_flags = 0x0 perms rwx
canon_ace index 1. Type = allow SID = S-1-3-1 gid 104 (sambashare) SMB_ACL_GROUP_OBJ ace_flags = 0x0 perms ---
canon_ace index 2. Type = allow SID = S-1-1-0 other SMB_ACL_OTHER ace_flags = 0x0 perms ---
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:1092(map_canon_ace_perms)
map_canon_ace_perms: Mapped (UNIX) 1c0 to (NT) 1f01ff
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:1092(map_canon_ace_perms)
map_canon_ace_perms: Mapped (UNIX) 0 to (NT) 0
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:1092(map_canon_ace_perms)
map_canon_ace_perms: Mapped (UNIX) 140 to (NT) 1200a9
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:1092(map_canon_ace_perms)
map_canon_ace_perms: Mapped (UNIX) 0 to (NT) 0
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:1092(map_canon_ace_perms)
map_canon_ace_perms: Mapped (UNIX) 1c0 to (NT) 1f01ff
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:1092(map_canon_ace_perms)
map_canon_ace_perms: Mapped (UNIX) 0 to (NT) 0
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:1092(map_canon_ace_perms)
map_canon_ace_perms: Mapped (UNIX) 0 to (NT) 0
[2009/11/12 20:46:20, 10] smbd/posix_acls.c:2969(merge_default_aces)
merge_default_aces: Merging zero access ACE 3 onto ACE 6.
[2009/11/12 20:46:20, 10] smbd/dir.c:1071(is_visible_file)
is_visible_file: file .//Видео is unreadable.
Расковырять самостоятельно почему не работает я скорее всего не смогу.
Надеюсь, что вы подскажете какое-то решение.
С уважением, Алексей.