Правильный способ получить список установленных пакетов, соответствующих шаблону?

Ваша основная проблема заключается в том, что ваш USB-накопитель содержит раздел VFAT, который несовместим с правами доступа POSIX (фактически он вообще не поддерживает права доступа, в отличие от NTFS). Таким образом, когда ядро монтирует USB-накопитель в /media/usbadac , оно будет рекурсивно применять права виртуального доступа, определенные в опциях строки /etc/fstab . Эти права доступа становятся неизменяемыми до тех пор, пока вы не демонтируете и не перемонтируете с помощью различных опций.

Таким образом, вам нужно предоставить больше слабых прав доступа, например, вы можете создать группу UNIX под названием sambausers , поместить в эту группу как pi , так и семейство , а затем установить USB-палку с указанной группой и лучшей маской:

groupadd sambausers
usermod -a -G sambausers pi
usermod -a -G sambausers family

sudo mount -t vfat -o uid=pi,gid=sambausers,fmask=0113,dmask=0002 /dev/sda1 /media/usbadac

Я думаю, что вы изменили некоторые настройки при написании ответа, потому что смонтированный USB-накопитель должен иметь права drwxrwxrwx вместо drwx----- с umask = 0000 . Я изменил маски для более точной политики прав доступа (мы различаем файлы и каталоги).

Акции Samba должны работать как есть (при условии, что вы можете вложить акции Samba, я не думаю, что это что-то мешает).

-121--195410-

Проверьте monit service на наличие конфигурации nginx в /etc/monit.d/.

Если это не работает, отправьте данные из /var/log/messages .

-121--243539-

Можно использовать netstat :

# netstat -tlnp | grep httpd
# netstat -tlnp | grep apache
# netstat -tlnp | grep nginx
# netstat -tlnp | grep ...

Затем проверьте наличие строки для каждой версии протокола IP (tcp и tcp6).

#!/bin/bash

ns=$(netstat -tlnp | grep httpd)

if grep 'tcp ' <<< "$ns" >/dev/null; then
    echo "httpd has a listening IPv4 socket."
fi

if grep 'tcp6 ' <<< "$ns" >/dev/null; then
    echo "httpd has a listening IPv6 socket."
fi

Обратите внимание, что для просмотра процессов, принадлежащих корню (например, главного процесса Apache), необходимы права доступа к корню с помощью netstat . Если вы хотите использовать netstat в качестве стандартного пользователя, удалите опцию -p и grep по IP и порту. Например:

$ netstat -tln | grep '0.0.0.0:80'
$ netstat -tln | grep '127.0.0.1:80'
$ netstat -tln | grep '::1:80'

Обратите внимание, что в этом случае вам не нужно grep снова на tcp или tcp6 , поскольку IP-адрес, который вы grep , уже предоставляет искомую информацию. Поиск 127.0.0.1 или 0.0.0.0 зависит от конфигурации веб-сервера.

10
17.12.2017, 23:40
1 ответ

Чтобы "перехватить" искомый термин при выводеgreppingdpkg , необходимо заключить поисковый термин следующим образом. « git » используется в качестве условия поиска образца:

dpkg -l |grep "^ii  git[[:space:]]"

карат(^)ii , за которым следуют (2 )пробела перед искомым термином, не гарантирует ничего ПЕРЕД кроме этой комбинации символов может соответствовать.

Элемент [[:space:]], примыкающий к искомому термину, предотвращает появление частичных совпадений только совпадающими пробелами сразу ПОСЛЕ его.

2
27.01.2020, 20:01

Теги

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