Как редактировать файл только для чтения в /etc? [duplicate]

Я совсем новый пользователь, поэтому еще не уверен, что смогу разобраться в системе. Я хочу изменить имя своего компьютера, поэтому я попытался отредактировать имя в /etc/hostname, но этот файл доступен только для чтения. Добавление ! не помогло. Я использую vim для редактирования файла.

16
задан 9 January 2017 в 05:54

6 ответов

Изменение параметров настройки системы требует полномочий суперпользователя. От терминала сделайте

sudo <editor> <filename>

, где энергия или нано или какая-либо другая команда редактора могли быть и являются той, необходимо ли отредактировать.

Вы могли также использовать gksudo gedit <filename>.

В любом случае Вам предложат пароль пользователя с полномочиями суперпользователя - в нормальной установке Ubuntu, это было бы первым пользователем, созданным во время установки.

18
ответ дан 23 November 2019 в 02:31

При редактировании файла без sudo, и Вы потребность sudo для сохранения, просто используйте эту команду энергии:

:w !sudo tee %

Кредит к доктор Beco . Обратите внимание, что энергия заметит, что файл изменяет и спрашивает Вас, если Вы хотите к (L) oad изменения, нажмите L .

11
ответ дан 23 November 2019 в 02:31
sudo -H gedit <path to file>

, например:

sudo -H gedit /etc/environment

или sudo nano /etc/environment Ctrl + X и Ctrl + Y и хит Входят (для нано)

0
ответ дан 23 November 2019 в 02:31

У Вас не могло бы быть доступа к файлу для изменения его.

для получения доступа, необходимо получить права суперпользователя и это sudo.

Открытый терминал, введите:

sudo -H gedit "your file name "

, Если Вы используете какой-либо другой текстовый редактор, вводят это.

-1
ответ дан 23 November 2019 в 02:31

По умолчанию у Вас есть wight разрешение к файлу hosts пользователю root только, как показано ниже:

-rw-r--r-- 1 root root 252 Dec 16 08:40 /etc/hosts

Следовательно необходимо использовать sudo для редактирования этого, или иначе можно использовать ниже команды для становления корневыми

sudo su -

однако, это не рекомендуется вообще.

самый безопасный и рекомендуемый его Вы используете ниже команды для редактирования файла

sudo, энергия/etc/hosts

тогда нажимают" Esc" на клавиатуре и затем вводят" : w! " для записи изменений в файле hosts тогда снова вводят" : q" или" : q! ", это должно, добьюсь цели для Вас.

-3
ответ дан 23 November 2019 в 02:31

Очень Короткий ответ:

Можно изменить файл (даже если это только для чтения) при владении им.

Короткий ответ:

Даже если пользователь, который Вы зарегистрированы как (в этом случае navid) имеет административные привилегии, Вы не сможете изменить /etc/hostname, потому что root пользователь владеет тем файлом. Следовательно, необходимо войти в систему как пользователь root.

Длинный ответ

Предположение, что Вы хотите изменить свое имя компьютера от oldName кому: newName, вот шаги, которые необходимо выполнить:

  1. Войдите в систему как пользователь root:

    navid@oldName:~$ sudo su -
    
  2. Открытое имя хоста:

    root@oldName:~# vi /etc/hostname
    
  3. Вы будете видеть oldName. Нажмите i для движения в режим вставки, затем изменяют его на newName. Затем нажмите Esc +: + w + q + Входят, чтобы сохранить и выйти.

  4. Открытые узлы:

    root@oldName:~# vi /etc/hosts
    

    Лучшие 2 строки похожи на это:

    127.0.0.1       localhost
    127.0.1.1       oldName
    
  5. Так же к тому, что Вы сделали на шаге 3, измените имя компьютера от oldName кому: newName. Затем сохраните и выйдите.

  6. Выйдите из пользователя root:

    root@oldName:~# exit
    
  7. Сохраните всю свою несохраненную работу и перезапустите свой компьютер:

    navid@oldName:~$ reboot
    
  8. Откройте свой терминал, и Вы будете видеть, что Ваше имя компьютера было успешно изменено!:-)

    navid@newName:~$ 
    

Примечание: Хотя можно достигнуть того, что Вы хотите путем пропуска шагов 4 и 5, я настоятельно рекомендую делать их также, избежать потенциальных ошибок в будущем.

См. также:

5
ответ дан 23 November 2019 в 02:31

Другие вопросы по тегам:

Похожие вопросы: