আমি উবুন্টু 10.04 সার্ভার ব্যবহার করছি এবং ব্যবহারকারীর সম্পাদকের পছন্দ (সীমাতে) সম্মানের জন্য sudoers সেট আপ করার চেষ্টা করছি
আমার sudoers আমি আছে:
Defaults editor=/usr/bin/nano:/usr/bin/vim
Defaults env_reset
এবং ব্যবহারকারী .bashrc এ:
export EDITOR=/usr/bin/vim
D সম্পাদনা সেট করা হয়েছে:
$ echo $EDITOR
/usr/bin/vim
এটি অনুসারে man sudoers
$ এডিটোরটি ভিমে সেট করার জন্য যথেষ্ট হতে হবে:
editor A colon (':') separated list of editors allowed to be used with visudo.
visudo will choose the editor that matches the user's EDITOR environment
variable if possible, or the first editor in the list that exists and is
executable. The default is the path to vi on your system.
তবে nano
এখনও এই ব্যবহারকারীর জন্য ব্যবহৃত হচ্ছে। এনভির একটি দ্রুত চেক:
$ sudo -- env | grep EDITOR
কিছুই দেয় না
$ sudo -E -- env | grep EDITOR
রিটার্নস EDITOR=/usr/bin/vim
আমি সচেতন যে সম্পাদকের কাজ করতে আমি নিম্নলিখিত জিনিসগুলি করতে পারি:
- সেট করুন
env_editor
,env_keep+=EDITOR
বা অন্য কোনও বিকল্প যা এডিটোরকে সুডোরগুলিতে পরিবর্তনশীল রাখে: আমি এটি করতে চাই না কারণ এটি যেকোনো কিছুকে নির্বিচারে কার্যকর করার অনুমতি দিতে পারে (যেমনexport EDITOR=~/bad_program_to_run_as_root
) - ব্যবহার করুন
sudo -E
বা এমনকিalias sudo='sudo -E'
:env_reset
SETENV ব্যতীত এবং ব্যবহারকারীদের পয়েন্টটি পরাজিত করে (আমি দিতে চাই এমন কিছু নয়: পূর্ববর্তী পয়েন্টটি দেখুন) পানsudo: sorry, you are not allowed to preserve the environment
- সেট
editor=/usr/bin/vim
: তবে অন্যান্য ব্যবহারকারীরাও জানেন না যে ভিম জানেন না - ব্যবহার
sudo select-editor
: বন্ধ, কিন্তুsudo visudo
এখনও খোলেnano
- শুধু sudoedit বা তেজ সরাসরি ব্যবহার করুন: কিন্তু তারপর তোমার মত সরঞ্জামের নিরাপত্তা হারান
visudo
,vipw
,crontab -e
। - কেবল এটির সাথে মোকাবিলা করুন: সম্ভবত, তবে যদি আমি কিছু অন্তর্দৃষ্টি মিস করি তবে আমি তা জানতে আগ্রহী
আমি VISUAL
এবং SUDO_EDITOR
ভেরিয়েবলগুলি সেট করার চেষ্টা করেছি (হতাশায়)
আমি কি কিছু মিস করেছি যা sudo visudo
উপরের সমঝোতা না করে পছন্দের ব্যবহারকারী সম্পাদকগুলিতে উন্মুক্ত হয়ে যাবে?
সম্পাদনা করুন:
আমি মনে করি আমি বুঝতে পারি কেন এটি আমার প্রত্যাশার মতো কাজ করছে না। অন্য কারও ক্ষেত্রেও একই ভুল ধারণা থাকলে আমি এটিকে এখানে রেখে দিচ্ছি।
Sudoers ফাইল
Defaults editor=/usr/bin/nano:/usr/bin/vim
- কেবল চলমান চলাকালীন অনুমোদিত সম্পাদকদের তালিকাকেই বোঝায়
visudo
(অন্য কোনও প্রোগ্রাম নয়) editor
চেক $ সম্পাদক কিন্তু যদি চলমানsudo visudo
,sudo
$ বিকিরণকারী সেট না, তাই যখনvisudo
রান এটা খালি হবে- সুতরাং প্রথম সম্পাদক এই ক্ষেত্রে ব্যবহৃত হয়
nano
কেউ কি নিশ্চিত যে এটি সঠিক?
আমি আশা করি তাই একটি নিরাপদ সমাধান যোগ করা হবে:
Defaults!/usr/sbin/visudo env_keep+=EDITOR
যেমন EDITOR রাখুন যদি এবং কেবলমাত্র ভিজুডো চলমান থাকে। এরপরে এটি পরীক্ষা করা হবে
Defaults editor=/usr/bin/nano:/usr/bin/vim
এবং যদি এটি মেলে না হয় ব্যবহার করবে nano
আশ্চর্যের সাথে যদিও এটি মনে হয় না:
$ sudo su - root
# export EDITOR=/bin/echo
# visudo
/etc/sudoers.tmp
visudo: /etc/sudoers.tmp unchanged
/bin/echo
সম্পাদক হিসাবে ব্যবহৃত হয়। বাগ? নাকি অন্য কোনও ভুল ধারণা?
ধন্যবাদ
VISUAL
অগ্রাধিকার গ্রহণের বিষয়ে উল্লেখ করেEDITOR
। আমি ভেবেছিলাম আমারEDITOR
পরিবর্তনশীলটি কেবল উপেক্ষা করা হচ্ছে। Centos7 উভয় এ পরিণত হয়EDITOR
এবংVISUAL
এটি ডিফল্ট বলে মনে হয়pico
।