Что случилось с system-config-samba в 19.04?

Я больше не вижу это приложение? Это простой инструмент, который я всегда использовал для общего обмена файлами в samba. Как мне вернуть его обратно? Альтернативный продукт, который я могу использовать?

wvb @ wvb-ubuntu-dell: ~ $ sudo apt поиск system-config-samba [sudo] пароль для wvb: сортировка ... выполнено полнотекстовый поиск ... выполнено

1
задан 23 April 2019 в 12:56

2 ответа

Он пошел туда, куда уходит все неподдерживаемое программное обеспечение: https://bugs.launchpad.net/ubuntu/+source/system-config-samba/+bug/1740419

Кроме того логика приложения также не обновлялась годами - у нее есть опция (настройка безопасности «поделиться»), которая фактически запрещает запуск самбы. Он должен был быть обновлен или удален несколько лет назад.

Говоря о пакетах, которые должны были быть удалены много лет назад, я вижу, что gadmin-samba все еще находится в хранилище. Я бы предложил не устанавливать его. Это было современное состояние в версии 2 самбы, но теперь, когда мы в версии 4, это на самом деле разрушительно. Если вы запустите его и у вас возникнут проблемы, никто не поможет вам отладить его, потому что никто не помнит, как работает V2 Samba.

Вы можете использовать nautilus-share, которая позволяет вам создать общий ресурс из вашего файлового менеджера или использовать текстовый редактор и напрямую изменить /etc/samba/smb.conf.

0
ответ дан 23 April 2019 в 12:56

TL;DR - я рекомендую научиться просто редактировать файл smb.conf; это не так сложно. Но если вам все равно и вы все равно хотите попробовать, следующие шаги могут помочь. Если вы действительно ленивы и хотите просто попробовать запустить мой скрипт linux-mint - Я НАСТОЯТЕЛЬНО РЕКОМЕНДУЮ СНАЧАЛА СДЕЛАТЬ РЕЗЕРВНУЮ КОПИИ (например, со сдвигом по времени или любой другой полной резервной копией системы, которую вы используете). И чтобы было ясно: я НЕ рекомендую просто запускать скрипты из Интернета вслепую. Я рекомендую использовать мой сценарий в качестве эталона, но я знаю, что есть люди, которые не станут слушать; Обычно я тестирую свой скрипт только на Mint, поэтому особенно в новых версиях Ubuntu могут быть проблемы, с которыми я еще не сталкивался. Если вы найдете его, я не возражаю, если вы отправите сообщение о проблеме на моем github с ошибкой «system-config-samba в Ubuntu xx.xx" и т. д. Я мог бы посмотреть, если у меня будет время, но это также не является для меня приоритетом. По состоянию на 24 мая 2021 года эти шаги были проверены на Ubuntu 21.04 на виртуальной машине, а также отлично работали на LM-20 (база Ubuntu 20.04). Также обратите внимание, что если вы просто скачаете скрипт и попытаетесь запустить его, он выдаст ошибку, так как он имеет некоторые зависимости (инструкции см. в файле README в папке скрипта).

Обновление 2021 мая 24: У меня был отчет на моем github о том, что некоторые из исходных ссылок, которые я разместил в операторах wget, перестали работать Мои сценарии, а также этот пост были обновлены для использования новых ссылок (спасибо примечание здесь пользователя N0rbert ). Установка вручную была протестирована в Virtualbox под управлением Ubuntu 21.04, и я смог установить system-config-samba и запустить ее. См. связанная страница проблемы github для получения более подробной информации Я не рекомендую продолжать использовать system-config-samba bc A) Я рассматриваю python2 как проблему безопасности, поскольку она больше не получает обновлений, Б) он устарел и никогда не предупреждал вас о небезопасных настройках, и В) smb.conf очень хорошо документирован и довольно прост в освоении. Но я понимаю, что у некоторых людей могут быть свои причины, и я здесь не для того, чтобы быть скептиком; так что считайте себя предупрежденными :-)

Для тех, кто хочет запустить system-config-samba под Ubuntu 19/Ubuntu 20/и т. д., есть 4 вещи, которые вам нужно сделать, чтобы заставить его работать как другие обычные программы.

Также имейте в виду, что даже если вы заставите его работать, он потенциально может конфликтовать с некоторыми более новыми вещами (samba3/samba4/и т. д.).Я не видел этого лично, но я держу его только для того, чтобы помочь некоторым пользователям, которые хотят иметь возможность редактировать точки обмена и не слишком хорошо разбираются в текстовых файлах, и я отлично сработал, чтобы заполнить этот прецедент.


1. Его больше нет в центральных репозиториях. Это можно решить, загрузив соответствующие устаревшие файлы deb и установив их вручную. ЕЩЕ РАЗ НАСТОЯТЕЛЬНО РЕКОМЕНДУЕМ СДЕЛАТЬ РЕЗЕРВНУЮ КОПИИ **ПРЕЖДЕ ЧЕМ** ВЫ ПРИМЕНЯЕТЕ ЭТИ ИЗМЕНЕНИЯ

mkdir ~/Downloads/system-config-samba-debs
cd ~/Downloads/system-config-samba-debs

# If on Ubuntu 20.10+, it sounds like you will need some additional
# depends for libcairo2 which was apparently removed in Ubuntu 20.10
# credit here goes to user N0bert for figuring this out on fslint post
wget http://archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi7_3.3-4_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pygobject-2/python-gobject-2_2.28.6-14ubuntu1_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pycairo/python-cairo_1.16.2-2ubuntu2_amd64.deb

# Needed for all versions starting from Ubuntu 19.10
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/p/pygtk/python-gtk2_2.24.0-6_amd64.deb
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/p/pygtk/python-glade2_2.24.0-6_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/libu/libuser/python-libuser_0.62~dfsg-0.1ubuntu2_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/s/system-config-samba/system-config-samba_1.2.63-0ubuntu6_all.deb

# once all deb files are downloaded, to install running the following
# Note I got a couple warnings about:
#   'Failed to preset unit' and
#   'N: Download is performed unsandboxed as root as file'
# I just ignored these; they didn't matter for getting SCS running.
# And if you care about security, why would you install python2 ?!
sudo apt-get install -y ./*.deb

# if it worked, you should be able to find it somewhere on $PATH
which system-config-samba
  /usr/sbin/system-config-samba

2. После установки ошибка libuser.conf не позволит ему запуститься. Это можно решить, просто запустив sudo touch /etc/libuser.conf


3. Приложение требует привилегий root (имеет смысл, поскольку оно редактирует /etc/samba/smb.conf). Ярлык *.desktop по-прежнему использует старую команду gksu, которая была удалена еще в Ubuntu 18. Здесь мы исправим эту команду, так как редактирование ярлыка выполняется быстро и легко, но имейте в виду, что ярлык все еще будет сломан до после вы добавили исключение Polkit на следующем шаге.

Ярлык, который нужно отредактировать, находится по адресу /usr/share/applications/system-config-samba.desktop. Мы заменим строку Exec=gksu system-config-samba на Exec=/usr/bin/pkexec --user root /usr/sbin/system-config-samba

Вы можете сделать это вручную с помощью vim/nano или sed, запустив:

sudo sed -Ei 's|^Exec=.*$|Exec=/usr/bin/pkexec --user root /usr/sbin/system-config-samba|g' /usr/share/applications/system-config-samba.desktop

4. Наконец, вам нужно сделать исключение polkit, чтобы ярлык работал, потому что, как упоминалось ранее, эта программа работает с привилегированным файлом (/etc/samba/smb.conf), а старый метод gksu давно объявлен устаревшим в пользу полкита.Добавление исключения позволяет запускать программу из меню и просто получать графическое приглашение для аутентификации.

Если вы никогда раньше не связывались ни с чем, связанным с polkit,скорее всего, у вас даже не будет файла (он не существует после новой установки).

Во-первых, чтобы проверить наличие каких-либо существующих исключений polkit, вы можете использовать ls или cat и просто проверить файл.

$ cat /usr/share/polkit-1/actions/org.freedesktop.policykit.pkexec.policy
cat: /usr/share/polkit-1/actions/org.freedesktop.policykit.pkexec.policy: No such file or directory

Если вы получили «Нет такого файла или каталога», вы можете просто создать пустой файл и ввести его содержимое (показано ниже). Или вы можете скопировать его из моего репозитория git:

wget -q https://raw.githubusercontent.com/zpangwin/linux-setup-scripts/master/mint-20/deprecated-system-config-samba/usr/share/polkit-1/actions/org.freedesktop.policykit.pkexec.policy

sudo mv org.freedesktop.policykit.pkexec.policy /usr/share/polkit-1/actions/org.freedesktop.policykit.pkexec.policy

Независимо от того, скопировали ли вы мой или создали новый, убедитесь, что ваши разрешения и права собственности установлены правильно:

sudo chown root:root /usr/share/polkit-1/actions/org.freedesktop.policykit.pkexec.policy;
sudo chmod 644 /usr/share/polkit-1/actions/org.freedesktop.policykit.pkexec.policy;

Если у вас были существующие определения , вы должны иметь возможность редактировать XML. Так как это не относится к большинству пользователей, вы будете самостоятельно изучать его, но следующие несколько предложений должны быть понятны большинству людей. Начните с создания резервной копии с помощью sudo cp -a /usr/share/polkit-1/actions/org.freedesktop.policykit.pkexec.policy /usr/share/polkit-1/actions/org.freedesktop.policykit. pkexec.policy.bak. Затем вам нужно будет вручную отредактировать файл как root, чтобы избежать перезаписи существующих определений polkit. Если вы не знаете, как это сделать, это должно быть намеком на то, что установка устаревшего пакета не была мудрым решением (но восстановление из временного сдвига несложно... вы же сделали эту резервную копию, верно?). В любом случае, вы можете скопировать часть моего образца текста ниже, но только из в (включая открывающие/закрывающие теги действий). Затем вставьте это в свой файл между последним существующим определением и перед .

ОБРАЗЕЦ ФАЙЛА POLKIT (org.freedesktop.policykit.pkexec.policy):

<!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
  <action id="org.freedesktop.policykit.pkexec.run-system-config-samba">
    <description>Run Samba Config</description>
    <message>Authentication is required to run Samba Config</message>
    <icon_name>system-config-samba</icon_name>
    <defaults>
      <allow_any>no</allow_any>
      <allow_inactive>no</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/system-config-samba</annotate>
    <annotate key="org.freedesktop.policykit.exec.allow_gui">TRUE</annotate>
  </action>
</policyconfig>
0
ответ дан 7 July 2020 в 02:33

Другие вопросы по тегам:

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