কাস্টম সম্পাদক সহ এর জন্য ভিজুডো ব্যবহার করুন। এটি ব্রিনের সমাধানের সাথে সমস্ত বর্ণের পরিস্থিতি এবং "হ্যাক" সমস্যার সমাধান করে।
#!/bin/sh
if [ -z "$1" ]; then
echo "Starting up visudo with this script as first parameter"
export EDITOR=$0 && sudo -E visudo
else
echo "Changing sudoers"
echo "# Dummy change to sudoers" >> $1
fi
এই স্ক্রিপ্টটি sudoers এর শেষে "# ডমি পরিবর্তন" sudoers এ যুক্ত করবে। কোনও হ্যাক এবং কোনও রেসের শর্ত নেই।
এনেটেটেড সংস্করণ যা এটি কীভাবে কাজ করে তা ব্যাখ্যা করে:
if [ -z "$1" ]; then
# When you run the script, you will run this block since $1 is empty.
echo "Starting up visudo with this script as first parameter"
# We first set this script as the EDITOR and then starts visudo.
# Visudo will now start and use THIS SCRIPT as its editor
export EDITOR=$0 && sudo -E visudo
else
# When visudo starts this script, it will provide the name of the sudoers
# file as the first parameter and $1 will be non-empty. Because of that,
# visudo will run this block.
echo "Changing sudoers"
# We change the sudoers file and then exit
echo "# Dummy change to sudoers" >> $1
fi
echo "$USER ALL=NOPASSWD:/usr/bin/rsync" | (sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/rsync')
।