9. Cambiar el propietario de un archivo
Inicialmente, el propietario de un archivo es el usuario que lo crea. El comando chown
se utiliza para cambiar el propietario de los archivos y directorios. Cambiar el usuario propietario requiere acceso administrativo. Un usuario ordinario no puede utilizar este comando para cambiar el usuario propietario de un archivo, ni tan solo para otorgar propiedad de uno de sus propios archivos a otro usuario. Sin embargo, el comando chown
permite cambiar el grupo propietario, lo cual puede ser realizado por el usuario root o el propietario del archivo.
Para cambiar el usuario propietario de un archivo, se puede utilizar la siguiente sintaxis. El primer argumento, [PROPIETARIO]
, especifica qué usuario debe ser el nuevo propietario. El segundo argumento, ARCHIVO
, especifica el archivo al cual se está cambiando el propietario.
chown [OPCIONES] [PROPIETARIO] ARCHIVO
Siga leyendo
Utilice el siguiente comando para cambiar al directorio Documents
:
sysadmin@localhost:~$ cd ~/Documents
Actualmente, todos los archivos del directorio Documents
son propiedad del usuario sysadmin. Esto se puede verificar mediante el comando ls -l
. Recuerde que la tercera columna indica cual es el usuario propietario.
sysadmin@localhost:~/Documents$ ls -l total 144 drwx------ 5 sysadmin sysadmin 4096 Dec 20 2017 School drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Work -rw-r--r-- 1 sysadmin sysadmin 39 Dec 20 2017 adjectives.txt -rw-r--r-- 1 sysadmin sysadmin 90 Dec 20 2017 alpha-first.txt -rw-r--r-- 1 sysadmin sysadmin 106 Dec 20 2017 alpha-second.txt -rw-r--r-- 1 sysadmin sysadmin 195 Dec 20 2017 alpha-third.txt -rw-r--r-- 1 sysadmin sysadmin 390 Dec 20 2017 alpha.txt -rw-r--r-- 1 sysadmin sysadmin 42 Dec 20 2017 animals.txt -rw-r--r-- 1 sysadmin sysadmin 14 Dec 20 2017 food.txt -rwxr--r-- 1 sysadmin sysadmin 647 Dec 20 2017 hello.sh -rw-r--r-- 1 sysadmin sysadmin 67 Dec 20 2017 hidden.txt -rw-r--r-- 1 sysadmin sysadmin 10 Dec 20 2017 letters.txt -rw-r--r-- 1 sysadmin sysadmin 83 Dec 20 2017 linux.txt -rw-r--r-- 1 sysadmin sysadmin 66540 Dec 20 2017 longfile.txt -rw-r--r-- 1 sysadmin sysadmin 235 Dec 20 2017 newhome.txt -rw-r--r-- 1 sysadmin sysadmin 10 Dec 20 2017 numbers.txt -rw-r--r-- 1 sysadmin sysadmin 77 Dec 20 2017 os.csv -rw-r--r-- 1 sysadmin sysadmin 59 Dec 20 2017 people.csv -rw-r--r-- 1 sysadmin sysadmin 110 Dec 20 2017 profile.txt -rw-r--r-- 1 sysadmin sysadmin 51 Dec 20 2017 red.txt
Para cambiar el propietario actual del script hello.sh
al usuario root
, use root
como primer argumento y hello.sh
como segundo argumento. No olvide usar el comando sudo
para obtener los privilegios administrativos necesarios. Utilice la contraseña netlab123
cuando se le solicite:
sysadmin@localhost:~/Documents$ sudo chown root hello.sh [sudo] password for sysadmin:
Confirme que el usuario propietario ha cambiado ejecutando el comando ls -l
. Utilice el nombre del archivo como argumento para limitar la salida:
sysadmin@localhost:~/Documents$ ls -l hello.sh -rwxr--r-- 1 root sysadmin 647 Dec 20 2017 hello.sh
El campo de usuario propietario es ahora root
, lo que indica que el cambio se ha realizado correctamente.
-rwxr--r-- 1 root sysadmin 647 Dec 20 2017 hello.sh
A tener en cuenta
Intente ejecutar el script hello.sh
de nuevo. ¡Error! ¿Por qué?
sysadmin@localhost:~/Documents$ ./hello.sh -bash: ./hello.sh: Permission denied
Sólo el usuario propietario tiene permiso para ejecutar. Ahora el usuario root
es el usuario propietario. Ahora este archivo requiere acceso administrativo para ejecutarse. Utilice el comando sudo
para poder ejecutar el script como usuario root
.
sysadmin@localhost:~/Documents$ sudo ./hello.sh [sudo] password for sysadmin: ______________ ( Hello World! ) -------------- \ \ <(^) ( )