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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: squid3 проблема после ротации  (Прочитано 2245 раз)

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

Оффлайн ulan44

  • Автор темы
  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
squid3 проблема после ротации
« : 02 Апреля 2013, 04:54:55 »
Доброго времени суток камрады.
Имеется сервак под управлением ubuntu 12.10
Имеем squid3 + ntlm
http_port 10.0.100.252:3128 transparent

cache_peer 10.0.100.250 parent 3128 3130 no-query default login=пользователь:пароль
never_direct allow all

visible_hostname web.domen.ru

cache_effective_user proxy
cache_effective_group proxy

cache_mgr admin@domen.ru

access_log /var/log/squid3/access.log
cache_log /var/log/squid3/cache.log

acl net src 10.0.100.0/255.255.255.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl all src 0.0.0.0/0.0.0.0

acl Safe_ports port 80          #http
acl Safe_ports port 21          #ftp
acl Safe_ports port 443 563     #https, snews
acl Safe_ports port 70          #gopher
acl Safe_ports port 210         #wais
acl Safe_ports port 1025-65535  #unregistered ports
acl Safe_ports port 280         #http-mgmt
acl Safe_ports port 488         #gss-http
acl Safe_ports port 591         #filemaker
acl Safe_ports port 777         #multiting http
acl CONNECT method CONNECT

extension_methods REPORT MERGE MKACTIVITY CHECKOUT

# Выключаем протокол icp
icp_port 0
# Свой DNS
dns_nameservers 10.0.100.250
dns_v4_first on

#############Закрываем доступ на сайты###################
acl fuckyou dstdomain "/etc/squid3/limit/sites/deny_sites"
http_access deny fuckyou
#########################################################

##########Отключаем кеш для определенных сайтов##########
#######на mail.ru не работало прикрепление файлов########
acl sites_nocache dstdomain "/etc/squid3/limit/sites/sites_nocache"
no_cache deny sites_nocache
#########################################################

########Доступ к сайтам без всяких паролей и авторизаций#########
acl worksite src 10.0.100.0/24
acl inet url_regex "/etc/squid3/limit/sites/work_site"
http_access allow inet worksite
#################################################################

####################Авторизация NTLM#############################
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 50
auth_param ntlm keep_alive on

auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 5
auth_param basic realm SMOK Proxy server
auth_param basic credentialsttl 2 hours

external_acl_type nt_group ipv4 ttl=120 %LOGIN /usr/lib/squid3/wbinfo_group.pl
acl SMOK external nt_group Internet
acl nt_group proxy_auth REQUIRED
#################################################################

#########Пользователи которым закрыт доступ к интернету##########
acl banusers proxy_auth_regex -i "/etc/squid3/limit/users/users_deny"
deny_info ERR_QUOTA banusers
http_access deny banusers
#################################################################

#######Пользователи которым можно заходить без авторизации#######
acl non_auth src "/etc/squid3/limit/sites/ip_server"
http_access allow non_auth
#################################################################

http_access allow SMOK
deny_info ERR_NO_Inet all
http_access deny all

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_reply_access allow all
icp_access allow all

coredump_dir /var/spool/squid3
error_directory /usr/share/squid3/errors/Russian-1251/
pid_filename /var/run/squid.pid
Так вот работало работало и чет решил видимо сервак в 1 апреля пошутить, не стал разбираться, грохнул все их папки /var/log/squid3/*.log и все заработало.
Сегодня опять повторилось и начал разгребать логи. Дошел до того, что squid не может получить права на файл access.log потому, что права на файл слетели
root@web:/var/log/squid3# ls -l /var/log/squid3/
-rw-r----- 1 root root  26319 апр.   2 09:42 access.log
-rw-r----- 1 proxy proxy 574573 апр.   2 09:42 cache.log

хотя в конфиге осьминога явно указанно, что
cache_effective_user proxy


Пользователь решил продолжить мысль 02 Апреля 2013, 10:02:35:
Вообщем походу разобрался
вот что в конфиге логратейта
/var/log/squid3/*.log {
        daily
        compress
        delaycompress
        rotate 2
        missingok
        nocreate  <------- Вот видемо из-за этого он и получает права к файлу root.root
        sharedscripts
        prerotate
               test ! -x /usr/sbin/sarg-reports || /usr/sbin/sarg-reports
        endscript
        postrotate
                test ! -e /var/run/squid3.pid || /usr/sbin/squid3 -k rotate
        endscript
}

Изменил так

/var/log/squid3/*.log {
        daily
        compress
        delaycompress
        rotate 2
        missingok
        create 640 proxy proxy
        sharedscripts
        postrotate
                test ! -e /var/run/squid3.pid || /usr/sbin/squid3 -k rotate
        endscript
}
В добавок убрал sarg-reports ибо у меня он не стоит.
Посмотрим, что будет завтра утром.
« Последнее редактирование: 02 Апреля 2013, 10:02:35 от ulan44 »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: squid3 проблема после ротации
« Ответ #1 : 04 Апреля 2013, 18:16:42 »
nocreate  <------- Вот видемо из-за этого он и получает права к файлу root.root
Не видЕмо, а видИмо. Зачам язык корявите, ведь даже говорить неудобно?
Да и не из-за этого. Команда даже пишет: nocreate - не создавать новый файл журнала. То есть лог просто чиститься. И если у него будут правильный владелец, то и права не изменятся.

Верните обратно и просто выставьте текущему логу правильного владельца
sudo chown proxy:proxy /var/log/squid3/access.log*

Оффлайн ulan44

  • Автор темы
  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
Re: squid3 проблема после ротации
« Ответ #2 : 05 Апреля 2013, 17:58:34 »
Не видЕмо, а видИмо. Зачам язык корявите, ведь даже говорить неудобно?
Да и не из-за этого. Команда даже пишет: nocreate - не создавать новый файл журнала. То есть лог просто чиститься. И если у него будут правильный владелец, то и права не изменятся.

Верните обратно и просто выставьте текущему логу правильного владельца
sudo chown proxy:proxy /var/log/squid3/access.log*
Мы тут не к ошибкам придираемся, а помощи просим или я не прав?
А во вторых, именно из-за того, что в logrotate стоит параметр не создавать файл, squid создает его от имени пользователя которого он был запущен. То есть от пользователя root. Что не есть камильфо. Если у Вас есть более подробный и развернутый ответ на мой вопрос, то опубликуйте его. А, то, что Вы предложили
sudo chown proxy:proxy /var/log/squid3/access.log* это полный абсурд. При следующей ротации права на файл слетят. Если Вас устраивает выполнять это по крону или ручками, то как говориться флаг Вам в руки. Либо предоставьте более полный и развернутый ответ на мою уже бывшую проблему.
« Последнее редактирование: 05 Апреля 2013, 18:09:11 от ulan44 »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: squid3 проблема после ротации
« Ответ #3 : 05 Апреля 2013, 21:32:05 »
squid создает его от имени пользователя которого он был запущен. То есть от пользователя root.
Если у Вас кальмар коробочный и Вы не сильно упражнялись в его перенастройке (а судя по владельцу cache.log так оно и есть), то откройте для себя, что squid работает от пользователя proxy.
ps -U proxyА потому и лог он будет создавать сам. Кто будет владелец этого файла думаю Вы догадываетесь.

Потому ещё раз настоятельно рекомендую вернуть файл логротейта кальмара в исходную, остановите squid, смените владельца access.log (или просто его удалите) и запустите кальмара обратно в работу.

 

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