Если у меня есть файл, зачем мне менять разрешение на запись в него?

Есть различные способы проверить, является ли пользователь корневым (чтобы затем установить PS1):

  • имя пользователя, используя $USER, $(whoami) (вывод $(whoami). N.B. суперпользователя можно назвать чем-то другим, но обычно он называется root.
  • ID пользователя, используя $EUID или $UID (см. здесь для получения некоторой информации). UID 0 всегда является суперпользователем.

Так что, например, вы можете заменить строку PS1+="\[ - \u \]" на "\[ - \u \]":

if [ $EUID -eq 0 ]; then
    PS1+="\[ - ${red}\u \]";
else
    PS1+="\[ - \u \]";
fi

Также можно было бы установить другую пользовательскую переменную в строку:

PS1+="\[ - \u  ${usercolor}\]"

И использовать условный оператор раньше, если так, чтобы изменить цвет:

if [ $EUID -eq 0 ]; then
    usercolor="\e[1;31m";
fi

1
22.02.2018, 16:49
2 ответа

Cuando crea un archivo usando sudo command, el propietario del archivo es root.

Ejemplo:

$ sudo vim test
$ ls -lsa test
4 -rw-r--r-- 1 root root 5 Feb 22 16:43 test

Cuando intente actualizar (escriba )un archivo usando la cuenta normal (que no es root), no podrá escribir en el archivo (a menos que el permiso del archivo sea escribe -capaz a todos)

Ejemplo:

$ echo "testing 123..." > test
bash: test: Permission denied
1
27.01.2020, 23:23

Si crea un archivo con sudo vim test, el propietario será root, no usted, por lo que si más tarde desea editar el archivo, debe cambiar el propietario de root a usted o cambiar los permisos.

Ver:

jordim@bucketlist-196008:~/test$ sudo vim test
jordim@bucketlist-196008:~/test$ ls -l
total 8
(...)
-rw-r--r-- 1 root   root      2 Feb 22 15:43 test
(...)

El archivo creado pertenece a root :root y solo root tiene permisos de lectura y escritura para él. El resto de los usuarios del grupo solo pueden leer, así como cualquier otro usuario de otros grupos.

La pregunta es, ¿por qué está creando el archivo con "sudo" si necesita editarlo más tarde como un usuario normal?

2
27.01.2020, 23:23

Теги

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