Básicamente, quiero poder escribir datos usando stfp, pero cuando lo uso. dice permiso denegado. Quiero poder hacerlo en este directorio /home/user
para que cuando use ls -l
el comando tenga el siguiente resultado
total 8
drwxr-xr-x 2 root root 4096 Apr 22 21:43 FOLDER1
drwxr-xr-x 2 root root 4096 Apr 22 22:00 FOLDER2
¿Cómo puedo ver quién es el propietario de este directorio? Sé que puedo usar este cmd chmod a+rw user
para otorgar permisos de lectura y escritura a todos, pero solo quiero dárselo a un solo usuario. Y sólo hay un usuario en el sistema, pero es posible que cree más en el futuro. Quiero entender el concepto de propietario y grupos. Preguntas adicionales: - cómo ver qué grupos hay. cómo crear grupos y cómo agregar usuarios a esos grupos.
Respuesta1
Muy buena y correcta respuesta deyxz
Lo único que mejoraría es un ejemplo real (aunque esté implícito). Como es posible que aún no comente (no hay suficientes puntos de reputación), tengo que escribir una respuesta adicional para poder proporcionar ejemplos.
Sintaxis de comando simplificada:
sudo chown username[:[groupname]] <filename>
sudo chown username[:[groupname]] <dirname>
Para los siguientes ejemplos estos son los parámetros
- nombre de usuario:Jacobo
- nombre del grupo de inicio de sesión:temporizador
- Nombre del grupo:cuentas
- Nombre del archivo:foo
- nombre del directorio:clientela
El archivo foo
existe en el sistema nombrado server
en el recurso compartido nombrado data
en el directorio clients
.es decir //sever/data/clients/foo
Ejemplos: cambiar la propiedad del archivo
1. admin@server:/data$ sudo chown jack clients/foo
2. admin@server:/data$ sudo chown jack: clients/foo
3. admin@server:/data$ sudo chown jack:accounts clients/foo
- cambiar propietario dearchivonombrado
foo
paraJacobo - cambiar propietario dearchivonombrado
foo
paraJacoboy grupotemporizador. Jack es miembro de lagrupo de inicio de sesiónllamadotemporizador. En este ejemplo elgrupo de inicio de sesiónestá implícito en el uso de:
después del nombre del propietario - cambiar propietario dearchivonombrado
foo
paraJacoboy grupo paraaccounts
Ejemplos: cambiar la propiedad del directorio
4. **admin@server:/data$** sudo chown jack clients
5. admin@server:/data$ sudo chown jack: clients
6. admin@server:/data$ sudo chown jack:accounts client
7. admin@server:/data$ sudo chown -R jack:accounts client
- cambiar propietario dedirectorionombrado
clients
paraJacobo - cambiar propietario dedirectorionombrado
clients
paraJacoboy grupotemporizador - cambiar propietario dedirectorionombrado
clients
paraJacoboy grupo paraaccounts
- cambiar propietario dedirectorioy todos los archivos en el directorio nombrado
clients
paraJacoboy grupo paraaccounts
Para obtener más ayuda, consulte:
chown --help
man chown
info chown
Respuesta2
En su ls -l
salida, la tercera y cuarta columna son el usuario (propietario) y el grupo (propietario) respectivamente, por lo que ambas carpetas son propiedad de la raíz.
Si ejecuta chmod +006 yourfile
, esto otorga a todos los usuarios permiso de lectura y escritura yourfile
. En este caso, root
es propietario de la carpeta, por lo que deberá utilizarla sudo
(o algún otro método para emitir el comando como root). Si solo desea que uno o varios usuarios tengan acceso, puede usar chown userowner[:groupowner]
(con sudo
) para convertir a ese usuario o grupo en el propietario del archivo y usar chmod +600
para otorgar lectura y escritura al propietario y chmod +060
para otorgar lectura y escritura al propietario del grupo.
Para enumerar los grupos a los que pertenece el usuario actual, utilice groups username
. Para enumerar todos los grupos, puede utilizar cat /etc/group
. getent group
también funciona.
Para crear un nuevo grupo, utilice groupadd
.
Para agregar un usuario a un grupo, use usermod -Ga groupname username
. Si no utiliza la -a
bandera, el usuario username
se elimina de todos los grupos actuales y solo está presente en el nuevo grupo groupname
.