Wikipedia

Support Wikipedia
Mostrando entradas con la etiqueta Ejemplos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Ejemplos. Mostrar todas las entradas

2010-11-20

Permisos en Linux

Hace un tiempo creé una entrada en "f-flash.blogspot.com" (blog declarado muerto!) en la que se hablaba del tema de los permisos que al principio cuesta entender un poco

primero veamos que dice "chmod"

fran@desktop:~$ chmod --help
Modo de empleo: chmod [OPCIÓN]... MODO[,MODO]... ARCHIVO...
o bien: chmod [OPCIÓN]... MODO-OCTAL ARCHIVO...
o bien: chmod [OPCIÓN]... --reference=ARCHIVO-R ARCHIVO...
Cambia el modo de cada ARCHIVO a MODO.

-c, --changes como «verbose» pero sólo informa de los cambios
--no-preserve-root no trata «/» de forma especial (predeterminado)
--preserve-root no opera recursivamente sobre «/»
-f, --silent, --quiet suprime la mayoría de los mensajes de error
-v, --verbose muestra un mensaje por cada archivo procesado
--reference=FICH_R utiliza el modo de FICH_R en lugar del valor MODO
-R, --recursive cambia archivos y directorios recursivamente
--help muestra esta ayuda y finaliza
--version informa de la versión y finaliza

Cada MODO es de la forma «[ugoa]*([-+=]([rwxXst]*|[ugo]))+».

Informar de chmod errores a bug-coreutils@gnu.org
GNU coreutils página de inicio:
Ayuda general para usar software de GNU:
Informar de errores en la traducción chmod a
For complete documentation, run: info coreutils 'chmod invocation'
fran@desktop:~$


cuando se establecen los permisos en un archivo, según lo que dice chmod, se hace de la forma siguiente:

primero ver que permisos tiene determinado archivo, en este caso se trata de: version-check.sh

-rw-r--r-- 1 fran fran 1208 2010-10-17 15:43 version-check.sh

La primera parte (-rw-r--r--) esta dividida de la siguiente forma:
-rw: corresponden a los permisos que posee el propietario
-r-: corresponden a los permisos de los usuarios del mismo grupo o permisos de grupos
-r-: permisos que tienen los "otros" o usuarios que tengan acceso a este archivo.

La segunda parte (fran fran) corresponde al owner o propiedatrio y al grupo al que pertenece

Entonces si :
r: read -> lectura
w: write -> escritura
x: execute-> ejecución

quiere decir que:

el usuario fran leer y escribir el archivo version-check.sh, el resto del grupo solo puede leer el archivo y el resto solo puede leer

Ahora, como cambiar los permisos, existen dos formas de hacerlo, es lo que sé hasta el momento:

1.- chmod +x archivo (permiso de ejecución para todos)
2.- chmod 755 archivo (dueño=7, grupo=5, otros=5) segun la tabla de abajo esto significa que el dueño tiene permisos de rwx(lectura, escritura, ejecución) y los del grupo y los otros tienen permisos r-x(lectura, ejecución)

---------------read----write-----exec
0 ----- 000-----no-------no-------no
1 ----- 001-----no-------no-------si
2 ----- 010-----no-------si-------no
3 ----- 011-----no-------si-------si
4 ----- 100-----si-------no-------no
5 ----- 101-----si-------no-------si
6 ----- 110-----si-------si-------no
7 ----- 111-----si-------si-------si

2009-08-19

Mas JAVA

Un ejemplo de matrices en java, muy utiles, la idea es poder leer 3 notas de 2 ramos y entregar los promedios correspondientes, en realidad para este ejemplo en particular resulta mas sencillo leer nota a nota y sacar los promedio directamente, el problema aparece cuando se quieren agregar mas datos, de ahi la utilidad de las matrices.
----------------------------------------------------------------------------------------------------
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package clase2;
import java.io.*;
/**
*
* @author fran
*/

public class NewClass1 {
/*private int matriz1;
private int [][] data;
*/
public static void main(String[] args) {
InputStreamReader Isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader (Isr);
try{
//int suma=0;
int suma1=0, suma2=0, temp=0;
int prom1=0, prom2=0;
int [][] matriz1 = new int [2][3];
for(int i=0; i<2; i++){
for(int j=0;j<3;j++){
System.out.println("ingrese las notas");
matriz1[i][j] =Integer.parseInt(br.readLine());
}
}
for(int i=0;i<2;i++){
suma2=0;
for(int j=0;j<3;j++){
temp =temp +matriz1[i][j];
suma2=suma2 +matriz1[i][j];
suma1=temp-suma2;
prom1 = suma1/3;
prom2 = suma2/3;
}
}

System.out.println("como ayuda imprimero los numeros segun su ubicacion e la matriz\n");
System.out.println("numeros (matriz1[0][0]): "+ matriz1[0][0]);
System.out.println("numeros (matriz1[0][1]): "+ matriz1[0][1]);
System.out.println("numeros (matriz1[0][2]): "+ matriz1[0][2]);
System.out.println("----------------------------------------");
System.out.println("numeros (matriz1[1][0]): "+ matriz1[1][0]);
System.out.println("numeros (matriz1[1][1]): "+ matriz1[1][1]);
System.out.println("numeros (matriz1[1][2]): "+ matriz1[1][2]);
System.out.println("----------------------------------------");
System.out.println("sumas es: "+ suma1);
System.out.println("sumas es: "+ suma2);
System.out.println("promedio es: "+ prom1);
System.out.println("promedio es: "+ prom2);
}catch (Exception e)
{
e.printStackTrace();
}
}
}