Как я могу переименовать объекты в местах, которые мне не принадлежат, например /, и почему я не должен?

14

Я получаю Permission deniedсообщение при попытке переименования файлов и папок , в таких местах , как /, /usrи домашние каталоги других людей. Я администратор. Как я могу это сделать?

Кроме того, я слышал, что переименование таких файлов и папок может быть опасным. Это правда? Разве я не должен этим заниматься?

Элия ​​Каган
источник
Почему нет ? Потому что вам, как пользователю, лучше иметь вескую причину для переименования материала, который был установлен при установке по умолчанию> :)
Сергей Колодяжный,

Ответы:

17

Обычно неправильно переименовывать элементы, которые находятся непосредственно /или непосредственно в любой из его подпапок (например /usr). На самом деле, вы должны избегать переименования чего-либо вне вашего домашнего каталога, если вы не уверены, что вам нужно это сделать и что вы делаете это правильно. В противном случае вы можете переименовать что-то критически важное для функционирования вашей системы Ubuntu, в результате чего оно перестанет работать (или перестанет работать должным образом).

Если вы обнаружите, что задаете что-то похожее на вопрос выше , вам следует подумать о публикации нового вопроса, где вы предоставляете дополнительную информацию о том, чего хотите достичь, или добавляете детали, если вы уже задали свой вопрос.

В терминале

Чтобы переименовать файл или папку в Терминале, используйте mvкоманду (та же команда, которая использовалась для перемещения файла или папки из одного места в другое в том же разделе):

mv old-name new-name

Если файл или папка находится в папке , где вы не имеете права на запись (что часто случается , когда вы не его владелец ), то вы должны запустить запустить эту команду какroot с sudo:

sudo mv old-name new-name

(Или вы можете использовать для выполнения операции переименования другого пользователя, если вы предпочитаете. Кроме того, обратите внимание, что если у вас есть права на запись в каталог, которым вы не владеете, но его залипший бит установлен, вы не будете иметь возможность переименовывать внутри него файлы, которые вам не принадлежат, без использования .)sudo -u username mv old-name new-namerootsudo

Наутилус

Вы можете запустить файловый менеджер Nautilus, rootнажав Alt+ F2и выполнив команду gksu nautilus. Это позволит вам переименовывать файлы и папки в любом месте и делать все другие мощные и опасные вещи.

Будьте внимательны и помните, что любые программы, которые вы запускаете (например, открывая документы) из rootокна Nautilus, также будут запускаться как root, и убедитесь, что окно закрыто, когда вы закончите, чтобы потом не перепутать его с обычным, более безопасным Окно наутилус .

Но, пожалуйста, не переименовывайте вещи вне вашего домашнего каталога, если вы действительно не знаете, что делаете. Вероятно, это сильно сломает вашу систему Ubuntu. И это, вероятно, не достигнет того, чего вы пытаетесь достичь.

Спасибо Ричарду за помощь в разъяснении условий, при которых пользователь может переименовать элемент без Permission deniedошибки.

Элия ​​Каган
источник
3

Даже если вы являетесь администратором, при обычном использовании рабочего стола у вас есть типичные привилегии пользователя. Таким образом, любой, кто получит доступ к вашей учетной записи (например, вирус), не сможет полностью контролировать систему.

Для запуска программы с правами администратора вам необходимо использовать gksuформу Alt-F2приглашения или sudoв терминале. Например, нажатие Alt+F2и ввод текста gksu nautilusпредложит вам ввести пароль (чтобы доказать, что это действительно вы) и запустите браузер файлов с правами администратора. В этом окне вы сможете изменить что-либо в системе, НО БУДЬТЕ ОСТОРОЖНЫ

В частности, вы не должны связываться ни с чем вне, /homeесли вы не знаете, что делаете. Другие папки содержат системные файлы. Изменение этих файлов может привести к поломке вашего компьютера. Если вы пытаетесь выполнить определенную задачу и не знаете, как ее исправить, вам следует открыть новый вопрос, чтобы получить инструкции о том, как это исправить. Часто бывают простые исправления, которые не сломают вашу систему.

Например, переименование /usrпапки повредит почти все программы на вашем компьютере, включая программы, необходимые для использования вашего графического интерфейса ...

Другими словами, вам нужно иметь достаточный опыт работы с Linux, чтобы решить эту проблему.

undecim
источник
0

Я могу предложить следующий обходной путь. Чтобы переименовать папки в каталоге / просто:

  1. Создайте новый каталог с желаемым именем: sudo mkdir /newdir
  2. Дайте доступ к этому каталогу: sudo chown -R user:group /newdir
  3. Скопируйте файлы в вашу папку: cp /olddir/filename.ext /newdir
  4. Удалить старый каталог: sudo rm -r -f /olddir
user593662
источник