¿Cómo cambio el propietario al usuario actual en la carpeta y que contiene carpetas dentro de mi directorio de inicio?
12
Usando sudo nautilushe creado algunas carpetas y quiero deshacerme de los permisos de root en ellas. Pero tengo muchos y quiero hacerlo en un directorio completo y sus carpetas.
Entonces, ¿cómo permitir leer / escribir al usuario actual a todos los archivos y carpetas dentro de un directorio específico que está dentro de casa?
Para revertir el daño causado por el uso sudo nautilus, debe hacerse propietario de los directorios (y sus contenidos) que sean propiedad de root.
Puede findhacer esto, ya que tiene una prueba para encontrar solo archivos propiedad de un usuario específico.
Esto encontrará todos los directorios en su hogar propiedad de root:
sudo find ~ -type d -user root
Luego, puede repetir el findcomando y agregar la acción que desea realizar: cambiar de forma recursiva la propiedad de todos los directorios encontrados y sus contenidos al usuario actual:
-user root encontrar solo cosas que pertenezcan a root
-exec haga el siguiente comando en lo que se encontró
sudo chown -R cambiar recursivamente el dueño
$USER el usuario actual
: También cambie el grupo al usuario específico
De manera más eficiente, podría omitir la -type dbúsqueda de archivos de cualquier tipo que pertenezca a la raíz, y también omitir el -Rque findhará la recursión por usted al actuar sobre todos los archivos
Debe ejecutar su findcon sudo( sudo find ...) para inspeccionar los rootsubdirectorios propios con 0700protecciones y todo lo que se encuentre debajo de ellos. Lo mismo para la reparación.
waltinator
¿"defenderse de lo que es probable" o "defenderse de lo que es posible"? Tu elección.
waltinator
@waltinator seguro :) gracias por mencionarlo para poder mejorar. Solo trato de no usarlo sudohasta que sea necesario
Zanna
10
Ejecutar herramientas GUI, nautiluscomo rootse considera perjudicial por este motivo, entre otras (funciones ocultas, capacidad de ejecutar silenciosamente fragmentos de programa desde quién sabe dónde, ...).
No tiene un problema de "permiso", tiene un problema de "propiedad".
Para encontrar todos los archivos que posee root(realmente propiedad de cualquier otra persona), haga lo siguiente:
sudo find $HOME \! -user $USER
Para devolverle la propiedad, podría
sudo chown -R $(id -u):$(id -g) $HOME
pero eso cambiará la propiedad de todos los archivos dentro y debajo $HOME
sudo find $HOME \! -user $USER >/tmp/list-of-files
# edit the list of files, and delete file files you don't want to chown
nano /tmp/list-of-files
xargs sudo chown $(id -u):$(id -g) </tmp/list-of-files
Le da a uno la oportunidad de ajustar la lista de archivos, propiedad de usted, que le devolverán su propiedad.
Lo que debe hacer es cambiar la propiedad de la carpeta de la raíz del usuario (y grupo) al otro usuario (y grupo) que desee.
Imagine que desea trabajar en / home / randomFolder , y que el usuario al que desea administrar la propiedad es vitor-abella , lo que debe hacer es simplemente ejecutar esto como root:
find
consudo
(sudo find ...
) para inspeccionar losroot
subdirectorios propios con0700
protecciones y todo lo que se encuentre debajo de ellos. Lo mismo para la reparación.sudo
hasta que sea necesarioEjecutar herramientas GUI,
nautilus
comoroot
se considera perjudicial por este motivo, entre otras (funciones ocultas, capacidad de ejecutar silenciosamente fragmentos de programa desde quién sabe dónde, ...).No tiene un problema de "permiso", tiene un problema de "propiedad".
Para encontrar todos los archivos que posee
root
(realmente propiedad de cualquier otra persona), haga lo siguiente:Para devolverle la propiedad, podría
pero eso cambiará la propiedad de todos los archivos dentro y debajo
$HOME
Le da a uno la oportunidad de ajustar la lista de archivos, propiedad de usted, que le devolverán su propiedad.
fuente
Lo que debe hacer es cambiar la propiedad de la carpeta de la raíz del usuario (y grupo) al otro usuario (y grupo) que desee.
Imagine que desea trabajar en / home / randomFolder , y que el usuario al que desea administrar la propiedad es vitor-abella , lo que debe hacer es simplemente ejecutar esto como root:
Puede tomar un tiempo si hay muchos archivos y subcarpetas, pero después de eso, debería estar encaminado.
Salud.
fuente
$(id -u):$(id -g)
, en lugar de pedirle a OP que imagine, y$HOME/randomFolder
.