আমি কীভাবে সুডো / ভিজুডোর সম্পাদককে সঠিকভাবে সেট করতে পারি?


17

আমি উবুন্টু 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_resetSETENV ব্যতীত এবং ব্যবহারকারীদের পয়েন্টটি পরাজিত করে (আমি দিতে চাই এমন কিছু নয়: পূর্ববর্তী পয়েন্টটি দেখুন) পান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সম্পাদক হিসাবে ব্যবহৃত হয়। বাগ? নাকি অন্য কোনও ভুল ধারণা?

ধন্যবাদ

উত্তর:


6

আপনি ঠিক বলেছেন যে EDITORভেরিয়েবলটি নির্ধারণের জন্য ব্যবহৃত সম্পাদকটি পরিবর্তন করা উচিত sudo। তবে এর চেয়ে আরও দুটি প্রাধান্য রয়েছে EDITOR: SUDO_EDITORএবং VISUAL। নিশ্চিত হয়ে নিন যে এগুলির মধ্যে কেউই অন্য কোনও সম্পাদককে পছন্দ করেছে না nano


আমি আপভোট করার কারণটি কারণ খুব কম উত্তরই VISUALঅগ্রাধিকার গ্রহণের বিষয়ে উল্লেখ করে EDITOR। আমি ভেবেছিলাম আমার EDITORপরিবর্তনশীলটি কেবল উপেক্ষা করা হচ্ছে। Centos7 উভয় এ পরিণত হয় EDITORএবং VISUALএটি ডিফল্ট বলে মনে হয় pico
তিন

5

অন্য সমাধান হিসাবে বর্ণনা করেন এখানে :

sudo update-alternatives --config editor

তবে এটি কোনও বহু-ব্যবহারকারী সিস্টেমে এতটা বন্ধুত্বপূর্ণ নয় কারণ এটি কেবলমাত্র একটি সিমলিংকে আপডেট করে /usr/bin/:

$ ls -l `which editor`
lrwxrwxrwx 1 root root 24 lip  4 19:37 /usr/bin/editor -> /etc/alternatives/editor

$ ls -l /etc/alternatives/editor
lrwxrwxrwx 1 root root 18 Jul  5 01:39 /etc/alternatives/editor -> /usr/bin/vim.basic

select-editorযাইহোক কি হয়েছে ? আমি যখন এটি চালাব, এটি একটি ফাইল তৈরি করে:

$ ls -l .selected_editor 
-rw-r--r-- 1 rld rld 75 Jul  5 01:54 .selected_editor

$ cat .selected_editor 
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.basic"

তবে sudo visudoন্যানো ব্যবহার করতে থাকে।


3

ডেবিয়ান 7-এ, পরিবেশে EDITOR সেট করা কার্যকর হয়নি।

ন্যানো ব্যবহার করতে, আমি নিম্নলিখিত লাইনটি যুক্ত করে শেষ করেছি /etc/sudoers

Defaults        editor="/usr/bin/nano"

ডিজিটালওসন উবুন্টু 12.04 এ একটি চ্যাম্প পছন্দ করেছে। ধন্যবাদ।
জো কোডসওল ব্যবহারকারী 601770

ধন্যবাদ. এটি ওরাকল লিনাক্সেও কাজ করেছিল। (আমি ন্যানো / পিকো পছন্দ করি)
মাইকেপ

1

env_reset ব্যবহারকারীকে কমান্ড লাইনে ভেরিয়েবল সেট করা থেকে বিরত রাখে না:

$ sudo EDITOR=vim -- env |grep EDIT
EDITOR=vim

editorবিকল্পটি সম্পর্কে আপনার অনুসন্ধানগুলি আমি হালকা ধাক্কা দিয়েছি কিন্তু দুর্ভাগ্যক্রমে আমি আপনার গৌণ প্রশ্নের উত্তরগুলি জানি না। কেউ ভাবেন যে উবুন্টু শিবিরে এই বিষয়ে প্রচুর পরিমাণে ডক্স এবং কনফিগারেশন উদাহরণ থাকবে, সম্ভবত আমাদের আরও কঠোর হওয়া উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.