How do I edit configuration files?
I’m a beginner to Ubuntu. Can anyone tell me how to edit a configuration file? This is on Ubuntu 18.04 LTS. Thanks in advance.
Welcome to Ask Ubuntu, please edit your post and provide more details, what do you exactly want to do?
Which files did you want to edit? I am asking because some files require root privileges and some highly recommend that you run a command specifically for editing them (example visudo for the sudoers file or crontab -e for adding cron entries)
4 Answers 4
Configuration files are usually owned by root . For example:
$ ll /etc/default/grub -rw-r--r-- 1 root root 6801 Jul 18 13:26 /etc/default/grub ^^ ^ ^ || | +-- Users can only read || +----- Members of the group can only read |+------- The owner can write +-------- The owner can read
In order for a user (yourself) to edit /etc/grub/default you need to use sudo powers. So instead of using:
You must use:
sudo -H gedit /etc/default/grub
At which point you will be prompted for your password.
The answer depends on which configuration file you want to edit. Most are text files that can be edited with admin privileges. Some are not. For example Firefox configuration should be done from inside Firefox using about:config page.
@user68186 Yes there are all kinds of specialized solutions like you mention. However generically most of the default packages in Ubuntu require sudo to edit configuration files like grub , plymouth , systemd , etc. These are just examples of booting the system. There are many more applications after system is booted that also require sudo . I believe this to be the spirit of the question. Adding all the exceptions would make all the answers a textbook.
@AndreaLazzarotto In the old days I created sgedit script which copies users profile for gedit to root so I actually don’t even use sudo -H gedit except buried within that script. i think there is a gksu gedit Q&A or two here in Ask Ubuntu where gedit admin:/// would be a great answer for you to post. Please let me know when you do and I’ll check it out.
System-wide configuration files, which are often in /etc , are owned by root and you need to elevate your privileges to edit them. It’s common to run a text editor as root with sudo , and other answers here show how. But just because only root can make changes the files does not mean you have to run your text editor as root. You can instead use sudoedit , which is documented in the same manpage as sudo .
For example, to edit /etc/hosts :
The way this works is that sudoedit :
- Checks if you’ve recently authenticated with sudo from the terminal you’re in (like sudo does), an prompts you for your password if you haven’t.
- Checks if it is clear that could just edit the file normally, without sudoedit or sudo . If so, it gives you an error message and quits. (In this situation, you should just edit the file normally as DK Bose says, assuming it makes sense to do so.)
- Makes a temporary copy of the file, opens that file in a text editor, and waits for the editor to quit.
- Checks if the file has changed, and updates the original if it has.
sudoedit works with your choice of text editor. To edit with nano :
VISUAL=nano sudoedit /etc/hosts
It even works with GUI editors like Gedit:
VISUAL=gedit sudoedit /etc/hosts
Furthermore, because the editor is run as you, it uses your configuration, so if you’ve customized the behavior of your editor, those customizations are used. Other ways of attempting this tend not to work very well.
You can set the VISUAL environment variable persistently for your user to make sudoedit , and various other commands that need to pick an editor, use your preferred editor. If you want to set an editor just for sudoedit (and visudo ) but not other programs, set SUDO_EDITOR instead of VISUAL .
Because the logic of checking if two files are the same and copying one onto another is simpler than the full logic of a text editor—and especially simpler than the full operation of a graphical program like Gedit—running sudoedit might be considered more secure in the specific sense that it is associated with a smaller attack surface. Running less stuff as root is good. But the main reason to use sudoedit is convenience.
Because sudoedit is so useful and versatile, its benefits are sometimes overstated. It’s a good tool, but you don’t have to use it, and using it instead of other methods doesn’t affect security in any decisive way. If you change system-wide configuration files in a way that breaks things, they will still break! That seems obvious when stated that way, but sometimes people try to give users the right to edit files owned by root with sudoedit while still trying to restrain those users in some way through technical measures. This is not usually practical.
Как редактировать файлы конфигурации в Ubuntu
Файлы конфигурации содержат информацию, необходимую для управления работой программы. Пользователи Linux, особенно администраторы Linux, должны знать, как редактировать файлы конфигурации для обслуживания сервера или рабочего стола Ubuntu. Файлы конфигурации в Ubuntu хранятся в подкаталогах папки /etc в виде текстовых файлов и могут быть отредактированы с помощью текстовых редакторов. Некоторые примеры конфигурационных файлов — /etc/hosts, host.conf, hosts. resolv.conf, /etc/networks, syslog.conf и т.д. в операционных системах на базе Linux.
Чтобы внести изменения в конфигурацию, необходимо открыть файл с помощью текстового редактора и отредактировать его. В этой статье я описываю несколько способов редактирования конфигурационных файлов в Ubuntu.
- Использование редактора Gedit
- Использование редактора Nano
- Использование редактора Vim
- Использование редактора Gvim
- Использование редактора Emacs
Теперь давайте рассмотрим эти текстовые редакторы. Используя эти редакторы, вы можете легко редактировать файлы в терминале.
Использование редактора Gedit
Gedit — это текстовый редактор по умолчанию в среде рабочего стола Gnome. Он поддерживает вкладки, поэтому вы можете открывать различные файлы в нескольких вкладках. Это более простой и удобный текстовый редактор по сравнению с другими доступными текстовыми редакторами.
Чтобы отредактировать файл конфигурации в текстовом редакторе, запустите Terminal, нажав комбинацию клавиш Ctrl+Alt+T. Затем введите следующую команду как sudo:
sudo gedit /path/to/filename
Замените /path/to/filename на фактический путь к файлу конфигурации, который вы хотите отредактировать. Когда появится запрос на ввод пароля, введите пароль sudo.
Пример: редактирование файла /etc/resolv.conf
Он похож на редактор Блокнот в операционной системе Windows. Как только откроется окно редактора, вы можете начать набирать текст или редактировать его, не входя ни в какой режим. Как только вы закончите редактирование, нажмите Ctrl+S, чтобы сохранить файл.
Использование редактора Nano
Nano — это самый простой и самый мощный встроенный редактор во многих дистрибутивах Linux. Вам не нужно изучать редактор Nano перед его использованием, а также не нужно запоминать команды. Они отображаются внизу и могут быть вызваны клавишей Ctrl. Например, чтобы сохранить файл, нажмите Ctrl+O.
Чтобы отредактировать любой файл конфигурации, просто откройте окно терминала, нажав комбинацию клавиш Ctrl+Alt+T. Перейдите в каталог, где находится файл. Затем введите nano, за которым следует имя файла, который вы хотите отредактировать.
Замените /path/to/filename на фактический путь к файлу конфигурации, который вы хотите отредактировать. Когда появится запрос на ввод пароля, введите sudo password.
Теперь вы можете редактировать и вносить изменения в конфигурационный файл с помощью редактора nano.
После завершения редактирования нажмите Ctrl+O для сохранения и Ctrl+X для выхода из редактора.
Использование редактора Vim
Редактор Vim или Vi также поставляется предустановленным в большинстве дистрибутивов Linux. Он не имеет видимых подсказок или элементов управления, что может быть немного сложнее для новичков. Однако, как только вы освоите его, он станет более быстрым и мощным инструментом для редактирования. Используя Vim, вы можете редактировать и просматривать несколько файлов за один сеанс.
Чтобы открыть файл в редакторе Vim, откройте окно терминала, нажав комбинацию клавиш Ctrl+Alt+T. Затем введите vi как sudo, за которым следует имя файла и путь к нему, например:
Замените /path/to/filename на фактический путь к файлу конфигурации, который вы хотите отредактировать. Когда появится запрос на ввод пароля, введите sudo password.
Затем отредактируйте файл с помощью редактора Vim. Обратите внимание, что при открытии редактора вы переходите в командный режим. Вот несколько шагов для редактирования файла в редакторе Vim:
- Чтобы отредактировать файл, нажмите I на клавиатуре, чтобы войти в режим вставки, здесь вы можете редактировать так же, как в обычном редакторе.
- После завершения редактирования выйдите из этого режима, нажав Esc. Это вернет вас в обычный режим.
- Чтобы сохранить файл, введите :w в командном режиме.
- Чтобы выйти из редактора, введите :q в командном режиме.
- Чтобы совместить эти действия, введите :wq для сохранения и выхода одновременно.
Использование редактора Gvim
Gvim — это редактор Vim с графическим интерфейсом пользователя. Чтобы установить Gvim, запустите Terminal, нажав Ctrl+Alt+T. Затем введите следующую команду в Terminal, чтобы начать установку.
sudo apt-get install vim-gnome
После завершения установки вы можете открыть и отредактировать любой файл конфигурации. Введите следующую команду с правами sudo в Терминале, чтобы открыть любой файл конфигурации в Gvim:
Нажмите I, чтобы войти в режим вставки, в котором вы можете редактировать файл.
В редакторе Gvim вы можете выполнять различные функции с помощью панели инструментов, как в любом обычном GUI-приложении, например, сохранение файла, отмена, повтор, поиск ключевого слова и т.д.
Использование редактора Emacs
Emacs также является текстовым редактором, но он не является встроенным редактором. Вы должны вручную установить его с помощью Терминала Ubuntu. В нем очень много функций, включая встроенный веб-браузер, калькулятор, календарь, Терминал и т.д.
Чтобы установить редактор Emacs, запустите Terminal, нажав комбинацию клавиш Ctrl+Alt+T. Введите следующую команду в Терминале как sudo:
После установки вы сможете открывать и редактировать в нем любые файлы конфигурации.
Чтобы открыть файл конфигурации с помощью редактора emacs, введите emacs, затем имя файла и путь к нему в следующем синтаксисе:
sudo emacs /path/to/filename
Замените /path/to/filename на фактический путь к файлу конфигурации, который вы хотите отредактировать. Когда появится запрос на ввод пароля, введите пароль sudo.
Итак, это были некоторые простые редакторы, которые вы можете использовать для простого и безопасного редактирования файлов конфигурации в вашей операционной системе