<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bosque Viejo &#187; gnu/linux</title>
	<atom:link href="http://bosqueviejo.net/category/gnulinux/feed/" rel="self" type="application/rss+xml" />
	<link>http://bosqueviejo.net</link>
	<description>Sitio web sobre programación, software libre, redes, servidores, ofimática... y todo lo relacionado con la informática que nos rodea</description>
	<lastBuildDate>Tue, 08 May 2012 14:40:56 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>¡Debian Squeeze 6.0 liberada!</title>
		<link>http://bosqueviejo.net/2011/02/14/debian-squeeze-liberada/</link>
		<comments>http://bosqueviejo.net/2011/02/14/debian-squeeze-liberada/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 18:11:32 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[noticia]]></category>
		<category><![CDATA[sistemas operativos]]></category>
		<category><![CDATA[squeeze]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/?p=573</guid>
		<description><![CDATA[ Hace aproximadamente una semana se liberó la nueva versión de una de las distribuciones de GNU/Linux más usadas y respetadas del sector: Debian 6.0 Squeeze.
La nueva versión viene con un instalador mejorado, la instalación gráfica recuerda a las primeras instalaciones de RedHat, tiene un buen acabado y es bastante rápida, además de configurable. Destacar que esta versión está disponible en soporte Blu-Ray (además de DVD y CD-ROM, como siempre), y USB.
Como novedad, se puede elegir, en la instalación, el sistema de ficheros ext4 (aunque por defecto nos da la opción de ext3), además del uso de LVM, que también estaba disponible en Lenny.
Otra de las novedades es la posiblidad de poder usar el kernel de FreeBSD en lugar del kernel de Linux. Realmente no son, aún, intercambiables 100%, puesto que no hay soporte completo desde la interfaz de usuario a todas las opciones que puede brindar FreeBSD, pero poco a poco todo llegará.
El software que trae, y que destaca la noticia de su liberación es el siguiente:

KDE 4.4.5, el cual no termino de verlo con tan buenos ojos porque sigo siendo de los que prefieren la versión 3.5, pero he de admitir que esta es menos buggy que la [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://bosqueviejo.net/wp-content/uploads/a944e0_squeeze-150x150.jpg" alt="Squeeze" title="a944e0_squeeze" width="150" height="150" class="alignleft size-thumbnail wp-image-576" /> Hace aproximadamente una semana se liberó la nueva versión de una de las distribuciones de GNU/Linux más usadas y respetadas del sector: <strong>Debian 6.0 <em>Squeeze</em></strong>.</p>
<p>La nueva versión viene con un instalador mejorado, la instalación gráfica recuerda a las primeras instalaciones de RedHat, tiene un buen acabado y es bastante rápida, además de configurable. Destacar que esta versión está disponible en soporte <em>Blu-Ray</em> (además de DVD y CD-ROM, como siempre), y USB.</p>
<p>Como novedad, se puede elegir, en la instalación, el sistema de ficheros ext4 (aunque por defecto nos da la opción de ext3), además del uso de LVM, que también estaba disponible en Lenny.</p>
<p>Otra de las novedades es la posiblidad de poder usar el kernel de FreeBSD en lugar del kernel de Linux. Realmente no son, aún, intercambiables 100%, puesto que no hay soporte completo desde la interfaz de usuario a todas las opciones que puede brindar FreeBSD, pero poco a poco todo llegará.</p>
<p>El software que trae, y que destaca la <a href="http://www.debian.org/News/2011/20110205a">noticia de su liberación</a> es el siguiente:</p>
<ul>
<li>KDE 4.4.5, el cual no termino de verlo con tan buenos ojos porque sigo siendo de los que prefieren la versión 3.5, pero he de admitir que esta es menos <em>buggy</em> que la distribución de Ubuntu en la que probé esta versión de KDE.</li>
<li>Gnome 2.30, que tiene muy buen acabado y del cual no puedo decir gran cosa porque no soy usuario aférrimo de este escritorio, pero lo que he visto me ha gustado.</li>
<li>OpenOffice 3.2.1</li>
<li>Gimp 2.6.11</li>
<li>Iceweasel 3.5.16</li>
<li>Icedove 3.0.11</li>
<li>PostgreSQL 8.4.6</li>
<li>MySQL 5.1.49</li>
<li>Linux 2.6.32</li>
<li>Apache 2.2.16</li>
<li>Samba 3.5.6</li>
<li>Python 2.6.6, 2.5.5 y 3.1.3</li>
<li>Perl 5.10.1</li>
<li>PHP 5.3.3</li>
<li>Asterisk 1.6.2.9</li>
<li>Nagios 3.2.3</li>
<li>Xen 4.0.1</li>
<li>OpenJDK 6b18</li>
<li>Tomcat 6.0.18</li>
<li>&#8230;</li>
</ul>
<p>Mucho por ver&#8230; ya iremos catándolo a través del tiempo, de momento, desde la versión Sarge de Debian no hay ninguna que me haya dejado con mal sabor de boca, y van: Sarge, Etch, Lenny y ahora Squeeze <img src='http://bosqueviejo.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2011/02/14/debian-squeeze-liberada/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Procesos en GNU/Linux</title>
		<link>http://bosqueviejo.net/2010/11/27/procesos-en-gnulinux/</link>
		<comments>http://bosqueviejo.net/2010/11/27/procesos-en-gnulinux/#comments</comments>
		<pubDate>Sat, 27 Nov 2010 00:55:10 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[procesos]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/?p=558</guid>
		<description><![CDATA[Me he dado cuenta de que, hace bastante tiempo que aprendí cómo se gestionan (sobre todo desde la consola) la creación, parada, paso a segundo plano y cambio de prioridad de los procesos de los sistemas tipo Unix, pero, que es algo no tan trivial para la gente que comienza a usar este tipo de entornos, y sobretodo los que vienen de sistemas con Windows. 
Por ello, voy a explicar lo que son los procesos de este tipo de sistemas operativos (sobre todo orientándome en GNU/Linux).
¿Qué es un proceso?
Un proceso es un programa software que se carga en memoria y comienza a ejecutarse de forma secuencial. Un proceso puede, a su vez, según el sistema operativo, contener elementos paralelos de ejecución, como pueden ser hilos (threads). La ejecución de los procesos se puede ver con el comando:
ps xa
En GNU/Linux, cada proceso puede a su vez, lanzar otros procesos hijos. Estos dependerán del padre, de modo que cuando el proceso padre muera, los procesos hijos recibirán la señal de que deben de finalizar su ejecución.
La dependencia de procesos puede verse con el comando:
pstree
Procesos y recepción de Señales
Cada proceso que se ejecuta en el sistema operativo está preparado para recibir una serie [...]]]></description>
			<content:encoded><![CDATA[<p>Me he dado cuenta de que, hace bastante tiempo que aprendí cómo se gestionan (sobre todo desde la consola) la creación, parada, paso a segundo plano y cambio de prioridad de los procesos de los sistemas tipo Unix, pero, que es algo no tan trivial para la gente que comienza a usar este tipo de entornos, y sobretodo los que vienen de sistemas con Windows. </p>
<p>Por ello, voy a explicar lo que son los procesos de este tipo de sistemas operativos (sobre todo orientándome en GNU/Linux).</p>
<h3>¿Qué es un proceso?</h3>
<p>Un proceso es un programa software que se carga en memoria y comienza a ejecutarse de forma secuencial. Un proceso puede, a su vez, según el sistema operativo, contener elementos paralelos de ejecución, como pueden ser hilos (threads). La ejecución de los procesos se puede ver con el comando:</p>
<pre>ps xa</pre>
<p>En GNU/Linux, cada proceso puede a su vez, lanzar otros procesos hijos. Estos dependerán del <em>padre</em>, de modo que cuando el proceso padre <em>muera</em>, los procesos hijos recibirán la señal de que deben de finalizar su ejecución.</p>
<p>La dependencia de procesos puede verse con el comando:</p>
<pre>pstree</pre>
<h3>Procesos y recepción de Señales</h3>
<p>Cada proceso que se ejecuta en el sistema operativo está preparado para recibir una serie de señales y actuar en consecuencia. El comando <em>kill</em> es el empleado de forma cotidiana para enviar de forma manual estas señales.</p>
<p>Las <a href="http://es.wikipedia.org/wiki/Señal_(informática)">señales que se pueden enviar</a>, en resumen, son:</p>
<table>
<tr>
<th>1 &#8211; SIGHUP</th>
<td>Hangup. Se indica al programa que debe de salir. Pero es reprogramable para poder usarse en otros comportamientos, como <em>reload</em>.</td>
</tr>
<tr>
<th>9 &#8211; SIGKILL</th>
<td>Kill. Le dice al sistema operativo que debe de terminar de forma forzosa con ese proceso.</td>
</tr>
<tr>
<th>15 &#8211; SIGTERM</th>
<td>Terminación. Es reprogramable para poder realizar tareas específicas antes de salir.</td>
</tr>
<tr>
<th>19 &#8211; SIGSTOP</th>
<td>Stop. Detiene el proceso, pero sin terminarlo, de modo que se pueda volver a reanudar su ejecución.</td>
</tr>
<tr>
<th>18 &#8211; SIGCONT</th>
<td>Continue. Le dice a un proceso parado que continúe su ejecución.</td>
</tr>
</table>
<p>Si queremos enviar a un proceso una señal específica, por ejemplo, que debe de terminar de inmediato, solo habrá que escribir:</p>
<pre>kill -9 12123</pre>
<p>Esto le dice al sistema operativo que debe de eliminar forzosamente el proceso 12123.</p>
<h3>Estados de los procesos</h3>
<p>Un proceso puede tener estados básicos de:</p>
<table>
<tr>
<th>S &#8211; Sleep</th>
<td>Durmiendo. Quiere decir que está en ejecución, pero en ese momento no se encuentra ejecutándose ningún código dentro de la CPU.</td>
</tr>
<tr>
<th>D &#8211; Sleep</th>
<td>Es igual que el anterior, pero no es posible interrumpirlo.</td>
</tr>
<tr>
<th>T &#8211; Stopped</th>
<td>Parado. Quiere decir que se ha detenido su ejecución.</td>
</tr>
<tr>
<th>R &#8211; Running</th>
<td>En ejecución. Es un proceso que se está ejecutando de forma activa en la CPU.</td>
</tr>
<tr>
<th>Z &#8211; Zombie</th>
<td>Es un proceso que debería de haber <em>muerto</em>, pero aún tiene dependencias que no es posible terminar. Hasta que no se eliminen sus dependencias no desaparecerá.</td>
</tr>
</table>
<p>Un proceso que está en ejecución en primer plano, es decir, en la consola, puede ser detenido mediante la pulsación de ^C (Ctrl+C). Esta comando, envía al proceso activo la señal de SIGTERM.</p>
<p>Si se presiona la combinación de teclas ^Z (Ctrl+Z), se enviará la señal de SIGSTOP. Para volver a retomar el proceso ejecutar el comando <tt>fg</tt>.</p>
<h3>Entorno de ejecución</h3>
<p>Cuando estamos en una consola (un <tt>tty</tt>, <tt>pts</tt> o similar), tenemos a nuestra disposición un intérprete de comandos en el que podemos lanzar procesos en cualquier momento.</p>
<p>Estos procesos pueden detenerse mediante la pulsación de ^C, como habíamos dicho antes, pero también pueden detenerse (con ^Z).</p>
<p>¿Qué sucede cuando se detienen?, básicamente, se genera en un entorno de ejecución un identificador (que es informado entre corchetes, justo antes de la palabra <em>Stopped</em>, en el texto que sale nada más pulsar la combinación de teclas).</p>
<p>Este entorno se puede consultar con el comando <tt>jobs</tt>. Por ejemplo, si ejecutamos el <em>vim</em> y presionamos ^Z, volvemos a la consola con este mensaje:</p>
<pre>[1]+  Stopped                 vim</pre>
<p>Si ejecutamos el comando <tt>jobs</tt>, obtenemos:</p>
<pre>
$ jobs
[1]+  Stopped                 vim
</pre>
<p>A estos comandos podemos acceder directamente por su número, de modo que el comando kill, por ejemplo, se puede emplear de la siguiente forma:</p>
<pre>
$ kill -18 %1

[1]+  Stopped                 vim
</pre>
<p>¿Por qué nos responde eso y no volvemos a vim?, esto es debido a que el entorno vim requiere de una interacción con el usuario, por lo que no puede ser llevado a segundo plano. Si escribimos el comando <tt>bg</tt> (background) obtendremos el mismo resultado, debido a que el comando <tt>bg</tt> es para llevar un proceso detenido a segundo plano.</p>
<p>Si escribimos <tt>fg</tt> (foreground), recuperamos la interfaz de <em>vim</em>. ¿Qué pasa cuando tenemos varios <em>vim</em> parados?, en ese caso, podemos usar como parámetro el número de identificador del <em>vim</em> que queremos reactivar.</p>
<h3>Prioridades</h3>
<p>Hay muchas veces, que queremos que un proceso se ejecute con mayor prioridad que otro proceso que esté en el sistema. Que un proceso tenga prioridad para su ejecución, quiere decir que no tendrá que esperar sobre otro que tenga menos prioridad cuando requiera de la CPU para realizar su ejecución, por lo que, debe de ejecutarse más rápido.</p>
<p>Con esto, no obstante, hay que tener mucho cuidado, ya que otorgarle a un proceso pesado una prioridad muy alta, puede acarrear que el sistema se quede <em>bloqueado</em>, hasta que el proceso libere un poco al programador de tareas.</p>
<p>Las prioridades se otorgan con el comando <tt>nice</tt>. Por ejemplo, si queremos realizar un <em>find</em> con prioridad sobre los demás procesos normales, sabiendo que el número de prioridad por defecto es 10, y que los valores oscilan entre -20 y 19, siendo -20 la prioridad más alta y 19 la más baja, podemos ejecutar:</p>
<pre>
nice -n 5 find -iname mifichero
</pre>
<p>Cuando ejecutamos el comando <tt>ps</tt>, junto al estado del proceso, que ya se vió antes, aparece un segundo caracter, que se refiere a la prioridad siendo:</p>
<table>
<tr>
<th>&lt; &#8211; High priority</th>
<td>La prioridad es menor que cero. Es decir, tiene una prioridad alta.</td>
</tr>
<tr>
<th>N &#8211; Low priority</th>
<td>La prioridad es positiva, prioridad normal o baja.</td>
</tr>
</table>
<h3>Conclusiones</h3>
<p>La importancia de saber cómo manejar los procesos, los estados que pueden tener, cómo se organizan y las prioridades que pueden tener es crucial para un administrador de sistemas, y cualquiera que desee saber, en un momento dado, si la CPU de su equipo comienza a sobre-utilizarse, o incluso de que haya muchos procesos que ocupen la memoria y permanezcan de forma fija en modo parado.</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2010/11/27/procesos-en-gnulinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Permisos en GNU/Linux</title>
		<link>http://bosqueviejo.net/2010/08/05/permisos-en-gnulinux/</link>
		<comments>http://bosqueviejo.net/2010/08/05/permisos-en-gnulinux/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 16:39:45 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[administración de sistemas]]></category>
		<category><![CDATA[permisos]]></category>
		<category><![CDATA[sistemas operativos]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/?p=481</guid>
		<description><![CDATA[Nota: Realmente, es la declaración de permisos en sistemas Unix, BSD, Solaris, GNU/Linux y derviados, pero pongo el título principal como GNU/Linux, porque realmente es el único entorno en el que doy fe de que todo lo que hay escrito en este artículo funciona al 100%.
El sistema GNU/Linux, al igual que su inspiración Minix, y la raíz de estos sistemas, Unix, se basan en ficheros. Todo es un fichero. Por ello, la seguridad de acceso a este tipo de información es muy importante.
Usuarios y Grupos
Los sistemas *nix, se basan en una estructura basada en grupos y usuarios. Un usuario puede ser una persona que tiene acceso al sistema mediante una contraseña y usa una consola, o puede ser un programa, un sistema servidor o un concepto abstracto (por ejemplo cdrom) en el que se agrupan una serie de ficheros, ejecución de servicios o servidores, etc.
Los grupos son como los usuarios, es decir, pueden tener propiedad sobre un fichero. Esto se hace para limitar o facilitar el acceso a los ficheros a un grupo de usuarios. Cada usuario puede estar en uno o varios grupos, así como cada grupo puede tener uno o varios usuarios.
&#8230; ¿y como se enlaza todo esto?
Los [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Nota</strong>: Realmente, es la declaración de permisos en sistemas Unix, BSD, Solaris, GNU/Linux y derviados, pero pongo el título principal como GNU/Linux, porque realmente es el único entorno en el que doy fe de que todo lo que hay escrito en este artículo funciona al 100%.</p>
<p>El sistema GNU/Linux, al igual que su inspiración Minix, y la raíz de estos sistemas, Unix, se basan en ficheros. Todo es un fichero. Por ello, la seguridad de acceso a este tipo de información es muy importante.</p>
<h3>Usuarios y Grupos</h3>
<p>Los sistemas *nix, se basan en una estructura basada en grupos y usuarios. Un usuario puede ser una persona que tiene acceso al sistema mediante una contraseña y usa una consola, o puede ser un programa, un sistema servidor o un concepto abstracto (por ejemplo cdrom) en el que se agrupan una serie de ficheros, ejecución de servicios o servidores, etc.</p>
<p>Los grupos son como los usuarios, es decir, pueden tener propiedad sobre un fichero. Esto se hace para limitar o facilitar el acceso a los ficheros a un grupo de usuarios. Cada usuario puede estar en uno o varios grupos, así como cada grupo puede tener uno o varios usuarios.</p>
<h3>&#8230; ¿y como se enlaza todo esto?</h3>
<p>Los permisos en los sistemas *nix se basan en tres partes. Cada fichero y directorio tiene permisos específicos para: usuario, grupo y otros. Esto quiere decir que, si el fichero pertenece a un usuario y a un grupo determinado, podemos limitar los permisos para este usuario en particular, para ese grupo y para los demás.</p>
<p>Al realizar <tt>ls -lh</tt> en la consola es cuando se ve esta información en consola:</p>
<pre>
-rwxr-xr-x     1 bombadil  users      2K 12 nov  2009 marubio.jpg
-rw-r--r--     1 bombadil  users     50B  2 nov  2009 marubio.txt
-rwxr-xr-x     1 bombadil  users      5K 12 nov  2009 marubio2.jpg
</pre>
<p>Como se puede ver, la primera columna de la izquierda, hay un guión inicial que indica si es directorio (d) o fichero (-), después, se indican tres letras por tipo de permisos, en este caso sería:</p>
<ul>
<li><tt>rwx</tt>, para el usuario, se dan los permisos de lectura (r), escritura (w) y ejecución (x).</li>
<li><tt>r-x</tt>, para los usuarios que no sean <em>bombadil</em> y pertenezcan al grupo <em>users</em>, se dan los permisos de lectura (r) y ejecución (x).</li>
<li><tt>r-x</tt>, y para los usuarios que no sean <em>bombadil</em>, ni pertenezcan al grupo <em>users</em>, se le dan los permisos de lectura (r) y ejecución (x).</li>
</ul>
<h3>¿Qué es eso de <em>ejecución</em>?</h3>
<p>Básicamente, los permisos varían si se trata de un fichero o de un directorio, ya que la lectura (r) indica que se pueda leer el fichero o ver los ficheros que hay dentro de un directorio, así la escritura (w) indica que se pueda cambiar un fichero o crear ficheros en un directorio.</p>
<p>El permiso más extraño, el de ejecución (x), en caso de un fichero indica que se pueda ejecutar. Es decir, si se trata de un shell script, un programa compilado, o un script de consola de tipo python, etc., que se pueda ejecutar directamente (sino habría que lanzarlo desde algún intérprete.</p>
<p>En el caso de un directorio, indica si se puede acceder al directorio o no. Es curioso porque es casi como el atributo de lectura, solo que si tienes lectura y no escritura, se permite listar el directorio, pero no acceder con el comando chdir (o cd).</p>
<h3>Equivalencia numérica</h3>
<p>Hay mucha gente que esto de rwx le sonará un poco a chino y pensará&#8230; los permisos de tipo rwxr-xr-x son los 755 de toda la vida <img src='http://bosqueviejo.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Pues sí, los permisos se pueden dar de forma numérica también, teniendo en cuenta de que son valores octales, se puede dar un valor desde 000 a 777, siendo el primer dígito para el usuario, el segundo para el grupo y el último para los otros. Por tanto:</p>
<pre>
0 -> ---
1 -> --x
2 -> -w-
3 -> -wx
4 -> r--
5 -> r-x
6 -> rw-
7 -> rwx
</pre>
<h3>Permisos especiales</h3>
<p>Además de todo esto, hay dos permisos especiales que tienen unas propiedades bastante curiosas. El primero de ellos es el <em>superuser grant</em>. Este permiso se puede otorgar a programas que se deban de ejecutar como superusuario, pero solo se pueda dar a binarios, los programas de tipo scripting no tienen esta propiedad, ya que, realmente, se ejecutan desde un intérprete que no tendrá este bit de permiso activo.</p>
<p>Como ejemplo, podemos ver el programa <tt>passwd</tt>. Este programa ejecutado desde consola necesita acceder a ficheros como <em>shadow</em> y <em>passwd</em> para poder cambiar la clave del usuario:</p>
<pre>
-rwsr-xr-x 1 root root 39K dic  6  2009 /usr/bin/passwd
</pre>
<p>El segundo permiso especial es el <em>sticky</em>. Este permiso se otorga en especial a los directorios. Cuando un directorio tiene este permiso, quiere decir que cualquier usuario podrá tener acceso al directorio y crear incluso ficheros, pero no podrá modificar y ver nada más que los que sean de su propiedad.</p>
<p>Este atributo es el que se suele usar para el directorio <em>tmp</em> de los sistemas *nix, de servidores multiusuario. Cuando un programa necesita volcar información en este directorio, con este atributo, nos aseguramos que ningún otro usuario puede modificar o ver esta información temporal:</p>
<pre>
drwxrwxrwt 5 root root 12K ago  5 18:32 /tmp
</pre>
<h3>Conclusiones</h3>
<p>Los sistemas *nix tienen sistemas de permisos y usuarios muy simples, comparados con los sistemas de permisos de sistemas con Windows. Esto no quiere decir que sean peores ni mejores, son simples, y por ello flexibles y potentes. Así mismo, en los sistemas GNU/Linux se han implementado unas políticas añadidas de seguridad que no solo permiten el acceso o no a un recurso, sino a nivel de aplicación, el uso de una forma u otra de ese recurso.</p>
<p>No obstante, y sinceramente, el uso llano de estos permisos suele ser suficiente para la mayoría de los casos, no necesitando ninguna capa más que afine el nivel de privilegios, cuyo uso suele ser más complejo.</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2010/08/05/permisos-en-gnulinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruleta Rusa en Unix</title>
		<link>http://bosqueviejo.net/2009/12/09/ruleta-rusa-en-unix/</link>
		<comments>http://bosqueviejo.net/2009/12/09/ruleta-rusa-en-unix/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 09:37:36 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[curiosidad]]></category>
		<category><![CDATA[hacker]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/?p=210</guid>
		<description><![CDATA[Navegando por la red he topado con un blog en el que he visto la ruleta rusa de unix.
La idea es jugar, como si de una pistola se tratase, con el comando rm -rf / (lo cual elimina TODOS los ficheros del disco duro y unidades montadas que se tengan -si son accesibles-). El comando toma un número aleatorio y prueba si es divisible por seis. Si es así&#8230; ¡bang!, estás muerto, sino, puede volver a tirar  

[ $[ $RANDOM % 6 ] == 0 ] &#038;&#038; sudo rm -rf / &#124;&#124; sudo echo &#8220;You live&#8221;

Curioso, ¿no?
NOTA: este blog no se hace responsable de los malos usos de los comandos expuestos, de si se elimina toda la información de su disco por un uso irresponsable del mismo, etc. Mi consejo&#8230; no lo uséis&#8230; o al menos, crear una jaula para jugar.
]]></description>
			<content:encoded><![CDATA[<p>Navegando por la red he topado con un <a href="http://juanmunozar.blogspot.com/">blog</a> en el que he visto la <a href="http://juanmunozar.blogspot.com/2008/11/unix-russian-roulette.html">ruleta rusa de unix</a>.</p>
<p>La idea es jugar, como si de una pistola se tratase, con el comando <tt>rm -rf /</tt> (lo cual elimina TODOS los ficheros del disco duro y unidades montadas que se tengan -si son accesibles-). El comando toma un número aleatorio y prueba si es divisible por seis. Si es así&#8230; ¡bang!, estás muerto, sino, puede volver a tirar <img src='http://bosqueviejo.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p class="code">
[ $[ $RANDOM % 6 ] == 0 ] &#038;&#038; sudo rm -rf / || sudo echo &#8220;You live&#8221;
</p>
<p>Curioso, ¿no?</p>
<p><strong>NOTA</strong>: este blog no se hace responsable de los malos usos de los comandos expuestos, de si se elimina toda la información de su disco por un uso irresponsable del mismo, etc. Mi consejo&#8230; no lo uséis&#8230; o al menos, crear una <a href="http://bosqueviejo.net/2009/03/03/debootstrap-probar-sin-ensuciar/">jaula</a> para <em>jugar</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2009/12/09/ruleta-rusa-en-unix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server vía ODBC en Debian Etch</title>
		<link>http://bosqueviejo.net/2009/02/04/sql-server-via-odbc-en-debian-etch/</link>
		<comments>http://bosqueviejo.net/2009/02/04/sql-server-via-odbc-en-debian-etch/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 17:18:34 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[Base de Datos]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[administración de sistemas]]></category>
		<category><![CDATA[base de datos]]></category>
		<category><![CDATA[servidores]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/wordpress/?p=69</guid>
		<description><![CDATA[Casi a punto de asistir a la liberación de lenny (la versión 5.0 de Debian), seguimos viendo que con etch, aún, tenemos lo suficiente para tirar perfectamente, y sin agregar paquetes de backport.
En este caso, voy a explicar como instalar y usar SQL Server vía ODBC desde cualquier aplicación en GNU/Linux, como pueden ser programas Java, Perl, PHP, Ruby&#8230;
En principio, vamos a tirar de apt-get para instalar algunos programas:
apt-get install tdsodbc unixodbc libct3 libltdl3 odbcinst1debian1
Lo siguiente es crear el fichero /etc/odbcinst.ini, que debe de contener lo siguiente:

[FreeTDS]
Description     = TDS driver (Sybase/MS SQL)
Driver          = /usr/lib/odbc/libtdsodbc.so
Setup           = /usr/lib/odbc/libtdsS.so
CPTimeout       =
CPReuse         =

Ahora, para cada base de datos a la que queramos conectarnos, habrá que agregar un bloque de este tipo en el fichero /etc/odbc.ini:

[contactos]
Driver      = FreeTDS
Server      = 192.168.1.5
Database    = contactos
TDS_Version = 8.0
Port        = 1433

El nombre de la conexión es el que se situa entre los corchetes, y [...]]]></description>
			<content:encoded><![CDATA[<p>Casi a punto de asistir a la liberación de <em>lenny</em> (la versión 5.0 de Debian), seguimos viendo que con <em>etch</em>, aún, tenemos lo suficiente para tirar perfectamente, y sin agregar paquetes de backport.</p>
<p>En este caso, voy a explicar como instalar y usar SQL Server vía ODBC desde cualquier aplicación en GNU/Linux, como pueden ser programas Java, Perl, PHP, Ruby&#8230;</p>
<p>En principio, vamos a tirar de <em>apt-get</em> para instalar algunos programas:</p>
<pre>apt-get install tdsodbc unixodbc libct3 libltdl3 odbcinst1debian1</pre>
<p>Lo siguiente es crear el fichero <em>/etc/odbcinst.ini</em>, que debe de contener lo siguiente:</p>
<pre>
[FreeTDS]
Description     = TDS driver (Sybase/MS SQL)
Driver          = /usr/lib/odbc/libtdsodbc.so
Setup           = /usr/lib/odbc/libtdsS.so
CPTimeout       =
CPReuse         =
</pre>
<p>Ahora, para cada base de datos a la que queramos conectarnos, habrá que agregar un bloque de este tipo en el fichero <em>/etc/odbc.ini</em>:</p>
<pre>
[contactos]
Driver      = FreeTDS
Server      = 192.168.1.5
Database    = contactos
TDS_Version = 8.0
Port        = 1433
</pre>
<p>El nombre de la conexión es el que se situa entre los corchetes, y el que se usará para referenciar a esa conexión.</p>
<p>Para comprobar, podemos ejecutar el comando <em>isql</em> con los siguientes parámetros:</p>
<pre>isql contactos usuario clave</pre>
<p>Con esto, desde interfaces como DBI (Perl y Ruby), podemos usar DSN del tipo <em>DBI:ODBC:contactos</em> para acceder a esta conexión, siempre pensando que el usuario y la clave debe de insertarse en el comando de conexión.</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2009/02/04/sql-server-via-odbc-en-debian-etch/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Servidor de hora en GNU/Linux</title>
		<link>http://bosqueviejo.net/2008/12/29/servidor-de-hora-en-gnulinux/</link>
		<comments>http://bosqueviejo.net/2008/12/29/servidor-de-hora-en-gnulinux/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 02:11:05 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[redes]]></category>
		<category><![CDATA[seguridad]]></category>
		<category><![CDATA[ntp]]></category>
		<category><![CDATA[servidores]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/wordpress/?p=40</guid>
		<description><![CDATA[En las redes internas de la mayoría de empresas, se sucede la necesidad, muchas veces, de tener sincronización horaria en las máquinas para mejorar el rendimiento y la calidad de los datos a almacenar, de cara  a anotaciones y lanzamiento de tareas programadas.
La sincronización horaria es completamente posible de llevar, simplemente, instalando un servidor de hora NTP dentro de nuestra red, para que nos haga de servidor de sincronización.
En España, generalmente, se suele usar hora.rediris.es como servidor de hora, puesto que es un sistema formado por varios servidores, algunos de ellos con el uso de relojes GPS.
Muchos sistemas ya tienen el servidor ntpd instalado. En otros habrá que hacer la instalación, ya sea del paquete con nombre: ntp, ntp-server, ntpd&#8230;
El archivo de configuración, normalmente: /etc/ntp.conf; debería de tener un contenido parecido a este:

driftfile /var/lib/ntp/ntp.drift
statsdir /var/log/ntpstats/
&#160;
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
&#160;
server hora.rediris.es
&#160;
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
&#160;
restrict 127.0.0.1
restrict ::1
&#160;
restrict 192.168.123.0  mask  255.255.255.0 notrust
&#160;
broadcast 192.168.123.255
disable auth
broadcastclient

Con esto, el servidor de hora recién instalado, servirá como repetidor para los equipos de la red interna. En caso [...]]]></description>
			<content:encoded><![CDATA[<p>En las redes internas de la mayoría de empresas, se sucede la necesidad, muchas veces, de tener sincronización horaria en las máquinas para mejorar el rendimiento y la calidad de los datos a almacenar, de cara  a anotaciones y lanzamiento de tareas programadas.</p>
<p>La sincronización horaria es completamente posible de llevar, simplemente, instalando un servidor de hora NTP dentro de nuestra red, para que nos haga de servidor de sincronización.</p>
<p>En España, generalmente, se suele usar <tt>hora.rediris.es</tt> como servidor de hora, puesto que es un <a href="http://www.rediris.es/ntp/drafts/">sistema</a> formado por varios servidores, algunos de ellos con el uso de relojes GPS.</p>
<p>Muchos sistemas ya tienen el servidor <b>ntpd</b> instalado. En otros habrá que hacer la instalación, ya sea del paquete con nombre: ntp, ntp-server, ntpd&#8230;</p>
<p>El archivo de configuración, normalmente: <tt>/etc/ntp.conf</tt>; debería de tener un contenido parecido a este:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">driftfile /var/lib/ntp/ntp.drift
statsdir /var/log/ntpstats/
&nbsp;
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
&nbsp;
server hora.rediris.es
&nbsp;
restrict -<span style="">4</span> default kod notrap nomodify nopeer noquery
restrict -<span style="">6</span> default kod notrap nomodify nopeer noquery
&nbsp;
restrict 127.0.0.1
restrict ::<span style="">1</span>
&nbsp;
restrict 192.168.123.0  mask  255.255.255.0 notrust
&nbsp;
broadcast 192.168.123.255
disable auth
broadcastclient</pre></div></div>

<p>Con esto, el servidor de hora recién instalado, servirá como <i>repetidor</i> para los equipos de la red interna. En caso de tener un solo equipo, en ese caso es mejor tomar el archivo de <tt>/etc/ntp.conf</tt> y modificarlo levemente para hacer que el sistema fucnione, y nada más.</p>
<p>Espero que os sirva de ayuda.</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2008/12/29/servidor-de-hora-en-gnulinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redes en Linux</title>
		<link>http://bosqueviejo.net/2007/08/06/redes-en-linux/</link>
		<comments>http://bosqueviejo.net/2007/08/06/redes-en-linux/#comments</comments>
		<pubDate>Sun, 05 Aug 2007 23:18:58 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[redes]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/wordpress/?p=9</guid>
		<description><![CDATA[Este artículo ha pasado a formar parte de bosqueviejo.org, puede verlo en sus formatos html y pdf.
]]></description>
			<content:encoded><![CDATA[<p>Este artículo ha pasado a formar parte de <a href="http://bosqueviejo.org">bosqueviejo.org</a>, puede verlo en sus formatos <a href="http://bosqueviejo.org/?id=linux_network">html</a> y <a href="http://bosqueviejo.org/?id=linux_network&#038;pdf">pdf</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2007/08/06/redes-en-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Software empaquetado y listo para usar</title>
		<link>http://bosqueviejo.net/2007/02/19/software-empaquetado-y-listo-para-usar/</link>
		<comments>http://bosqueviejo.net/2007/02/19/software-empaquetado-y-listo-para-usar/#comments</comments>
		<pubDate>Mon, 19 Feb 2007 15:40:04 +0000</pubDate>
		<dc:creator>bombadil</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[administración de sistemas]]></category>
		<category><![CDATA[gnu/linux]]></category>

		<guid isPermaLink="false">http://bosqueviejo.net/wordpress/?p=5</guid>
		<description><![CDATA[Los paquetes son una forma de distribuir software compilado para una arquitectura concreta. En Windows se distribuyen en comprimidos autoejecutables que autoconfiguran el entorno y en GNU/Linux también, pero de forma más controlada.
Los paquetes de GNU/Linux tienen que cumplir la especificación de ordenación de ficheros que establece la distribución en concreto donde se va a instalar la aplicación, así pues, nos encontramos a este respecto con dos grandes variantes: RPM y DEB.
Los RPM, obra de RedHat, son paquetes que se guardan comprimidos y contienen una serie de scripts para la instalación, actualización, eliminación y otras actividades similares. Además de esto, los paquetes contienen información de dependencia, es decir, que antes de instalarse en el sistema, deben de estar instalados otros paquetes para que el binario que contiene el paquete funcione correctamente. Es su garantía de funcionalidad y lo que lo diferencia de los paquetes binarios que se generan para Windows.
Los DEB son paquetes obra de Debian, que tienen las mismas características que los RPM, pero agregando algunas características más como sugerencias y recomendaciones. Las sugerencias son paquetes similares o que pueden trabajar en conjunto con el que se va a instalar. Las recomendaciones son paquetes que añaden funcionalidades al paquete [...]]]></description>
			<content:encoded><![CDATA[<p>Los paquetes son una forma de distribuir software compilado para una arquitectura concreta. En Windows se distribuyen en comprimidos autoejecutables que autoconfiguran el entorno y en GNU/Linux también, pero de forma más controlada.</p>
<p>Los paquetes de GNU/Linux tienen que cumplir la especificación de ordenación de ficheros que establece la distribución en concreto donde se va a instalar la aplicación, así pues, nos encontramos a este respecto con dos grandes variantes: RPM y DEB.</p>
<p>Los RPM, obra de RedHat, son paquetes que se guardan comprimidos y contienen una serie de scripts para la instalación, actualización, eliminación y otras actividades similares. Además de esto, los paquetes contienen información de dependencia, es decir, que antes de instalarse en el sistema, deben de estar instalados otros paquetes para que el binario que contiene el paquete funcione correctamente. Es su garantía de funcionalidad y lo que lo diferencia de los paquetes binarios que se generan para Windows.</p>
<p>Los DEB son paquetes obra de Debian, que tienen las mismas características que los RPM, pero agregando algunas características más como sugerencias y recomendaciones. Las sugerencias son paquetes similares o que pueden trabajar en conjunto con el que se va a instalar. Las recomendaciones son paquetes que añaden funcionalidades al paquete que se está instalando, como por ejemplo la internacionalización, algún plugin, o algo por el estilo.</p>
<p>El uso de los paquetes RPM se lleva a cabo por el programa <strong>rpm</strong>, el cual es instalable en cualquier distribución (incluso Debian) y permite manipular los paquetes de tipo RPM para su instalación, listado e incluso creación. En los paquetes DEB tenemos <strong>dpkg</strong>, el cual se usa de forma idéntica a <strong>rpm</strong> (en concepto).</p>
<p>La facilidad de estos paquetes no es en sí la encapsulación, puesto que agregan muy pocas características en comparación con los famosos InstallShield de Windows y otros similares. La gran ventaja de estos sistemas son los repositorios. Un repositorio es un sitio accesible por HTTP, FTP o similar que permite la descarga de un paquete RPM y/o DEB para su instalación en el sistema.</p>
<p>Cada distribución ha ido creando su herramienta específica y podemos ver, entre otras, para RPM en Fedora <strong>yum</strong>, en SuSE es <strong>yast</strong>, en Mandriva es <strong>urpmi</strong> e incluso en todas las distribuciones basadas en RPM, se puede usar <strong>apt</strong>; para DEB tan solo tenemos <strong>apt</strong>. No obstante, hay otras distribuciones como Slackware y Gentoo, que no usan paquetes ni RPM ni DEB, los cuales también tienen herramientas para descarga de sus paquetes específicos desde Internet.</p>
<p>La configuración de APT la podemos ver en detalle en el siguiente <a href="http://www.debian.org/doc/manuals/apt-howto">enlace</a>.</p>
<p>La configuración de YUM la podemos ver en detalle en el siguiente <a href="http://sangrenegrv.blogspot.com/2006/11/configuracin-yum-y-repositorios.html">enlace</a>.</p>
<p>La configuración de URPMI la podemos ver en el siguiente <a href="http://easyurpmi.zarb.org/index.php?language=es">enlace</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://bosqueviejo.net/2007/02/19/software-empaquetado-y-listo-para-usar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

