может попробовать swat, а потом посмотреть конфиг который он выплюнет.

Swat у меня давно стоит. Но кроме контекстной помощи и скрытия редко использумых параметров я так и не понял чем он может еще помочь.
sleepycat
замени read only на writable,я тя заклинаю….

Ok,ok. Ничего не изменилось.
sleepycat
запутал ты меня, до этого я думал чтоу самбы своя Бд с юзерами , только для нее родимой. Да есть такая возможность привязать узера оттуда к учетке в системе. (как не помню, но наверняка естьв статьях про настройку самбы в качестве контроллера домена там какогото года(не аналог последнего вынь-сервера =) )).

Если честно, я толком не могу понять момент про пользователей из манов по самбе. Есть что-то в Samba Docs, но так, на уровне примеров, но не в виде “в таком то режиме пользователь должен быть заведен там-то, и т.п.” Т.е., пробуй, ошибайся, делай как другие делают, и рпидет тебе, когда0-нибудь, может быть, просветление… :/
В общем, сделал следующее:

1. Добавил директорию для теста “о трех семерках”. Она полностью расшаренная и принадлежит пользователю nobody:
[/tmp/777share]$ l
итого 1,3M
drwxrwxrwx  2 nobody nobody  220 янв.   6 10:18 ./
drwxrwxrwt 15 root   root    380 янв.   6 10:16 ../
-rwxrwxrwx  1 nobody nobody  26K янв.   6 10:18 10902_b.jpg*
-rwxrwxrwx  1 nobody nobody  37K янв.   6 10:18 2010-11-25.jpg*
-rwxrwxrwx  1 nobody nobody 229K янв.   6 10:18 29.jpg*
...

2. Убедился что в системе есьт пользователь nobody плюс добавил такого же пользователя в Samba (smbpasswd -an nobody);

3. Добавил шару в smb.conf:
[global]
    server string = ZSB Desktop
    map to guest = Bad User
    guest account = nobody
[777share]
    comment = Test share
    path = /tmp/777share
    read only = no
    guest ok = Yes

4. Перезапустил Samba (sudo rc.d restart samba)

5. Потестил с пом. smbclient (под виндой тестить бесполезно – уж очень невнятые она сообщения об ошибках выдает):
$ smbclient \\\\ZSB-HOME\\777share -U%
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.1]
smb: \> dir
  .                                   D        0  Fri Jan  6 10:18:52 2012
  ..                                  D        0  Fri Jan  6 10:23:31 2012
  test_ocr.jpg                        A   117767  Fri Jan  6 10:18:52 2012
  sushi-etiquette.jpg                 A   133004  Fri Jan  6 10:18:52 2012
  student.jpg                         A    52758  Fri Jan  6 10:18:52 2012
  proba-pera.jpg                      A    19940  Fri Jan  6 10:18:52 2012
  Photo-0019а.jpg                    A   363174  Fri Jan  6 10:18:52 2012
  Photo-0018а.jpg                    A   356806  Fri Jan  6 10:18:52 2012
  29.jpg                              A   233479  Fri Jan  6 10:18:52 2012
  2010-11-25.jpg                      A    37569  Fri Jan  6 10:18:52 2012
  10902_b.jpg                         A    25760  Fri Jan  6 10:18:52 2012
                64284 blocks of size 16384. 64200 blocks available
smb: \> get 29.jpg
NT_STATUS_PIPE_BROKEN opening remote file \29.jpg


Resume: как видно – листинг файлов работает, а вот получить файл не удается.
sleepycat
- read only = No
+ writable = yes
Не имеет смысла, т.к. “writeable (S) – Inverted synonym for read only”(man smb.conf).

+ public = yes
“public – This parameter is a synonym for guest ok”(man smb.conf)

+ guest account = nobody
Это дефолтное значение для данного параметра.

+ browseable = yes
Вот тут у меня есть косяк – согласно ману, это share-specific параметр, а у меня он в . Хотя, должен заметить, что с листингами шар и папок в них проблем нет.

Осталось попробовать “три семерки” и добавить самба-юзера.

Вообще, я бы хотел сделать guest account = {мой юзер на linux станции}, чтобы можно было пользоваться уже известными мне привелегиями и не повышать их просто потому что нужно дать доступ к файлам по сети – так можно делать? Вопрос возник потому что я не видел ни одного примера с организацией гостевого доступа, где не использовался бы “nobody” либо специально заведенный для самбы картонный дурилка..
sleepycat
дай в директорию chmod -R 777, если не сработает давай конфиг свой, видимо он не сильно изменисля с прошлого раза ;)

[global]
    workgroup = WORKGROUP
    netbios name = ZSB-HOME
    server string = ZSB Desktop
    security = user
    browseable = yes
    map to guest = Bad User
[tv_shows]
    comment = TV Shows and other
    path = /media/disk
    read only = No
    guest ok = Yes

Да, конфиг изменился не сильно. 777 директории давать не хочу, тем более что, как минимум для чтения, там все и так открыто.


У меня такой вопрос: самба-пользователя (smbpasswd) в каких случаях добавлять надо? В данном случае, предполагается гостевой доступ – значит ли это, что нужно делать “smbpasswd nobody”?


Где вообще можно прочитать про минимально необходимые опции/операции для тех или иных кейсов?


OOPS: забыл сказать что сегодня оменял конфиг под “security = user” и добавил “map to guest = Bad User”. Теперь могу ходить по директориям и с андроида тоже (до этого андроид вообще не пускало, только тотал коммандер на винде). Но файлы так и не открываются.
sleepycat
mityukov
kurych
Для беспарольного гостевого входа ключевые моменты "security = user“ и ”map to guest = Bad User".

Вот тут, однако, “security = SHARE”:
http://smb-conf.ru/absolyutnaya-fajlopomojka.html
ну верно, работает в данном контексте оба варианта, но с user, можно скрестить обсолютную помойку и шары с настроенной авторизацией для проверка доступности чтения/записи. А с share это только елси мне память неизменяет только вседоступная помойка. шаг влево - вправо - растрел =) .

А он не будет спрашивать имяползователя%пароль почем зря при коннекте к серверу (согласно samba docs, “map to guest = Bad User” логинит как гостя, если _отправленный_ username на целевой машине не найден)?

- также, я могу бродить по папкам на этом сетевом диске с пом. Total Commander. Но при попытке открыть какой-либо файл, я получаю сообщение что сетевое подключение недоступно.

копирование с шары/ в шару нормально проходит?

Нет, копирование не работает. Причем, total очен странно реагирует: “Please remove the write protection” (папка, в которую я хочу скопировать из шары точно писабельная).

При копировании НА шару еще интереснее: на шаре создается файл с нулевым размером и тотал тут же спрашивает, хочу ли я его переписать. Если нажать “Overwrite”, то выводится “Please remove the write protection”.
kurych
Для беспарольного гостевого входа ключевые моменты "security = user“ и ”map to guest = Bad User".

Вот тут, однако, “security = SHARE”:
http://smb-conf.ru/absolyutnaya-fajlopomojka.html
Ок. Несколько новых моментов:

1. “auth methods = share” – мой косяк, убрал эту строчку из конфига вообще.

Теперь smbclient видит шары. С виндой же такая ситуация:

- можно подключить сетевой диск с пом. net use, и консоль мне скажет чо все в порядке.

- также, я могу бродить по папкам на этом сетевом диске с пом. Total Commander. Но при попытке открыть какой-либо файл, я получаю сообщение что сетевое подключение недоступно.

- в штатном проводнике Windows 7 я даже зайти на шары не могу (видимо, он сразу проверяет доступность файлов, а не только их списков).


kurych
Для беспарольного гостевого входа ключевые моменты "security = user“ и ”map to guest = Bad User".
Если ограничено время на изучение конфигов, на первое время может помочь утилитка swat, идущая в комплекте к пакету samba. По крайней мере, наглядно и не позволит вставить в конфиг несуществующие параметры.

Спасибо за наводки. Почитаю.

P.S.: я отказался от идеи что-либо от кого-либо защищать не потому что мне совсем плевать на безопасность, но я подумал что для такого кейса уж точно должен быть элементарный рецептик. Однако, все сложнее :/
Задача: наипростейшая шара с rw доступом кому угодно откуда угодно (пока нет времени заморачиваться пользователями, правами, etc.)

Конфиг, вроде, стандартный для такого кейса:
[global]
    workgroup = WORKGROUP
    netbios name = ZSB-HOME
    server string = ZSB Desktop
    security = SHARE
    auth methods = share
    browseable = yes
    log file = /var/log/samba/samba-log.%m
[tv_shows]
    comment = TV Shows and other
    path = /media/disk
    read only = No
    guest ok = Yes

Результат:

$ smbclient -L localhost -U%
WARNING: The security=share option is deprecated
session setup failed: NT_STATUS_LOGON_FAILURE

P.S.: при попытке зайти на этот комп в файловом менеджере на Android (ES File Explorer), получаю сообщение: “Login failure. Try new user name/password?”. С ноута, где Win7 – тоже не могу зайти.

P.P.S.: некоторое врем назад (может пару недель) все работало с похожим конфигом. Потом что-то сломалось без вмешательство в настройки.