На самом деле это довольно просто.
Root — ваш «супер-суперпользователь»
Создайте учетную запись с именем «admin» и предоставьте ему все права root, кроме тех, которые вам не нужны.
Затем создайте пользователя с именем bob и позвольте ему «стать администратором». Используя su или даже sudo.
Теперь у вас есть обычный пользователь (bob )суперпользователь с правами администратора (admin )и суперпользователь (root ).
Если вы хотите изменить имя "root" на другое, вы даже можете это сделать. Технически имеет значение только идентификатор пользователя (0 ).
Любое решение, основанное на sed (или чем-то еще, не выполняющем надлежащий анализ XML ), будет неверным в некоторых пограничных случаях. Например, решение от @Pitel:
(a )заменяет содержимое вещей, которые выглядят как атрибуты имени, даже если они находятся в комментариях или тексте, а не в начальном теге
(b )также изменяет содержимое атрибута с именем firstname
или lastname
(c )не может определить атрибут, если он содержит пробелы вокруг знака равенства.
Таким образом, его может хватить для одного -нерегулярного -использования, но не включайте его в производственный рабочий процесс. Если вам нужно что-то производственного качества, используйте XSLT-преобразование. Это не сложно:
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
<xsl:mode on-no-match="shallow-copy"/>
<xsl:template match="@name">
<xsl:attribute name="name" select="translate(., '-', '_')"/>
</xsl:template>
</xsl:transform>