Как предотвратить владение файлом root при использовании `sudo gedit` [дубликат]

При использовании gedit , мне всегда нужно редактировать файл в / etc / или / usr / , который должен быть root. Поэтому я создал ярлык Launcher слева с помощью команды sudo gedit .

Таким образом, каждый раз, когда я щелкаю значок на левой панели запуска, gedit запускается от имени пользователя root. Но проблема в том, что когда я изменяю другие файлы, например файлы в / home , владелец файла также будет изменен на root. Я не хочу этого делать, я просто хочу сохранить этот файл, не изменяя его владельца, и я не хочу каждый раз перезапускать gedit от имени пользователя root для изменения файлов, принадлежащих пользователю root. Как это сделать?

3
задан 23 February 2015 в 08:10

2 ответа

Добавьте ярлык на свое средство запуска.

Я не изменил бы основную команду gedit средство запуска. Сделайте следующее:

  1. Никогда не редактируйте средство запуска по умолчанию, сначала копируйте то с /usr/share/applications кому: ~/.local/share/applications:

    cp /usr/share/applications/gedit.desktop ~/.local/share/applications/gedit.desktop
    
  2. Отредактируйте файл с... gedit (не с gksudo)

    gedit ~/.local/share/applications/gedit.desktop
    

    Ищите строку, начиная с Actions=, Добавить gedit with gksu;:

    Actions=Window;Document;gedit with gksu;
    
  3. К самому концу файла добавляют раздел ярлыка:

    [Desktop Action gedit with gksu]
    Name=gedit with gksu
    Exec=gksu gedit
    OnlyShowIn=Unity;
    
  4. Сделанный, Теперь если Вы нажимаете на значок, gedit запускается "обычно", в то время как Вы имеете gksu gedit доступный как ярлык:

    enter image description here



Непосредственно обзор для файла для редактирования

Если Вы часто редактируете файлы с gksu с gedit можно также непосредственно звонить (Zenity) браузер от средства запуска, для открытия файлов с gksu. Можно "сохранить" один шаг когда вводные файлы с gksu затем:

enter image description here

enter image description here

  1. Скопируйте и откройте локальное .desktop файл как в первой опции
  2. Ищите строку, начиная с Actions=, Добавить gksu gedit with filebrowser;:

    Actions=Window;Document;gksu gedit with filebrowser;
    
  3. В самом конце файла добавьте раздел ярлыка:

    [Desktop Action gksu gedit with filebrowser]
    Name=gksu gedit with filebrowser
    Exec=sh -c "gksu gedit $(zenity --file-selection --title='Select a file')"
    OnlyShowIn=Unity;
    

Примечание:

gksu не установлен по умолчанию, необходимо будет, вероятно, установить его при использовании команд, упомянул:

sudo apt-get install gksu
8
ответ дан 1 December 2019 в 13:17

Можно изменить владельца путем открытия терминала, и ввод в 'показанном пользователе/path/to/file как Командующий Байта указал, что можно сделать это. Однако устанавливая владелец не достаточно. потому что Вы получаете доступ к помещенному файлу корня в корне только папка доступа. Необходимо дать Ваш сам полные полномочия.

Для создания Вашего сам как поддерживают тот файл, только необходимо ввести в терминале

chmod u+aw filenamewithextension

, необходимо сделать это будучи в местоположении файла.

После этого Вы можете gedit без sudo и никогда не иметь систему, изменяют владельца. Не делайте sudo gedit, или это будет!

0
ответ дан 1 December 2019 в 13:17

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

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