1、問題現象html
業務反饋某臺應用服務器,普通用戶使用mutt程序發送郵件時,提示「postdrop warning: mail_queue_enter: create file maildrop/713410.6065: Permission denied」,並且普通用法使用crontab -e 編輯自身任務計劃時,也會提示「 crontab: edits left in /tmp/crontab.XXXXCl0bLz」 。linux
2、問題分析與解決服務器
一、postdrop異常問題post
使用postfix check命令檢測發現有以下報錯:this
postfix/postfix-script: warning: not set-gid or not owner+group+world executable: /usr/sbin/postqueue postfix/postfix-script: warning: not set-gid or not owner+group+world executable: /usr/sbin/postdrop
上面的提示其實已經很是清楚了,在這兩個可執行文件的組權限中,沒有s權限位。慎重起見,不審找了一臺主機對比下,發現確實不存在s權限,正常的權限以下:rest
# ll /usr/sbin/postqueue -rwxr-sr-x. 1 root postdrop 259992 Jan 27 2014 /usr/sbin/postqueue
解決方法很是簡單:orm
chmod g+s /usr/sbin/postqueue chmod g+s /usr/sbin/postdrop postfix reload
二、crontab普通用戶沒法編輯問題htm
使用crontab -e發現能夠正常查看,可是編輯完,保存時提示「 crontab: edits left in /tmp/crontab.XXXXCl0bLz」 。即然上面第一個問題是s權限位引發的,這個問題想必也是,因此未作strace 或審計跟蹤,地接查看/usr/bin/crontab權限位,發現和正常主機對比,發現用戶權限上少了s權限 ---crontab命令和passwd命令相似,須要用戶具備s權限位。執行以下命令後,問題解決:blog
chmod u+s /usr/bin/crontab rccron restart
注:這點對比了下SuSE和redhat下的區別,發現user權限下若是沒有s權限位。在redhat下提示:crontab
並且直接crontab -l命令查看時,都會提示上面的錯誤。而在SuSE沒有這個s權限,仍然能夠正常的經過crontab -l 進行查看。