LINUX.ORG.RU
решено ФорумAdmin

smbd smbclient

 


0

1

Добрый день форумчане.

Решаю следующую задачу:

На сервере (RedHat) запущен samba сервер, настроена сетевая папка, дан гостевой доступ, без пароля. Все открывается, все работает.

В одну из папок периодически скидывают обновления для программы, вида: s11_xxxx.tar.

Т.е. папка имеет много файлов вида s11_xxxx.tar, мне соответственно нужно скачать последний новый.
Вопрос, как можно выдернуть список файлов в директории, без монтирования папки для последующей обработки имени в bash скрипте.

Если без монтирования не обойтись, можно ли смонтировать директорию без root прав?

Для монтирования нужны права root.

Вы можете добавить пользователя, от имени которого выполняется ваш скрипт в sudo`еры. И либо разрешить ему выполнять все команды от имени root, либо разрешить вызов mount.cifs от имени root без пароля.

anonymous ()
Ответ на: комментарий от andrey7690

smbclient может выдернуть файл, но не может получить список файлов в папке. Если я не ошибаюсь.

ls работает

echo 'ls *.hex' | smbclient //gw0.local/common -N 2>/dev/zero 
  611R034B.hex                        N 12972000  Fri Feb 12 00:00:00 2016
  613B054.hex                         N 12852960  Mon Oct 15 23:45:00 2018
  612B029.hex                         N 14041312  Wed May 17 00:00:00 2017

                33027961 blocks of size 4096. 1598358 blocks available
сортировать по дате будет не просто

У меня где-то используется модуль на перле для подключения к самбе. Там вообще никаких проблем нет.

vel ★★★★★ ()

Вопрос, как можно выдернуть список файлов в директории, без монтирования папки для последующей обработки имени в bash скрипте

Попробуй так:

smbclient //example.com/drive_t -c 'cd Backup/; dir'

alx777 ()
Ответ на: комментарий от andrey7690

Добавил в sudo возможность монтирования для группы sudo без ввода пароля.

Сделал скрипт:

#!/bin/bash

sudo mount -t cifs -o user=guest,pass= //10.4.31.5/public/samnix /media/$USER/
FILE=$(ls /media/$USER/ -t | head -1)
cp /media/$USER/${FILE} /home/$USER/
unzip /home/$USER/${FILE} -d /home/$USER/opt/samson/s11/lin2611/
sudo umount /media/andrew/

Всем спасибо за помощь.

andrey7690 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.