আপডেট: এই ইস্যুটির চূড়ান্ত উত্তর দেওয়া হবে না; আমি অন্য ডিস্ট্রোতে চলে এসেছি এবং তারপর থেকে এই সমস্যাটি পর্যবেক্ষণ করি না। আমি উপলব্ধ সময়ে অন্তর্দৃষ্টিপূর্ণ উত্তর দিয়ে এটি ঠিক করতে সক্ষম হয়েছি না, তবে আপনার জ্বালানী দক্ষতা পরিবর্তিত হতে পারে (ওয়াইএমএমভি)।
crontab -e
এবং crontab -l
ঠিকঠাক কাজ করুন:
$ crontab -l | grep -v '^#'
* * * * * /usr/bin/env
* * * * * echo 'Hello from crontab'
তবে আমি প্রতি মিনিটে এই জাতীয় দুটি বার্তা দেখতে পাচ্ছি /var/log/syslog
:
Mon DD hh:mm:01 username CRON[PID]: Permission denied
সুতরাং ক্রন্টবটি পড়া হচ্ছে , তবে কোনওরকম এটি কিছুতেই কার্যকর করতে পারে না (অবশ্যই একই ব্যবহারকারী হিসাবে লগ ইন করার সময় আমি আদেশগুলি যাচাই করেছি)। কোন ধারণা কেন?
/etc/cron.allow
এবং /etc/cron.deny
অস্তিত্ব নেই।
ক্রোনটব গ্রুপ সেটুইড সেট করেছে:
$ stat --format '%A %U %G' /usr/bin/crontab
-rwxr-sr-x root crontab
ক্রোনট্যাব ডিরেক্টরিতে সঠিক অনুমতি রয়েছে বলে মনে হচ্ছে:
$ stat --format '%A %U %G' /var/spool/cron/crontabs
drwx-wx--T root crontab
ক্রোনটাব নিজেই আমার মালিকানাধীন (আশ্চর্য হওয়ার মতো নয়, যেহেতু আমি এটি সম্পাদনা করতে পেরেছি):
$ sudo stat --format '%A %U %G' /var/spool/cron/crontabs/$USER
-rw------- username crontab
আমি না একজন সদস্য crontab
গ্রুপ।
এই লাইনগুলি /var/log/auth.log
প্রতি মিনিটে উপস্থিত হয় (ধন্যবাদ @ আলা):
Mon DD hh:mm:01 username CRON[1752]: pam_unix(cron:session): session opened for user username by (uid=0)
Mon DD hh:mm:01 username CRON[1752]: PAM bad jump in stack
হয়তো প্যাম ভেঙে গেছে? pam-auth-update
(ধন্যবাদ @ কোটায়ার) এগুলির সমস্ত তালিকা তৈরি করে এবং সেগুলি সমস্ত সক্ষম হয়েছে:
- ইউনিক্স প্রমাণীকরণ
- জিনোম কেরিং ডেমন - লগইন কেরিং ব্যবস্থাপনা
- eCryptfs কী / মাউন্ট ম্যানেজমেন্ট
- কনসোলকিট সেশন ম্যানেজমেন্ট
- উত্তরাধিকারী যোগ্যতা পরিচালনা
তাদের মধ্যে কেউ নিরাপদে অক্ষম হতে পারে? আমি কোনও এনক্রিপ্ট করা ফাইল সিস্টেম ব্যবহার করছি না।
একটি ডেবিয়ান বাগ প্রবেশের উপর ভিত্তি করে আমি দৌড়ানোর চেষ্টা debconf-show libpam-runtime
করেছি এবং আমি নিম্নলিখিত ত্রুটি বার্তাটি পেয়েছি:
debconf: DbDriver "passwords" warning: could not open /var/cache/debconf/passwords.dat: Permission denied
বিষয়বস্তু /etc/pam.d/cron
:
# The PAM configuration file for the cron daemon
@include common-auth
# Read environment variables from pam_env's default files, /etc/environment
# and /etc/security/pam_env.conf.
session required pam_env.so
# In addition, read system locale information
session required pam_env.so envfile=/etc/default/locale
@include common-account
@include common-session-noninteractive
# Sets up user limits, please define limits for cron tasks
# through /etc/security/limits.conf
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in cron quiet use_uid
ফাইল উল্লেখ ( /etc/environment
, pam_env.so
, /etc/default/locale
, pam_limits.so
, pam_succeed_if.so
) আমার সকল ব্যবহারকারী দ্বারা পাঠযোগ্য।
/etc/cron.{allow,deny}
উপরের মতো একই ব্যবহারকারী ক্রোনটব, না , একই অনুমতি এবং crontab
গ্রুপের সদস্য না হয়ে উবুন্টু ১৩.০৪ সহ অন্য একটি হোস্টে , এটি ঠিক কাজ করে (কমান্ডগুলিতে লগ করে তবে আউটপুটে নয় /var/log/syslog
)।
প্রথম ক্রন্টব লাইন পরিবর্তন করে:
* * * * * /usr/bin/env >/tmp/env.log 2>&1
এবং পরীক্ষা করা / টিএমপি বিশ্ব লিখনযোগ্য:
$ sudo -u nobody touch /tmp/test
$ ls /tmp/test
/tmp/test
$ ls -ld /tmp
drwxrwxrwt 15 root root 12288 May 27 10:18 /tmp
আমি যাচাই করেছি যে ক্রোনট্যাব কমান্ডগুলি মোটেই চালিত হয় না : Permission denied
বার্তাগুলি এখনও প্রদর্শিত হয় /var/log/syslog
, তবে /tmp/env.log
তৈরি হয় না।
সেটিংসের এলোমেলো তালিকার/etc/pam.d
উপর ভিত্তি করে আমি নিম্নলিখিত ত্রুটিগুলি পেয়েছি:
$ grep '^[^#]' /etc/pam.d/sshd
@include common-auth
account required pam_nologin.so
@include common-account
@include common-session
session optional pam_motd.so # [1]
session optional pam_mail.so standard noenv # [1]
session required pam_limits.so
session required pam_env.so # [1]
session required pam_env.so user_readenv=1 envfile=/etc/default/locale
@include common-password
$ grep '^[^#]' /etc/pam.d/common-session
session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session optional pam_umask.so
session required pam_unix.so
session optional pam_ecryptfs.so unwrap
session optional pam_ck_connector.so nox11
$ grep '^[^#]' /etc/pam.d/common-account
account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so
account requisite pam_deny.so
account required pam_permit.so
$ grep '^[^#]' /etc/pam.d/common-session-noninteractive
session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session optional pam_umask.so
session required pam_unix.so
session optional pam_ecryptfs.so unwrap
প্যাম প্যাকেজ ইনস্টল করা হয়েছে:
$ dpkg --get-selections | grep --invert-match deinstall | cut --fields 1 | grep pam
libpam-cap
libpam-ck-connector
libpam-gnome-keyring
libpam-modules
libpam-modules-bin
libpam-runtime
libpam0g
python-pam
আমি এগুলি পুনরায় ইনস্টল করার চেষ্টা করেছি - সহায়তা করে নি:
$ sudo apt-get install --reinstall $(dpkg --get-selections | grep --invert-match deinstall | cut --fields 1 | grep pam)
আনমেট নির্ভরতার কারণে আমি এগুলি পুনরায় ইনস্টল করতে পারি না।
/var/spool/cron/crontabs/username
?
/var/log/auth.log
CRON সম্পর্কে কি বলে?
id cron
->id: cron: No such user