я недавно начал изучать BSD, потому иногда сачкую, стараясь отгородить себя от лишних проблем.наболевшая у многих, но для меня так и не решенная проблема:
Имеем
posfix + cyrus-sasl
courier-imap + authlibMySQL не юзаю, дабы не запутатся окончательно!
вся почта работает на ура! в обе стороны! далее:
накатили SquirrelMail
пытаюсь залогинится -
ERROR:
ERROR: Connection dropped by IMAP server.
ладно, проверяю телнетомtelnet 192.168.1.1 imap
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THRE
AD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyr
ight 1998-2008 Double Precision, Inc. See COPYING for distribution information.
a LOGIN sukhorukov 123456
* BYE [ALERT] Fatal error: Account's mailbox directory is not owned by the corre
ct uid or gid:понимаю что не хватает прав, но не понимаю кому и не понимаю на что ???
и где это указывать ?в authdaemonrc я mailbox не указывал, указывал в pop3d - MAILDIRPATH=Maildir/
помятуя что именно с "/" на конце, дабы почта хранилась в home/"user"/maildirуказал то же и в imapd
не помогает, перегружал сервер, выдавал на всё что ему может пригодится права 777
не помогает.
я соглашусь изучая адскую связку posfix + cyrus-sasl, courier-imap + authlib (пока не лезя в то что sasl умеет спрашивать пароли у authdaemond) я мог запутатся, но не курение гугла, ни нахождение людей который когда либо решили свои идентичные проблемы ни привели к желаемому результату.прошу помощи господа! вы у меня последняя надежда!
Спасибо!!
готов предоставить любые конфиги если потребуется!и кстати!
configtest.php отрабатывает! пишет что:Congratulations, your SquirrelMail setup looks fine to me!
>готов предоставить любые конфиги если потребуется!
>
>и кстати!
>configtest.php отрабатывает! пишет что:
>
>Congratulations, your SquirrelMail setup looks fine to me!if (atoi(p))
{
if ( buf.st_uid != geteuid() ||
buf.st_gid != getegid())
write_error_exit("Account's mailbox directory is not owned by the
correct uid or gid");
}Если мельком глянуть в исходники courier-imap, то можно сделать предположение, что,
скорей всего, gid/uid mailbox-а не совпадает с gid/uid пользователя. :-)
>Если мельком глянуть в исходники courier-imap, то можно сделать предположение, что,
>скорей всего, gid/uid mailbox-а не совпадает с gid/uid пользователя. :-)так...
1 - вендовое воспитание, мне такое даже в голову не пришло, другое дело Гуру )))
2 - gid/uid mailbox-а не совпадает с gid/uid пользователя.. но насколько я понимаю mailbox это директория ?? какой же у неё может быть ГУЙ ?
>[оверквотинг удален]
> {
> if ( buf.st_uid != geteuid() ||
> buf.st_gid != getegid())
> write_error_exit("Account's mailbox directory is
> not owned by the
> correct uid or gid");
>
> }
> Если мельком глянуть в исходники courier-imap, то можно сделать предположение, что,
> скорей всего, gid/uid mailbox-а не совпадает с gid/uid пользователя. :-)Может еще актуально кому будет, я решил проблему закоментировав write_error_exit и пересобрав imapd.
if (atoi(p))
{
if ( buf.st_uid != geteuid() ||
buf.st_gid != getegid()) ;
/* write_error_exit("Account's mailbox directory is not owned by the correct uid or gid"); */
}После этого все встало на свои места.
Выставите правильно хозяина и группу для директории
>Выставите правильно хозяина и группу для директориипозвольте я повторюсь
(истерично так)"для какой ????"
Мда, /"user"/maildir
>Мда, /"user"/maildirи кто должен стать её хозяином ? и какой группе дать права ? курьер от чьего лица работает ?
кстати закономерность скорей всего в том что папку я создавал руками.. ибо автоматом она не создается, или я чего то не понял ? как сделать так чтобы при первом входящем письме папка создавалась сама ? думаю там все просто...
/"user"/maildirа то что chmod 777 maildir
и ошибка сохраняется не созачает что это не нехватка прав ?
есть еще chown posfix:mail maildir ;)
Штатные телепаты не работают. Выложи конфиги, навскидку попробуй owner posfix | group mail
main.cfqueue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
data_directory = /var/db/postfix
mail_owner = postfix
#default_privs = nobody
myhostname = mail.polosok.net
mydomain = polosok.net
myorigin = $myhostname
myorigin = $mydomain
inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $mydomain, $myhostname
#local_recipient_maps = unix:passwd.byname $alias_maps
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
#local_recipient_maps =
unknown_local_recipient_reject_code = 550
mynetworks_style = subnet
mynetworks = 192.168.1.0/24, 127.0.0.0/8
#relay_domains = $mydestination
#relay_domains = $mydomain
relay_domains = $myhostname, localhost, polosok.net
relayhost = smtp.qwerty.ru
#relay_recipient_maps = hash:/usr/local/etc/postfix/relay_recipients
alias_maps = hash:/usr/local/etc/postfix/aliases
#transport_maps = hash:/usr/local/etc/postfix/transport
#alias_database = hash:/etc/aliases
home_mailbox = Maildir/
mail_spool_directory = /var/spool/mail
debug_peer_level = 9
sendmail_path = /usr/local/sbin/sendmail
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
setgid_group = maildrop
html_directory = /usr/share/doc/packages/postfix/html
manpage_directory = /usr/local/man
#sample_directory = /usr/local/etc/postfix
readme_directory = no
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_path = smtpd
smtpd_sasl_local_domain = $mydestination
smtpd_client_restrictions = permit_sasl_authenticated, reject_unknown_client, pe
rmit
smtpd_sender_restrictions = permit_sasl_authenticated, permit
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, per
mit_auth_destination, reject_unauth_destination
#strict_rfc821_envelopes = yes
disable_vrfy_command = yespop3d
PIDFILE=/var/run/pop3d.pid
MAXDAEMONS=40
MAXPERIP=4
#POP3AUTH="LOGIN CRAM-MD5 CRAM-SHA1"
POP3AUTH="PLAIN LOGIN"
#POP3AUTH_ORIG="PLAIN LOGIN CRAM-MD5 CRAM-SHA1 CRAM-SHA256"
POP3AUTH_ORIG="PLAIN LOGIN"
# POP3AUTH_TLS="LOGIN PLAIN"
POP3AUTH_TLS=""
POP3AUTH_TLS_ORIG="LOGIN PLAIN"
POP3_PROXY=0
# PROXY_HOSTNAME=
PORT=110
ADDRESS=0
TCPDOPTS="-nodnslookup -noidentlookup"
LOGGEROPTS="-name=pop3d"
#DEFDOMAIN="@polosok.net"
#POP3DSTART=YES
MAILDIRPATH=Maildir/
#MAILDIRPATH="/var/spool/mail/"imapd
ADDRESS=0
PORT=143
##NAME: AUTHSERVICE:0
#
# It's possible to authenticate using a different 'service' parameter
# depending on the connection's port. This only works with authentication
# modules that use the 'service' parameter, such as PAM. Example:
#
# AUTHSERVICE143=imap
# AUTHSERVICE993=imaps
MAXDAEMONS=40
MAXPERIP=4
PIDFILE=/var/run/imapd.pid
TCPDOPTS="-nodnslookup -noidentlookup"
LOGGEROPTS="-name=imapd"
#DEFDOMAIN="@example.com"
IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THRE
IMAP_KEYWORDS=1
##NAME: ACL_CAPABILITY:0
#
# IMAP_ACL=1 enables IMAP ACL extension. Set this option to 0 to
# disable ACL capabilities announce.
IMAP_ACL=1
##NAME: SMAP1_CAPABILITY:0
#
# EXPERIMENTAL
#
# To enable the experimental "Simple Mail Access Protocol" extensions,
# uncomment the following setting.
#
# SMAP_CAPABILITY=SMAP1
##NAME: IMAP_CAPABILITY_ORIG:2
#
# For use by webadmin
IMAP_CAPABILITY_ORIG="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
IMAP_PROXY=0
# PROXY_HOSTNAME=
IMAP_PROXY_FOREIGN=0
IMAP_IDLE_TIMEOUT=60
IMAP_MAILBOX_SANITY_CHECK=1
IMAP_CAPABILITY_TLS="$IMAP_CAPABILITY AUTH=PLAIN"
IMAP_CAPABILITY_TLS_ORIG="$IMAP_CAPABILITY_ORIG AUTH=PLAIN"
IMAP_DISABLETHREADSORT=0
IMAP_CHECK_ALL_FOLDERS=0
IMAP_OBSOLETE_CLIENT=0
IMAP_UMASK=022
IMAP_ULIMITD=65536
IMAP_USELOCKS=1
IMAP_SHAREDINDEXFILE=/usr/local/etc/courier-imap/shared/index
IMAP_ENHANCEDIDLE=0
IMAP_TRASHFOLDERNAME=Trash
IMAP_EMPTYTRASH=Trash:7
IMAP_MOVE_EXPUNGE_TO_TRASH=0
# OUTBOX=.Outbox
SENDMAIL=/usr/sbin/sendmail
HEADERFROM=X-IMAP-Sender
# OUTBOX_MULTIPLE_SEND=1
IMAPDSTART=YES
MAILDIRPATH=Maildir/authdaemonrc
#authmodulelist="authpam"
authmodulelist="authpwd authpam"
#authmodulelistorig="authpam"
authmodulelistorig="authpwd authpam"
daemons=5
authdaemonvar=/var/run/authdaemond
subsystem=mail
DEBUG_LOGIN=2
DEFAULTOPTIONS="wbnodsn=1"
LOGGEROPTS=""/usr/local/lib/sasl2/smtpd.conf
log_level: 7
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
saslauthd_path: /var/run/saslauthd/mux
я ничего не забыл ?
не спасет! 777 не спасет значит дело не в правахя так дуамю!
попробуй таки выставить хозяина директории= posfix+rwx , группу=maildrop +rwx
господа, а не корень ли зла я откопал ?pw useradd vasya -c 'Mail user' -g guest -s /sbin/nologin
passwd vasyaотсылаю ему письмо
tail /var/log/maillogFeb 18 00:33:27 mail postfix/smtpd[1656]: disconnect from unknown[192.168.1.10]
Feb 18 00:33:27 mail postfix/local[1660]: warning: maildir access problem for UID/GID=1006/31: create maildir file /home/vasya/Maildir/tmp/1234906407.P1660.mail.
polosok.net: Permission deniedcat /etc/passwd
vasya:*:1006:31:Mail user:/home/olya:/sbin/nologin
я понимаю что я сделал что-то не так! но что ?
[root@mail /home/sukhorukov]# ls -l
total 2
drwxrwxrwx 5 postfix maildrop 512 Feb 17 16:59 Maildir
[root@mail /home/sukhorukov]#не помогает!
как же мне сделать так чтобы папки создавались сами при первом письме...
не давать же на home првав гостям на запись
>[оверквотинг удален]
>Feb 18 00:33:27 mail postfix/smtpd[1656]: disconnect from unknown[192.168.1.10]
>Feb 18 00:33:27 mail postfix/local[1660]: warning: maildir access problem for UID/GID=1006/31: create
>maildir file /home/vasya/Maildir/tmp/1234906407.P1660.mail.
>polosok.net: Permission denied
>
>cat /etc/passwd
>
>vasya:*:1006:31:Mail user:/home/olya:/sbin/nologin
>
>я понимаю что я сделал что-то не так! но что ?У меня права на Maildir пользователя такие:
-bash-3.00# ll -n | grep unio
drwx------ 4 11184 2110 4 марта 6 2007 union
-bash-3.00# ll -rn union
total 16
drwx------ 9 11184 2110 11 апр. 19 2007 Maildir
drwx------ 2 11184 2110 5 нояб. 12 04:30 .spamassassin
drwxr-xr-x 97 0 0 97 февр. 4 19:47 ..
drwx------ 4 11184 2110 4 марта 6 2007 .
-bash-3.00# getent passwd vmail
vmail:x:11184:2110:User for Qmail:/:
>[оверквотинг удален]
>Feb 18 00:33:27 mail postfix/smtpd[1656]: disconnect from unknown[192.168.1.10]
>Feb 18 00:33:27 mail postfix/local[1660]: warning: maildir access problem for UID/GID=1006/31: create
>maildir file /home/vasya/Maildir/tmp/1234906407.P1660.mail.
>polosok.net: Permission denied
>
>cat /etc/passwd
>
>vasya:*:1006:31:Mail user:/home/olya:/sbin/nologin
>
>я понимаю что я сделал что-то не так! но что ?Внимательно смотрим на директорию пользователя:
ail user:/home/olya
Однако дирка создаться в /home/vasyaЧто-то у Вас с Васей и Олей происходит... :-)
прошу прощения копировал как то по дурному )) в общем там везде вася, или везде оля )) не обращайте внимания ))идея в общем какая - если сделать на home группу guest то при первом письме все создается само и белка начинает работать! но я вижу у товарища на рабочей конфе что на home у него владелец:группа root:wheel
что я делаю не так ? почему папки при первом письме не создаются сами ? вот тут решение моей проблемы!
Спасибо!
>прошу прощения копировал как то по дурному )) в общем там везде
>вася, или везде оля )) не обращайте внимания ))
>
>идея в общем какая - если сделать на home группу guest то
>при первом письме все создается само и белка начинает работать! но
>я вижу у товарища на рабочей конфе что на home у
>него владелец:группа root:wheelУ вашего коллеги стоят правильные права, так и должно быть.
>что я делаю не так ? почему папки при первом письме не
>создаются сами ? вот тут решение моей проблемы!Вы в свою очередь, должны создавать домашние дирки пользователей, насколько я понял из Вашего сообщения, с владельцем группы guest, т.е.:
#mkdir -m 755 /home/user
#chown user:guest /home/userPS: Прежде чем выполнить эти комманды, прочти документацию по ним. ;-)
man mkdir
man chown
>
>Спасибо!
поскольку я работаю с коллегой я видел как это происходит при рутинном создании ящиков! я не создавал папки! я создавал тока юзверя! и слал ему письмо! всё!
>поскольку я работаю с коллегой я видел как это происходит при рутинном
>создании ящиков! я не создавал папки! я создавал тока юзверя! и
>слал ему письмо! всё!извините, если уже неактуально.
сделайте вот что:
cd /usr/local/etc/courier-imap (или где она у вас)
vi imapd (или чем вы ее)
и опция
IMAP_MAILBOX_SANITY_CHECK=0 (по умолчанию 1)есть высоконенулевая вероятность, что наболевшее отболит.
>[оверквотинг удален]
>>слал ему письмо! всё!
>
>извините, если уже неактуально.
>сделайте вот что:
>cd /usr/local/etc/courier-imap (или где она у вас)
>vi imapd (или чем вы ее)
>и опция
>IMAP_MAILBOX_SANITY_CHECK=0 (по умолчанию 1)
>
>есть высоконенулевая вероятность, что наболевшее отболит.сделал! при
[root@mail /]# ls -l | grep home
drwxr-xr-x 7 root wheel 512 Mar 5 17:29 home
[root@mail /]#получаем
<olya@polosok.net>: maildir delivery failed: create maildir file
/home/olya/Maildir/tmp/1236263450.P2268.mail.polosok.net: Permission denied
в данный момент работает если сказать что root:guest
и группе guest дать права на запись.. ну это в принчипе логино но уверен что не правильно!
новости.. и проблема.. опять чудная какая то...
перевел с local транспорта на virtual
почта доставляется на ура, и все само создается! оно и логично там же можно указать от чьего имени вершить правосудие...
но вот чудеса.. pop3d демон упорно ищет почту для пользователя не там, пояснюв Main.cf
virtual_mailbox_domains = emoxam.ru,
virtual_mailbox_base = /var/spool/mail/vhosts
virtual_mailbox_maps = hash:/usr/local/etc/postfix/vmailbox
virtual_minimum_uid = 100
virtual_uid_maps = static:1981
virtual_gid_maps = static:1981в vmailbox
sukhorukov@emoxam.ru emoxam.ru/sukhorukov/
в pop3d
MAILDIRPATH="/var/spool/mail/vhosts/emoxam.ru"
так вот! postfix без запинок принимает почту и кладет её в
/var/spool/mail/vhosts/emoxam.ru/sukhorukovа вот когда pop3d пытается отработать
он лезет в папку /var/spool/mail/vhosts/emoxam.ruи досвидания..
если ему указать /var/spool/mail/vhosts/emoxam.ru/sukhorukov то он конечно же отрабатывает честно! но у меня же не один пользователь отнюдь!
по форумам и докам никак не могу найти как его уговорить ? где я маханулся, или какой параметр не углядел ? помогите люди добрые ?
впрочем если не получится и тут.. полезу на mysql... это наверное ещё неделя-две.. даже растерялся как то...