Ваша основная проблема заключается в том, что ваш 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 зависит от конфигурации веб-сервера.
Чтобы "перехватить" искомый термин при выводеgreppingdpkg , необходимо заключить поисковый термин следующим образом. « git » используется в качестве условия поиска образца:
dpkg -l |grep "^ii git[[:space:]]"
карат(^)ii , за которым следуют (2 )пробела перед искомым термином, не гарантирует ничего ПЕРЕД кроме этой комбинации символов может соответствовать.
Элемент [[:space:]]
, примыкающий к искомому термину, предотвращает появление частичных совпадений только совпадающими пробелами сразу ПОСЛЕ его.