Wow, nunca lo consideré hasta que lo mencionaste. Bueno uno
Stefan Lasiewski
¿Qué sucede si lo haces en un archivo normal?
Luc M
@Luc supongo que sólo tiene que volver chmod
phunehehe
Usualmente hago tales 'experimentos' en mi Arch VM. Si bombardea, lo vuelvo a rodar.
André Paramés
Cometí este error una vez. Fue muy vergonzoso, pero una valiosa lección.
Charles Sprayberry
37
Cuando comencé a trabajar como consultor de usuarios para la universidad a la que asistía, me dieron sudoderechos limitados para ayudar a los estudiantes que habían perdido / olvidado sus contraseñas. sudo passwd <username>Fue mi nuevo amigo. Una hora después de mi orientación, mi curiosidad se apoderó de mí y escribí sudo passwdy miré con horror la solicitud de una nueva contraseña. Estaba un poco asustado de ^Csalir de allí, pensando (por error, resulta que) podría dejar la cuenta en cuestión en un estado transitorio, así que ingresé una contraseña e inmediatamente subí las escaleras al dominio sagrado del segundo piso del SuperUser del campus y le preguntó si le gustaría saber la contraseña de root del sistema principal.
podría haber ingresado una contraseña que no coincide en el segundo mensaje de confirmación, por lo que nada se habría visto afectado y passwd se cerraría.
Wadih M.
1
@Wadih: se passwdcomporta de manera extraña cuando se ejecuta como root. Por ejemplo, cuando falla la verificación de error tipográfico, vuelve a preguntar.
György Andrasek
Podrías haberlo cambiado de nuevo a lo que era antes.
HandyGandy
1
@HandyGandy no conocía la contraseña de root original. Simplemente tenía los derechos de sudo para ejecutar passwd.
Gnud
32
Sorprendido, nadie más ha mencionado este todavía:
rm -rf .*
(Al intentar eliminar todos los archivos y subdirectorios ocultos, olvidando por completo que volverá a aparecer en .y ..)
Si bien eso me ha quemado en el pasado, muchas versiones de rmno lo harán ahora. Probé con Darwin y obtuve el error rm: "." and ".." may not be removed.
Stefan Lasiewski
77
Lo hago todo el tiempo, en todo tipo de plataformas. Funciona según lo previsto en OpenBSD, NetBSD, Linux y OpenSolaris.
polemon
Si desea hacer coincidir todos los archivos de puntos, excepto para .y .., use .[^.]*. (Bueno, esto realmente perderá todos los archivos que comienzan con .., pero generalmente solo hay uno).
Sven Marnach
@Sven: Otra forma es .??*, que me parece más fácil de escribir. Este no coincidirá con archivos de punto de dos letras .a, pero también son inusuales. Busco los archivos de configuración en mi directorio de inicio con grep -r .??*, por ejemplo.
Neil Mayhew
31
Makefile:
clean:
@rm -f * .o
Lo que, por supuesto, hace que make cleanlimpie su código fuente en lugar de solo archivos de objetos.
Si no puede verlo, observe el carácter de espacio entre *y.o
Denilson Sá Maia
1
Siento tu dolor, nos sucedió a todos en algún momento :)
axel_c
Lección recargada: cada vez que haces cosas de shell, y ves un " ", be * extra , no, be extra Extra EXTRA cuidadoso.
Jürgen A. Erhard
Lo hice, a mano, después de pasar una noche en el laboratorio. El proyecto debía presentarse unas horas después. Resultó ser una bendición disfrazada; La nueva versión reescrita que entregué era mucho mejor que la versión vendada que borré.
Tenía un amigo :() { :|:&}; :en un servidor remoto donde no teníamos acceso a la consola. No se pudo reiniciar, completamente congelado, servidor de producción .
Desglosado (por solicitud) para que sea un poco más legible.
:()# Define ':' as a function. Every time we say ':' execute the following code block{# Start of code block:# Call ':' again. |# Pipe output to...:# Another ':' &# Disown process. # All on one line this would read :|:&, }# End of code block;# End definition of ':' as a function:# Call ':'
¿Sería tan amable de explicar lo que hace? No puedo entenderlo y no quiero probarlo;)
naugtur
23
Parece una bomba tenedor. No intentes esto a menos que realmente sepas lo que estás haciendo.
Zaid
55
Sip. Es una bifurcación. Y uno agradable :) Parece que bifurca al intérprete bash mientras trata de analizarlo sin parar. Si te saltas el último, :no hace nada. Y no usa memoria en absoluto, solo se bifurca mucho. [Sí, lo intenté :)]. Los efectos se pueden bloquear con una cuota en el número de procesos por usuario.
+1 para citable "Solo con la raíz se puede lograr el verdadero dolor (y, por lo tanto, la iluminación)".
Stefan Lasiewski
21
Limpié la mesa de partición de mi unidad principal por accidente, pensando que estaba trabajando en otra unidad.
Con el desplazamiento hacia atrás, el uso cuidadoso de la dfmemoria y la suerte pude recrearlo exactamente, reescribirlo, reiniciar y esperar ... Y funcionó.
Un amigo hizo esto, y lo ayudé a restaurar la mesa. Desafortunadamente, no teníamos los valores anteriores para los tamaños de partición y las compensaciones, por lo que utilizamos un bucle bash con la ddlectura del primer bloque de 4k de cada cilindro conectado file -para encontrar el superbloque y, por lo tanto, el inicio del sistema de archivos. Esto estaba en un CD en vivo y no había suficiente RAM para hacer todo lo que necesitábamos hacer (que incluía instalar un paquete o dos), así que entramos en un proceso que se ejecuta en ssh en otra máquina.
Neil Mayhew
2
Ay. Es por eso que siempre uso sfdisk -Opara hacer una copia de seguridad de la tabla de particiones, siempre. FYI: cgsecurity.org/wiki/TestDisk puede automatizar lo que hizo @Neil Mayhew.
Ephemient
2
Yo también estuve allí, testdisk
guardé
En estos días, tenemos gpart, que busca cosas que podrían parecerse a los sistemas de archivos y construye una tabla de partición a partir de eso.
Simon Richter
19
No es realmente mi momento, sino el de alguien más.
Cuando trabajaba en una instalación de investigación de ciencias nucleares, solíamos ejecutar varias computadoras SunOS, Ultrix y Linux, y los investigadores tenían que compartir la CPU en esas máquinas. A medida que los grupos de investigación individuales obtuvieron sus propias becas de investigación, compraron sus propias computadoras, principalmente SparcStations, y se encargaron ellos mismos de la administración del sistema.
SunOS solía enviarse con el escritorio OpenView y un buen administrador de archivos, así es como se veía:
La mayoría de nuestros investigadores se estaban ejecutando como root, y más de una vez tuvimos que reinstalar sus sistemas operativos porque alguien había decidido ordenar el directorio raíz y movió / bin, / etc, / tmp y todo lo demás que saturaba la vista en cualquiera de los dos la papelera o alguna subcarpeta.
Otros usuarios optaron por ordenar el directorio / bin y eliminar cualquier comando que no conocían.
Los afortunados tenían copias de seguridad, la mayoría había comprado una unidad de cinta, pero no tenían la tradición de ejecutar copias de seguridad.
¿Ordenar el directorio raíz? De Verdad? ¿DE VERDAD? sollozo
Alex B
41
¡TRWTF está funcionando como root, en una instalación de investigación de ciencias nucleares!
invierte el
44
captura de pantalla genial! me pone todo nostálgico
Gabe.
@Alex - bueno, había un gran archivo VMUNIX que no estaba usando ...
Martin Beckett
1
En las versiones antiguas de Mac OS, podría mover prácticamente cualquier archivo a cualquier lugar, así que tal vez eso es lo que esperaban ...
Kevin Cantu
18
A mediados y finales de los 90, un amigo mío y yo estábamos discutiendo la locura rm -rf *y en qué punto una caja de Linux se vendría abajo. Entramos en bibliotecas vinculadas estáticamente versus vinculadas dinámicamente y postulé que el sistema podría vivir bastante bien sin él /liby luego procedí a cambiarle el nombre en mi estación de trabajo. Sucedieron cosas malas , pero nos quedamos con varias ventanas de consola abiertas con las que tratar de reparar el daño (el apagado ya no era una opción). Ninguno de los editores correría. Es sorprendente los usos esotéricos que puedes encontrar para el echocomando.
@Alex B: La historia también es parte de Unix Horror Stories , que es genial de leer.
Bobby
18
viy Caps-Lockvs./etc/passwd
Conéctese a una vieja caja de Solaris usando una vieja terminal serial que no actualice la pantalla correctamente.
su -
vi /etc/passwd. No hay vipw, y de todos modos "solo estamos haciendo ediciones menores".
Presione la Caps-Locktecla y no lo note.
Golpea jun par de veces para desplazarte hacia abajo. Ignora el hecho de que acabas de escribir J("Unir"), que combina esta línea con la siguiente. La pantalla del terminal en serie no se actualizaba correctamente, por lo que no vio que simplemente combinó las primeras 5 líneas en una línea Loooooong, corrompiendo así a los primeros 5 usuarios ('root', 'daemon', etc.).
Termine sus OTRAS ediciones previstas en el archivo, en la parte inferior.
Guardar el archivo.
Cerrar sesión.
Hice esto una vez. Sorprendentemente, el sistema permaneció funcional durante meses. Cronjobs funcionó bien, no se destacaron errores en los archivos de registro.
No notamos este problema hasta que reiniciamos el sistema meses después y no pudimos iniciar sesión en la consola. psmostró un montón de trabajos propiedad del UID '0' no del usuario 'root'.
No podía iniciar sesión como root, ni ejecutar suo su -, y no había ninguna sudoen este cuadro. No había unidad de disquete, el CD-ROM estaba roto y no había puertos USB (por lo que no había un CD-ROM externo). El modo de usuario único no funcionó, porque debe escribir la contraseña de root, y eso proviene /etc/passwd.
¿Seguramente "J" es el comando "Unir" (como en unir líneas juntas)?
dr-ene
2
Espere un minuto, no necesito escribir la contraseña para iniciar en modo de usuario único. De hecho, así es como restablezco la contraseña de root si la pierdo. ¿O fue diferente en los viejos tiempos?
phunehehe
En Solaris, debe conocer la contraseña de root para ingresar al modo de usuario único. Tuve que hacer esto hace 2 semanas en realidad.
Stefan Lasiewski
@phunehehe Creo que estás pensando en el truco init = / bin / sh. De hecho, eso no requiere la contraseña de root. Sin embargo, el nivel de ejecución 1 todavía requiere un pase de raíz
Un simple haltreconocimiento algunos segundos después de que no estoy en un shell local y no tengo posibilidad de encender el servidor de producción nuevamente.
¿Lecciones aprendidas? El aviso de la máquina ahora se ve como
Lo que realmente me encanta de este es el hecho de que le preocupaba cuánto tiempo duraba emacs pero no solo lo usaba alias e=emacs.
Steven D
Además del café, el aviso de que 'e' y 'r' no son muy distantes cerca en el teclado ...
leonbloy
11
O otra experiencia, cómo sentirse realmente estúpido en unos sencillos pasos que no parecen tan estúpidos individualmente.
Paso uno: establezca una cuenta para el niño, en caso de que quiera usar una caja de Linux. Déle una contraseña trivial, ya que después de todo este es un sistema doméstico y no está expuesto a la red.
Paso dos: espere un tiempo para que no recuerde el primer paso.
Paso tres: abra el puerto SSH en el firewall (en realidad el NAT en el enrutador) para ingresar. Después de todo, mis cuentas tienen contraseñas bastante buenas, y no es que haya nada tremendamente valioso.
Paso cuatro: reciba una notificación del ISP de que hay algún tipo de actividad de DOS en un sitio sueco. Suponga que probablemente sean las cajas de Windows, y examínelas y endurezca.
Paso cinco: recibe una notificación del ISP de que todavía está sucediendo. Pida algunos detalles, obtenga la dirección IP del sitio sueco, inicie Wireshark, encuentre de qué casilla proviene el ataque.
Paso seis: limpia la caja de Linux, sintiéndote estúpido. Encuentra el inicio de sesión proviene de una dirección rumana. Eliminar cuentas sin buenas contraseñas.
Estado allí. Una vez creé una cuenta con un inicio de sesión de test: test, con la intención de usarla solo durante unos cinco minutos. Olvidé eliminarlo y obtuve los mismos resultados que tú. Nunca más. Voy a todas las claves públicas de autenticación ahora.
ATC
1
Sí, también uso claves públicas / privadas. A veces pueden ser un poco molestos, pero mucho más seguros que las contraseñas simples.
Denilson Sá Maia
44
Al abrir SSH en Internet, NUNCA permita la autenticación de contraseña. Solo autenticación de clave pública / privada, de esa manera no puede quedar desprevenido.
wazoox
@wazoox: otp es una buena alternativa también.
Jürgen A. Erhard
Utilizo un puerto no estándar de alto número para ssh, reenviado desde el enrutador al puerto ssh estándar en mis cajas de Linux y Mac OS X. Nunca recibo ningún intento de inicio de sesión. Tengo el puerto configurado en un acceso directo en ~ / .ssh / config en mis otras máquinas, por lo que generalmente ni siquiera tengo que escribirlo.
Neil Mayhew
11
En los laboratorios de computación cuando estaba en la universidad, tenían un protector de pantalla que simulaba un montón de bolas que flotaban de un lado a otro. Tiraron de cada uno con gravedad simulada.
Una vez, mientras estaba jugando con la configuración, se bloqueó con el error Error: force on balls too great
Una vez estaba desarrollando un controlador de dispositivo para Unix. Tenía un problema de puntero y durante las pruebas comenzó a escribir el final de una matriz en la memoria del kernel. Tardé en detectar esto y no presioné el botón de reinicio de inmediato. El controlador había garabateado todo el caché del búfer de disco que luego se volcó al disco antes de presionar restablecer. Muchos de los bloques eran inodos y directorios, y terminé con un sistema de archivos totalmente basura. Creo que se colocaron 6000 archivos huérfanos lost+foundantes de darme por vencido y volver a instalar. Afortunadamente, este era solo un sistema de prueba, no mi estación de trabajo con todos mis archivos.
Ahora, hacer eso en su sistema de trabajo hubiera sido realmente estúpido ;-)
Jürgen A. Erhard
8
Me borré / etc y luego se recuperó . Creo que no aprendí mi lección ... También tuve que recuperarme de un borrado /bin. Parece suceder cuando he estado trabajando con a chroot.
También he sido testigo de esto. Estoy sorprendido de que un sistema pueda sobrevivir sin / etc --- simplemente no reinicie nada.
Stefan Lasiewski
7
El año pasado, un colega mío estaba usando una de nuestras estaciones de trabajo Linux para crear copias de discos flash con el ddcomando. Accidentalmente escribió algo similar a lo siguiente:
dd if=flash-image.img of=/dev/sda1
Para cuando se dio cuenta de su error: sobrescribir el disco duro de la máquina en lugar de la unidad flash, la máquina ya estaba manguera. Tuvimos que reconstruir la caja, que por cierto también era la máquina que alojaba todas nuestras máquinas virtuales de desarrollo en ese momento ...
Mientras estaba en mi segundo año de estudios de informática, nos dieron una tarea para escribir un programa en C que generaría una serie de subprocesos forky los haría comunicarse con tuberías en un "círculo" y descubrir cuál debería ser el "líder" ".
Todavía éramos bastante novatos en ese entonces y la mayoría de peple no tenía máquinas Linux, por lo que trabajamos en nuestras cuentas en el servidor principal de nuestra facultad (que también albergaba sitios oficiales y cuentas de personal y sitios). La mayoría de las personas escribieron bifurcaciones en algún momento tratando de hacer la tarea. Más de la mitad de mi grupo llegó al abusersarchivo. Esa fue la carga más alta en ese servidor en mucho tiempo :)
eso fue una tontería de ellos ... no deberían haberte puesto en la misma máquina que los servidores web y esas cosas. (Mi escuela tiene lo mismo, pero tenemos servidores dedicados a proyectiles remotos para que las bifurcaciones anuales no se salgan de control)
Spudd86
Microsoft consiguió que la facultad se asociara y Windows y .net ya se promocionaron mucho. Nadie esperaba un montón de novatos en el servidor :)
naugtur
6
Cuando mi universidad decidió cambiar la red inalámbrica para usar la autenticación de Cisco LEAP patentada ...
Comenzó una batalla muy larga que terminó bastante bien. Escribió documentación para otras personas que querían ejecutar Linux y tener acceso a Internet. Seis meses después, decidieron agregar también soporte PEAP. Cachetada
Es mi favorito porque gané. Yo tengo que trabajar.
Fui asistente de laboratorio para una clase de Linux. Uno de los estudiantes me llamó porque ya no podía su -porque estaba recibiendo permission denied. De acuerdo, ha recordado mal o ha escrito mal la contraseña. Reiniciar en modo de usuario único y reiniciar. ¡¿Qué?! su¿TODAVÍA no funciona? ¡DEBE inclinarse ante mi voluntad! Así que reinicio en modo de usuario único para averiguar qué hizo. Me di cuenta de que ella corríachmod -R 777 /var/www/html/drupal-6.19 /
Tenga en cuenta el espacio entre el nombre del directorio y la barra diagonal final.
Después de unos minutos de "Realmente no quiero que vuelva a instalarla, entonces, ¿qué está haciendo esto y cómo?", Me las arreglé para encontrar que / bin / su ahora tenía permisos de archivo 777. Eso también se puede leer como permisos de archivo de 0777, lo que elimina el bit setuid de /bin/su. Un rápido chmod u+s /bin/suy yo era un héroe.
¿Era lo único que necesitabas cambiar para romper su sistema?
Michael Mrozek
1
Estoy seguro de que todavía estaba roto, pero tal vez funcionó lo suficientemente bien para el resto de la clase.
Stefan Lasiewski
1
Funcionó lo suficientemente bien para el resto de la clase; la escuela evidentemente tiene el requisito de que todas las unidades de estudiantes se reinstalen cada trimestre. Y ella no continuaría con Linux después de que terminara este trimestre, así que no me molesté en arreglarlo el resto del camino.
Kevin M
5
No es tan doloroso ... Pero es un momento divertido:
He escrito mal lscomo sly descubrió que el administrador del sistema tenía algo instalado para tal caso.
Eso es más un huevo de Pascua que un momento doloroso. Lo leí antes de encontrarlo, pero nunca me he encontrado escribiendo eso, así que no hay +1.
Umang
Grinn ... Una vez tuve un usuario que vino a mí "¡Tu sistema está pirateado! 11Una vez que escribí una animación ASCII-art cuando
escribí
^ ¡No es tan gracioso!
mr_eclair
5
git init
git clean -f
Esto no elimina el repositorio. Esto elimina todo lo que no está en el repositorio.
Después de intentar deshacerme del repositorio existente y luego volver a iniciar el control de código fuente (en la primera versión completa de un proyecto), estos dos comandos destruyeron mi código completo.
git rebase (con aplastamiento) y git filter-branch (para eliminar archivos) son tus amigos :-) Con esto quiero decir que hay formas más seguras de eliminar cruft de tu historial de repositorios y terminar con un proyecto relativamente limpio. Por lo general, hago una copia de seguridad de la rama actual antes de un rebase extenso.
Neil Mayhew
5
Una empresa para la que solía trabajar tenía su producto funcionando en SCO. Estaba haciendo una depuración sobre las aplicaciones que se estaban volviendo muy lentas en nuestro servidor de demostración y, al mismo tiempo, había un montón de clientes que recibían una demostración / conferencia sobre las próximas características nuevas.
Entonces, ejecuté la aplicación que solía atascarse, hice mis cosas para verificar la causa raíz, pero como todavía estaba "atascada", traté de matarla:
pkill -9 mytestapplication
Lo que aprendí fue que pkill no hace exactamente lo mismo en SCO que en linux =)
... Básicamente mata todo a lo que el usuario tiene acceso, y con root ... eso es todo =)
Tenía dos unidades instaladas en un punto y tenía el sistema de archivos raíz de la segunda unidad montado en un directorio dentro /mnt. Estaba en ese directorio e intenté eliminarlo, varpero terminé escribiendo en su rm -rf /varlugar. ¡Algo de instinto pareció entrar en acción y dicho dicho vardebe ir precedido de un corte!
Cuando me di cuenta de lo que había hecho, golpeé de inmediato, Ctrl-Cpero ya era demasiado tarde. Mi rpmbase de datos había salido hace mucho tiempo del edificio. Pasé años para que todo volviera a la normalidad.
Ahora para la parte dolorosa.
Regreso a ese directorio /mntpara reanudar lo que había estado haciendo. ¿Qué escribo? Bueno, digamos que el instinto volvió a aparecer.
Al menos pude restaurar el sistema mucho más rápido la segunda vez;)
rm
comando. O triste.Respuestas:
Tenía curiosidad si
chmod 000 /
funcionaría.Bueno, perfectamente. Unos minutos más tarde estaba buscando un CD de rescate.
fuente
Cuando comencé a trabajar como consultor de usuarios para la universidad a la que asistía, me dieron
sudo
derechos limitados para ayudar a los estudiantes que habían perdido / olvidado sus contraseñas.sudo passwd <username>
Fue mi nuevo amigo. Una hora después de mi orientación, mi curiosidad se apoderó de mí y escribísudo passwd
y miré con horror la solicitud de una nueva contraseña. Estaba un poco asustado de^C
salir de allí, pensando (por error, resulta que) podría dejar la cuenta en cuestión en un estado transitorio, así que ingresé una contraseña e inmediatamente subí las escaleras al dominio sagrado del segundo piso del SuperUser del campus y le preguntó si le gustaría saber la contraseña de root del sistema principal.fuente
passwd
comporta de manera extraña cuando se ejecuta como root. Por ejemplo, cuando falla la verificación de error tipográfico, vuelve a preguntar.Sorprendido, nadie más ha mencionado este todavía:
(Al intentar eliminar todos los archivos y subdirectorios ocultos, olvidando por completo que volverá a aparecer en
.
y..
)fuente
rm
no lo harán ahora. Probé con Darwin y obtuve el errorrm: "." and ".." may not be removed
..
y..
, use.[^.]*
. (Bueno, esto realmente perderá todos los archivos que comienzan con..
, pero generalmente solo hay uno)..??*
, que me parece más fácil de escribir. Este no coincidirá con archivos de punto de dos letras.a
, pero también son inusuales. Busco los archivos de configuración en mi directorio de inicio congrep -r .??*
, por ejemplo.Makefile:
Lo que, por supuesto, hace que
make clean
limpie su código fuente en lugar de solo archivos de objetos.Lección: usar el control de versiones.
fuente
*
y.o
Tenía un amigo
:() { :|:&}; :
en un servidor remoto donde no teníamos acceso a la consola. No se pudo reiniciar, completamente congelado, servidor de producción .Desglosado (por solicitud) para que sea un poco más legible.
Puede ser más fácil verlo como
fuente
:
no hace nada. Y no usa memoria en absoluto, solo se bifurca mucho. [Sí, lo intenté :)]. Los efectos se pueden bloquear con una cuota en el número de procesos por usuario.Tenía buenas intenciones, realmente lo hice. Intentando
chmod
recursivamente un directorio y terminé intercambiando./
con/
.Como raíz, por supuesto, porque solo con la raíz se puede lograr el verdadero dolor (y, por lo tanto, la iluminación).
fuente
Limpié la mesa de partición de mi unidad principal por accidente, pensando que estaba trabajando en otra unidad.
Con el desplazamiento hacia atrás, el uso cuidadoso de la
df
memoria y la suerte pude recrearlo exactamente, reescribirlo, reiniciar y esperar ... Y funcionó.fuente
dd
lectura del primer bloque de 4k de cada cilindro conectadofile -
para encontrar el superbloque y, por lo tanto, el inicio del sistema de archivos. Esto estaba en un CD en vivo y no había suficiente RAM para hacer todo lo que necesitábamos hacer (que incluía instalar un paquete o dos), así que entramos en un proceso que se ejecuta en ssh en otra máquina.sfdisk -O
para hacer una copia de seguridad de la tabla de particiones, siempre. FYI: cgsecurity.org/wiki/TestDisk puede automatizar lo que hizo @Neil Mayhew.testdisk
gpart
, que busca cosas que podrían parecerse a los sistemas de archivos y construye una tabla de partición a partir de eso.No es realmente mi momento, sino el de alguien más.
Cuando trabajaba en una instalación de investigación de ciencias nucleares, solíamos ejecutar varias computadoras SunOS, Ultrix y Linux, y los investigadores tenían que compartir la CPU en esas máquinas. A medida que los grupos de investigación individuales obtuvieron sus propias becas de investigación, compraron sus propias computadoras, principalmente SparcStations, y se encargaron ellos mismos de la administración del sistema.
SunOS solía enviarse con el escritorio OpenView y un buen administrador de archivos, así es como se veía:
La mayoría de nuestros investigadores se estaban ejecutando como root, y más de una vez tuvimos que reinstalar sus sistemas operativos porque alguien había decidido ordenar el directorio raíz y movió / bin, / etc, / tmp y todo lo demás que saturaba la vista en cualquiera de los dos la papelera o alguna subcarpeta.
Otros usuarios optaron por ordenar el directorio / bin y eliminar cualquier comando que no conocían.
Los afortunados tenían copias de seguridad, la mayoría había comprado una unidad de cinta, pero no tenían la tradición de ejecutar copias de seguridad.
fuente
A mediados y finales de los 90, un amigo mío y yo estábamos discutiendo la locura
rm -rf *
y en qué punto una caja de Linux se vendría abajo. Entramos en bibliotecas vinculadas estáticamente versus vinculadas dinámicamente y postulé que el sistema podría vivir bastante bien sin él/lib
y luego procedí a cambiarle el nombre en mi estación de trabajo. Sucedieron cosas malas , pero nos quedamos con varias ventanas de consola abiertas con las que tratar de reparar el daño (el apagado ya no era una opción). Ninguno de los editores correría. Es sorprendente los usos esotéricos que puedes encontrar para elecho
comando.fuente
vi
y Caps-Lockvs./etc/passwd
su -
vi /etc/passwd
. No hayvipw
, y de todos modos "solo estamos haciendo ediciones menores".Hice esto una vez. Sorprendentemente, el sistema permaneció funcional durante meses. Cronjobs funcionó bien, no se destacaron errores en los archivos de registro.
No notamos este problema hasta que reiniciamos el sistema meses después y no pudimos iniciar sesión en la consola.
ps
mostró un montón de trabajos propiedad del UID '0' no del usuario 'root'.No podía iniciar sesión como root, ni ejecutar
su
osu -
, y no había ningunasudo
en este cuadro. No había unidad de disquete, el CD-ROM estaba roto y no había puertos USB (por lo que no había un CD-ROM externo). El modo de usuario único no funcionó, porque debe escribir la contraseña de root, y eso proviene/etc/passwd
.fuente
y
cuando
DIR
no estaba configurado!fuente
${DIR}
? Porque$(DIR)
intentaría ejecutar el comando DIR.Recuerdo haber intentado enviar una SysRqsecuencia de teclas a una máquina remota ...
... pero fue capturado por el local.
fuente
Un simple
halt
reconocimiento algunos segundos después de que no estoy en un shell local y no tengo posibilidad de encender el servidor de producción nuevamente.¿Lecciones aprendidas? El aviso de la máquina ahora se ve como
[ --> root <-- @kompost:/home/echox] #
con un bonito marcado rojo ;-)
fuente
molly-guard
que comprueba si ha iniciado sesión de forma remota y le pregunta si realmente desea hacer esto.Mi momento favorito fue cuando un compañero de trabajo, que es usuario de emacs, quería editar un archivo importante.
Debido a que
emacs
es demasiado para escribir, había configurado un alias paraemacs
:Bajo la influencia de café insuficiente o demasiado, por supuesto, escribió mal
em
...Bueno, esta es solo otra razón para usar
vi
...;)fuente
alias e=emacs
.O otra experiencia, cómo sentirse realmente estúpido en unos sencillos pasos que no parecen tan estúpidos individualmente.
Paso uno: establezca una cuenta para el niño, en caso de que quiera usar una caja de Linux. Déle una contraseña trivial, ya que después de todo este es un sistema doméstico y no está expuesto a la red.
Paso dos: espere un tiempo para que no recuerde el primer paso.
Paso tres: abra el puerto SSH en el firewall (en realidad el NAT en el enrutador) para ingresar. Después de todo, mis cuentas tienen contraseñas bastante buenas, y no es que haya nada tremendamente valioso.
Paso cuatro: reciba una notificación del ISP de que hay algún tipo de actividad de DOS en un sitio sueco. Suponga que probablemente sean las cajas de Windows, y examínelas y endurezca.
Paso cinco: recibe una notificación del ISP de que todavía está sucediendo. Pida algunos detalles, obtenga la dirección IP del sitio sueco, inicie Wireshark, encuentre de qué casilla proviene el ataque.
Paso seis: limpia la caja de Linux, sintiéndote estúpido. Encuentra el inicio de sesión proviene de una dirección rumana. Eliminar cuentas sin buenas contraseñas.
fuente
En los laboratorios de computación cuando estaba en la universidad, tenían un protector de pantalla que simulaba un montón de bolas que flotaban de un lado a otro. Tiraron de cada uno con gravedad simulada.
Una vez, mientras estaba jugando con la configuración, se bloqueó con el error
Error: force on balls too great
fuente
Una vez estaba desarrollando un controlador de dispositivo para Unix. Tenía un problema de puntero y durante las pruebas comenzó a escribir el final de una matriz en la memoria del kernel. Tardé en detectar esto y no presioné el botón de reinicio de inmediato. El controlador había garabateado todo el caché del búfer de disco que luego se volcó al disco antes de presionar restablecer. Muchos de los bloques eran inodos y directorios, y terminé con un sistema de archivos totalmente basura. Creo que se colocaron 6000 archivos huérfanos
lost+found
antes de darme por vencido y volver a instalar. Afortunadamente, este era solo un sistema de prueba, no mi estación de trabajo con todos mis archivos.fuente
Me borré / etc y luego se recuperó . Creo que no aprendí mi lección ... También tuve que recuperarme de un borrado
/bin
. Parece suceder cuando he estado trabajando con achroot
.fuente
El año pasado, un colega mío estaba usando una de nuestras estaciones de trabajo Linux para crear copias de discos flash con el
dd
comando. Accidentalmente escribió algo similar a lo siguiente:Para cuando se dio cuenta de su error: sobrescribir el disco duro de la máquina en lugar de la unidad flash, la máquina ya estaba manguera. Tuvimos que reconstruir la caja, que por cierto también era la máquina que alojaba todas nuestras máquinas virtuales de desarrollo en ese momento ...
fuente
dd
!!! :-)Esto me pasó el año pasado. Estaba eliminando algunos archivos del servidor usando una variable temporal:
¿Adivina qué? ¡La variable
$prefix
no fue definida!Puedes imaginar el desastre ... resultó en la eliminación de algunos archivos muy críticos.
¡Casi me rompo Control-Cy corrí a la CPU para quitar el cable de red!
Jajaja estoy seguro de que alguien ya había hecho esto ...
fuente
Mientras estaba en mi segundo año de estudios de informática, nos dieron una tarea para escribir un programa en C que generaría una serie de subprocesos
fork
y los haría comunicarse con tuberías en un "círculo" y descubrir cuál debería ser el "líder" ".Todavía éramos bastante novatos en ese entonces y la mayoría de peple no tenía máquinas Linux, por lo que trabajamos en nuestras cuentas en el servidor principal de nuestra facultad (que también albergaba sitios oficiales y cuentas de personal y sitios). La mayoría de las personas escribieron bifurcaciones en algún momento tratando de hacer la tarea. Más de la mitad de mi grupo llegó al
abusers
archivo. Esa fue la carga más alta en ese servidor en mucho tiempo :)fuente
Cuando mi universidad decidió cambiar la red inalámbrica para usar la autenticación de Cisco LEAP patentada ...
Comenzó una batalla muy larga que terminó bastante bien. Escribió documentación para otras personas que querían ejecutar Linux y tener acceso a Internet. Seis meses después, decidieron agregar también soporte PEAP. Cachetada
Es mi favorito porque gané. Yo tengo que trabajar.
fuente
Como root en Solaris,
... y todo se vino abajo.
Mi amigo fue despedido por esto.
fuente
Fui asistente de laboratorio para una clase de Linux. Uno de los estudiantes me llamó porque ya no podía
su -
porque estaba recibiendopermission denied
. De acuerdo, ha recordado mal o ha escrito mal la contraseña. Reiniciar en modo de usuario único y reiniciar. ¡¿Qué?!su
¿TODAVÍA no funciona? ¡DEBE inclinarse ante mi voluntad! Así que reinicio en modo de usuario único para averiguar qué hizo. Me di cuenta de que ella corríachmod -R 777 /var/www/html/drupal-6.19 /
Tenga en cuenta el espacio entre el nombre del directorio y la barra diagonal final.
Después de unos minutos de "Realmente no quiero que vuelva a instalarla, entonces, ¿qué está haciendo esto y cómo?", Me las arreglé para encontrar que / bin / su ahora tenía permisos de archivo
777
. Eso también se puede leer como permisos de archivo de0777
, lo que elimina el bit setuid de/bin/su
. Un rápidochmod u+s /bin/su
y yo era un héroe.fuente
No es tan doloroso ... Pero es un momento divertido:
He escrito mal
ls
comosl
y descubrió que el administrador del sistema tenía algo instalado para tal caso.(ya disponible en Debian , Ubuntu , Gentoo , ... repositorios)
fuente
Esto no elimina el repositorio. Esto elimina todo lo que no está en el repositorio.
Después de intentar deshacerme del repositorio existente y luego volver a iniciar el control de código fuente (en la primera versión completa de un proyecto), estos dos comandos destruyeron mi código completo.
fuente
Una empresa para la que solía trabajar tenía su producto funcionando en SCO. Estaba haciendo una depuración sobre las aplicaciones que se estaban volviendo muy lentas en nuestro servidor de demostración y, al mismo tiempo, había un montón de clientes que recibían una demostración / conferencia sobre las próximas características nuevas.
Entonces, ejecuté la aplicación que solía atascarse, hice mis cosas para verificar la causa raíz, pero como todavía estaba "atascada", traté de matarla:
Lo que aprendí fue que pkill no hace exactamente lo mismo en SCO que en linux =)
... Básicamente mata todo a lo que el usuario tiene acceso, y con root ... eso es todo =)
fuente
Mi cambio de Debian a Ubuntu comenzó el día que intenté eliminar algunos archivos y directorios, lo que significa escribir
Desafortunadamente, inserté un espacio entre "/ var / tmp /" y "*" y, lo que es peor, estaba en la raíz del sistema de archivos.
¡Por favor no intentes eso en casa!
fuente
Hay un buen truco para hacer el equivalente
dirname
ybasename
, respectivamente, en Bash:No es tan divertido cuando
$path
contiene una barra inclinada final ...fuente
Tenía dos unidades instaladas en un punto y tenía el sistema de archivos raíz de la segunda unidad montado en un directorio dentro
/mnt
. Estaba en ese directorio e intenté eliminarlo,var
pero terminé escribiendo en surm -rf /var
lugar. ¡Algo de instinto pareció entrar en acción y dicho dichovar
debe ir precedido de un corte!Cuando me di cuenta de lo que había hecho, golpeé de inmediato, Ctrl-Cpero ya era demasiado tarde. Mi
rpm
base de datos había salido hace mucho tiempo del edificio. Pasé años para que todo volviera a la normalidad.Ahora para la parte dolorosa.
Regreso a ese directorio
/mnt
para reanudar lo que había estado haciendo. ¿Qué escribo? Bueno, digamos que el instinto volvió a aparecer.Al menos pude restaurar el sistema mucho más rápido la segunda vez;)
fuente