আমি চলমান চলাকালীন কিছু পরিবেশের ভেরিয়েবলগুলিকে নতুন পরিবেশে যাওয়ার অনুমতি দেওয়ার চেষ্টা করে নিম্নলিখিত ত্রুটিটি নিয়ে চলেছি sudo
:
sudo: sorry, you are not allowed to preserve the environment
ডিবাগ করতে সহায়ক হতে পারে এমন কিছু তথ্য:
[deploy@worker1 ~]$ sudo -l
Matching Defaults entries for deploy on this host:
requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET
XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin, env_keep+="GIT_WORK_TREE GIT_DIR", !requiretty
User deploy may run the following commands on this host:
(ALL) NOPASSWD: /usr/bin/git, (ALL) /etc/init.d/httpd*, (ALL) /sbin/service, (ALL) /usr/bin/make, (ALL) /bin/echo
আমার চলমান উদাহরণ:
[deploy@worker1 ~]$ export GIT_DIR="/home/ashinn/testing"
[deploy@worker1 ~]$ sudo -E sh -c 'echo "$GIT_DIR"'
sudo: sorry, you are not allowed to preserve the environment
এই নির্দিষ্ট কনফিগারেশনের জন্য আমার sudoers.d ফাইল:
Defaults:deploy env_keep += "GIT_WORK_TREE GIT_DIR", !requiretty
deploy ALL=(ALL) NOPASSWD: /usr/bin/git, /etc/init.d/httpd*, /sbin/service, /usr/bin/make, /bin/echo
আমি !env_reset
ডিফল্টগুলিতে যোগ করার চেষ্টা করেছি এবং এটি এখনও একই ত্রুটির সাথে ব্যর্থ হয়। আমার মনে হচ্ছে আমি স্পষ্ট কিছু মিস করছি এবং চোখের দ্বিতীয় সেট প্রয়োজন। আমি এখানে কি মিস করছি?
sudo
(option(s))
echo $GIT_DIR
sudo
$GIT_DIR
sudo
sudo printenv GIT_DIR
sudo env | grep GIT_DIR
sudo sh -c 'echo "$GIT_DIR"'