como hacer un programa similar a chmod en c

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )
Responder
james_alex
Forista Nuevo
Forista Nuevo
Mensajes: 3
Registrado: Jue Dic 13, 2012 4:12 am

como hacer un programa similar a chmod en c

Mensaje por james_alex »

muy buenas a todos

vi algo que me llamo mucho la atención y fue un programa realizado en "c" con el copilador "gcc" en linux que era muy similar a el comando de "chmod" de igual forma el programa daba permisos a archivos con la misma sintaxis de el comando "chmod"

mi duda es como seria el código en "c"??, me llamo la atención un poco estudiar este lenguaje y me gustaría ver como es el código para entenderlo

de antemano muchas gracias por todo

Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1908
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: como hacer un programa similar a chmod en c

Mensaje por hipersayan_x »

chmod es una función implementada en glibc:

http://www.delorie.com/djgpp/doc/libc/libc_94.html
https://www.gnu.org/software/libc/manua ... sions.html

y el otro es un comando que hace uso de esa función.
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net

james_alex
Forista Nuevo
Forista Nuevo
Mensajes: 3
Registrado: Jue Dic 13, 2012 4:12 am

Re: como hacer un programa similar a chmod en c

Mensaje por james_alex »

muchas gracias hipersayan_x, estuve haciendo la prueba y no me funciono muy bien, como realizarias el codigo

Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1908
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: como hacer un programa similar a chmod en c

Mensaje por hipersayan_x »

¿Y que es lo que no te funcionó? muestrame el código con el que lo probaste y lo corregimos.
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net

james_alex
Forista Nuevo
Forista Nuevo
Mensajes: 3
Registrado: Jue Dic 13, 2012 4:12 am

problema mas detallado

Mensaje por james_alex »

bueno estaba en pdf y los trascribí, este es el problema que me llamo la atencion y el que deseara ver la solucion ya que me parece un poco interesante

1. Descripción

Escribir una aplicación en C similar a chmod para cambiar permisos a un archivo.

2. Requerimientos

La aplicación debe soportar el siguiente formato

[aplicacion] –[parametro] argumento [archivo]

Parametros validos: usuario, grupo, otros
Argumentos validos: +r,-r, +r+w,-r-w

(+) Asignar permiso
(-) Quitar permiso

El argumento es una cadena que esta compuesto por hasta 3 permisos:

r Lectura
w Escritura
x Ejecucion

Ejemplo 1: Cambiar un solo permiso y solo a usuario | grupo | otros

./cambiar –usuario +x archivo
./cambiar –usuario –w archivo

./cambiar –grupo –w archivo

Nota:

- Este es el caso base, un solo permiso y solo al usuario o grupo u otros.
- Los permisos base son: +r, -r, +w, -w, +x, -x

Ejemplo 2: Cambiar 2 permisos y solo a usuario | grupo | otros

./cambiar –usuario +r+w archivo
./cambiar –usuario –w-x archivo

./cambiar –otros –w-x archivo

Nota:

- Similar al caso base, solo al usuario o grupo u otros pero 2 permisos a la vez.
- También es permitido asignar y quitar un permiso a la vez: +r-w, +w-x

Ejemplo 3: Quitar o Asignar todos los permisos y solo a usuario | grupo | otros

./cambiar –usuario + archivo
./cambiar –usuario – archivo

./cambiar –otros – archivo

Nota:

- Similar al caso base, solo al usuario o grupo u otros, solo que quito todo o asigno todos los permisos.

6. Notas

- Usar la función setuid/setgid para que la aplicación tenga privilegios de super usuario para cambiar permisos de cualquier archivo.
- Usar fchmod para cambiar permisos.

Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1908
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: como hacer un programa similar a chmod en c

Mensaje por hipersayan_x »

Podes echarle un vistazo al cf de chmod acá:

http://git.savannah.gnu.org/cgit/coreut ... rc/chmod.c
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net

Responder
  • Temas similares
    Respuestas
    Vistas
    Último mensaje