আমার sudo
8 টির সাথে ডেবিয়ান 8 টির পরিবর্তে একটি অদ্ভুত সমস্যা রয়েছে Users ব্যবহারকারীরা কমান্ডগুলির মধ্যে কিছু সম্পাদন করতে পারে না /etc/sudoers.d
। আমি কনফিগারেশন বিতরণ করতে শেফ ব্যবহার করি, সুতরাং সমস্ত ফাইল স্বয়ংক্রিয়ভাবে উত্পন্ন হয়।
উদাহরণ:
এই কনফিগারেশনটি সূক্ষ্মভাবে কাজ করে
root@server:~# cat /etc/sudoers.d/nginx
# This file is managed by Chef.
# Do NOT modify this file directly.
user ALL=(root) NOPASSWD:/usr/sbin/nginx
এবং এটি ব্যর্থ:
root@server:~# cat /etc/sudoers.d/update-rc.d
# This file is managed by Chef.
# Do NOT modify this file directly.
user ALL=(root) NOPASSWD:/usr/sbin/update-rc.d
user@www42:~$ sudo update-rc.d
[sudo] password for user:
Sorry, user user is not allowed to execute '/usr/sbin/update-rc.d' as root on server.
কী ভুল হতে পারে?
কারণ নির্ণয়:
Mar 5 12:12:51 server sudo: user : command not allowed ; TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/sbin/update-rc.d
Mar 5 12:14:25 www42 su[1209]: pam_unix(su:session): session closed for user user
root@server:~# sudo --version
Sudo version 1.8.10p3
Configure options: --prefix=/usr -v --with-all-insults --with-pam --with-fqdn --with-logging=syslog --with-logfac=authpriv --with-env-editor --with-editor=/usr/bin/editor --with-timeout=15 --with-password-timeout=0 --with-passprompt=[sudo] password for %p: --disable-root-mailer --with-sendmail=/usr/sbin/sendmail --with-rundir=/var/lib/sudo --mandir=/usr/share/man --libexecdir=/usr/lib/sudo --with-sssd --with-sssd-lib=/usr/lib/x86_64-linux-gnu --with-selinux --with-linux-audit
Sudoers policy plugin version 1.8.10p3
Sudoers file grammar version 43
#
একটি মন্তব্য হিসাবে এবং একটি ডিরেক্টিভের অংশ সেইসাথে উপেক্ষা ফাইল হিসেবে। মজার বিষয় (বিরক্তিকরভাবে)visudo -f some.file
সতর্কতা দেয় না যে প্রস্থান করার সময় এটিকে উপেক্ষা করার সম্ভাবনা রয়েছে। কোয়েরুলাস অ্যালবাট্রস একটি সাধারণ উত্সাহ দ্বারা শান্ত করা যায়।