Не может отредактировать crontab как не пользователь root

Вы по всей вероятности делаете его неправильно. Ваш маршрутизатор не может предотвратить 10.0.1.50 от того, чтобы говорить с остальной частью 10.0.1.0/24 подсеть, потому что они находятся в той же подсети. Пакет от 10.0.1.50 к другому хосту в этой подсети не пройдет через маршрутизатор, таким образом, Вы не можете отфильтровать его.

То, что необходимо сделать, должно настроить отдельную подсеть, скажем, например, 192.168.0.0/24 и помещенный 10.0.1.50 в ту подсеть, например, с новым IP 192.168.0.50. Затем подключите эту подсеть к отдельному интерфейсу Вашего маршрутизатора и настройте этот интерфейс к IP как 192.168.0.1. Затем можно настроить правила маршрутизации, как желаемый:

  • Позвольте установленные и связанные соединения
  • Позволить 10.0.1.0/24 соединяться с Интернетом
  • Позволить 192.168.0.0/24 соединяться с Интернетом
  • Позвольте соединения от 10.0.1.0/24 кому: 192.168.0.50:80
  • Отклоните все остальное
3
03.08.2014, 23:27
2 ответа
$ ls -l /usr/bin/crontab
-rwsr-xr-x 1 корневой 36K Июль 3 июля 2012 /usr/bin/crontab

Собственность и разрешение должны быть

-rwxr-sr-x 1 root crontab 35880 Jul  3  2012 /usr/bin/crontab

Так как Debian sarge, crontab является setgid crontab, а не setuid root, как запрошено в bug #18333.

Это и есть причина вашей проблемы: программа crontab ожидает запуска setgid, а не setuid, поэтому она создает временный файл от имени пользователя и группы, от имени которой он выполняется, которая является root и основной группой вызывающего абонента, а не вызывающего пользователя и группой crontab.

Переустановите пакет cron :

apt-get --reinstall install cron

(как корневой). Убедитесь, что /var/spool/cron/crontabs имеет правильные разрешения и права собственности:

drwx-wx--T 2 root crontab 4096 Oct  8  2013 /var/spool/cron/crontabs

В дальнейшем не путайте с разрешениями системных файлов.

4
27.01.2020, 21:19

Невозможно использовать APT-Get --reinstall Install Cron , потому что он возвращает следующую ошибку:

gateway:/home/firewall# apt-get --reinstall install cron
Reading package lists... Done
Building dependency tree... Done
Suggested packages:
  anacron logrotate lockfile-progs checksecurity
Recommended packages:
  exim4 postfix mail-transport-agent
The following NEW packages will be installed:
  cron
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/78.4kB of archives.
After unpacking 303kB of additional disk space will be used.
(Reading database ... 48768 files and directories currently installed.)
Unpacking cron (from .../cron_3.0pl1-100_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/cron_3.0pl1-100_i386.deb (--unpack):
 ***unable to make backup link of `./usr/bin/crontab' before installing new version: Operation not permitted***
Errors were encountered while processing:
 /var/cache/apt/archives/cron_3.0pl1-100_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
gateway:/home/firewall#

, и если я стараюсь стирать файл вручную, это не позволяет ему. Как я могу стереть файл, так как у него нет разрешений?

gateway:~# ls -la /usr/bin/crontab
---------- 1 root crontab 26380 Dec 20  2006 /usr/bin/crontab
0
27.01.2020, 21:19

Теги

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