Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Как настроить gvfs (виндовоз шары), чтобы файлы не помечались исполняемыми?  (Прочитано 1527 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 027

  • Автор темы
  • Участник
  • *
  • Сообщений: 122
  • Cinnamon
    • Просмотр профиля
Маны курил.
Пробовал запускать демона так:
/usr/lib/gvfs/gvfsd-fuse /smb -f -d -o big_writes,umask=0111и все на первый взгляд красиво, однако копируемые к себе директории получают права 644 и, естественно, не открываются. Хотя внутри самой шары странным образом все работает.
Если бы было достаточно man bash, не было бы ABS.

Оффлайн thunderamur

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6846
    • Просмотр профиля
027, прямой ответ не знаю, но есть 2 альтернативы:
1. Скрипт на рабочий стол с chmod папки, в которую копируешь из шары.
2. Копировать с целевой шары в свою шару, для которой определить права доступа на создаваемые файлы.

Пользователь добавил сообщение 30 Сентября 2016, 15:29:27:
027, а опции noexec нет для gvfsd-fuse?
В fstab:

Пользователь добавил сообщение 30 Сентября 2016, 15:39:25:
//$ip/$share /media/$user/$share/ cifs guest,uid=$user,iocharset=utf8,file_mode=0666,dir_mode=0777 0 0
« Последнее редактирование: 30 Сентября 2016, 15:39:49 от thunderamur »

Оффлайн 027

  • Автор темы
  • Участник
  • *
  • Сообщений: 122
  • Cinnamon
    • Просмотр профиля
Цитировать
027, а опции noexec нет для gvfsd-fuse?
Да есть, вообще-то. Вернее, есть поддержка generic опций:

Most of the generic mount options described in mount are supported (ro, rw, suid, nosuid, dev, nodev, exec, noexec, atime,  noatime,  sync,  async,  dirsync). Filesystems are mounted with nodev,nosuid by default, which can only be overridden by a privileged user.

Но когда это noexec переписывал права? Он просто запуск блокирует, насколько понимаю. Сами же показываете в примере:
file_mode=0666,dir_mode=0777
Кстати, mount.cifs монтирует с noexec по дефолту, хотя в манах я этого с набегу не нашел. Но все равно приходится писать file_mode=0666,dir_mode=0777, иначе мои файлменеджеры красят файлы зелененьким, а «исполняемые» xls в блевотную желтую зелень.
Цитировать
1. Скрипт на рабочий стол с chmod папки, в которую копируешь из шары.
Это мне совсем неудобно (я его не вижу месяцами, и видеть не хочу), но на мысль натолкнули: попробовать отлавливать копирование на лету через inotify, incon, etc.

Цитировать
2. Копировать с целевой шары в свою шару, для которой определить права доступа на создаваемые файлы.
Э-э... Гм... Что такое «своя шара», и куда она должна вести?

Цитировать
//$ip/$share /media/$user/$share/ cifs guest,uid=$user,iocharset=utf8,file_mode=0666,dir_mode=0777 0 0
Так я и жил пару лет, но с переездом на минт №18 (Ubuntu 16.04 унутре) один сервак (вынь 2003) стал регулярно ломать примонтированную шару, вешая ее насмерть, а заодно все проги, пытающиеся ее прочитать. Ну или самба моя ломает, разобраться не хватает знаний.

Вешалка происходит на уровне ядра, и прибить процессы невозможно (статус D). А когда и вдруг возможно, толку никакого. Следующая же попытка запуска вешает любую прогу столь же надежно. Включая umount.

Бился я с этим долго, все доступные осмыслению опции перепробовал, без толку. Зато заметил внезапно, если шару примонтировать наутилусом, который это делает через gvfs, она не только не вешается, а и ранее повисшие «ядерные» примонтирования почти сразу отвисают. И сама gvfs шара держится молодцом, не зависает.

Однако счастье было недолгим — в смысле «отвисания» зависших шар.

Я потому и попытался перейти на эту гномскую чуду-юду gvfs, но столкнулся с неприятными косяками. Один из них в этом сабже, но есть и другие.

Более-менее все работает, если монтировать врукопашную через гуй наутилусом, но это мне очень неудобно. В частности нельзя создать симлинки на глубоко закопанные подкаталоги — потому что гномцам ударило в голову монтировать по дефолту на /run, а там tmpfs.
 
« Последнее редактирование: 30 Сентября 2016, 20:48:10 от 027 »
Если бы было достаточно man bash, не было бы ABS.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
Вы только учитывайте, что если на документе нет статуса "исполняемый", Windows его не сможет открыть по ассоциации.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн 027

  • Автор темы
  • Участник
  • *
  • Сообщений: 122
  • Cinnamon
    • Просмотр профиля
Я на линксе живу, это шары живут на Windowsх.
(Нажмите, чтобы показать/скрыть)
Цитировать
Вы только учитывайте, что если на документе нет статуса "исполняемый", Windows его не сможет открыть по ассоциации.
Ничего не понял, извините.
Если бы было достаточно man bash, не было бы ABS.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
Я на линксе живу, это шары живут на Windowsх.
Я как-то упустил этот момент. Тогда ответ - никак. Это особенность виндовой файловой системы.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн 027

  • Автор темы
  • Участник
  • *
  • Сообщений: 122
  • Cinnamon
    • Просмотр профиля
Уважаемый, вы когда-нибудь man mount читали? В частности, про dir_mode и file_mode?
При чем тут вообще особенности «виндовой файловой системы»? И что это за неведомая НЕХ?
Если бы было достаточно man bash, не было бы ABS.

Оффлайн thunderamur

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6846
    • Просмотр профиля
027, noexec я предложил т.к. предположил, что тебе нужно, чтобы не запускались.
Далее монтирование в fstab - это ещё вариант, не связанный последовательно с предыдущим.

Что касается п.2, я предложил тебе завести шару на линуксе, в конфиге самбы для этой шары дать опции:
create mask = 0644
directory mask = 0755

После чего копировать с виндовой шары не напрямую в свою ФС, а через шару на линуксе, в этом случае создаваемые файлы будут принимать нужные права доступа, также можно и владельца файлов переопределить.

Оффлайн 027

  • Автор темы
  • Участник
  • *
  • Сообщений: 122
  • Cinnamon
    • Просмотр профиля
Идея понятна, спасибо.
Если бы было достаточно man bash, не было бы ABS.

 

Страница сгенерирована за 0.038 секунд. Запросов: 25.