Пользователи Windows могут видеть мои общие ресурсы samba и списки папок, но не могут получить к ним доступ

Это зависит от файловой системы. Например, на моем хосте я использую четвертую расширенную файловую систему (ext4), и stat сообщает для файлов следующее:

$ touch foo; stat foo; rm foo
  File: 'foo'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: fc00h/64512d    Inode: 262155      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/   ownerusername)   Gid: ( 1000/   ownerusername)
Access: 2017-06-21 14:28:16.150323827 -0700
Modify: 2017-06-21 14:28:16.150323827 -0700
Change: 2017-06-21 14:28:16.150323827 -0700
 Birth: -

Таким образом, вы можете использовать время последнего изменения, поскольку create time равно что-то вроде неправильного названия.

find /path/to/images -type f -print0 -name \*.jpg | xargs -0 stat -c "%y|%n" | sort | awk -F'|' '{print $2}'

Эта несколько громоздкая конструкция даст вам список файлов, упорядоченных по времени последней модификации (при условии, что у вас нет файлов с | в их именах).

После того, как вы просмотрите этот список, вы можете использовать инструмент Imagemagick convert для сборки PDF:

convert <> outputfile.pdf 

Или сделать все сразу:

convert $(find /path/to/images -type f -print0 -name \*.jpg | xargs -0 stat -c "%y|%n" | sort | awk -F'|' '{print $2}') outputfile.pdf

1
27.05.2017, 22:37
2 ответа

К тому времени, когда вы удалите все строки комментариев (эти начиная с # или ;) осталось совсем немного. В частности нет никаких акций.

sed -e 's/^\s*//' -e '/^[#;]/d' -e '/^$/d' /etc/samba/smb.conf

[global]
usershare path = /var/lib/samba/usershares
usershare max shares = 100
usershare allow guests = yes
usershare owner only = yes
workgroup = WORKGROUP
netbios name = necrostation
server string = Samba Server
map to guest = Bad User
printcap name = /dev/null
load printers = No
disable spoolss = Yes
printing = bsd
log file = /var/log/samba/%m.log
max log size = 50
security = user
name resolve order = wins lmhosts host bcast
wins support = yes
dns proxy = no

Возможно, вы захотите раскомментировать один из закомментированных блоков и создать каталог (mkdir -m777 /home/samba):

[public]
comment = Public stuff
path = /home/samba
public = yes
read only = no
1
27.01.2020, 23:49

В Windows 10 по умолчанию отключен протокол SMB 1.0.

Если ваша версия SAMBA в linux устарела, возможно, она пытается использовать SMBv1 и не знает ничего лучшего, поэтому выполните одно из следующих действий

  • в /etc/samba/smb.confв разделе [global]добавить max protocol=SMB2. Прочтите справочную страницу для max protocolи min protocol. текущий выбор для последних версий SAMBA: SMB1или SMB2или SMB3. Знайте, что SMB3НЕ может быть действительным для более старых версий SAMBA, вы можете распознать это в /var/log/messagesпо такому утверждению, как WARNING: Ignoring invalid value 'SMB3' for parameter 'max protocol'после выполнения /etc/init.d/smb restart, это относится к samba -3.6.3 в СЛЕС 11.4.
  • или найдите инструкцию по включению SMBv1 в Windows 10, что не рекомендуется из соображений безопасности, но может потребоваться в зависимости от того, какие версии Linux и samba вы используете. Это простое устранение неполадок, если ничего не помогает, чтобы общий ресурс linux samba был виден из Windows 10, попробуйте это.
0
27.01.2020, 23:49

Теги

Похожие вопросы