Uau, eu nunca considerei isso até você mencionar. Um bom.
Stefan Lasiewski
O que acontece se você fizer isso em um arquivo regular?
Luc H
@Luc Eu acho que você só precisa chmod-lo de volta
phunehehe
Normalmente, faço esses 'experimentos' na minha VM do Arch. Se bombardear, eu apenas retrocedo.
André Paramés
Eu cometi esse erro uma vez. Foi altamente embaraçoso, mas uma lição valiosa.
12137 Charles Sprayberry
37
Quando comecei a trabalhar como consultor de usuários para a universidade em que participava, recebi sudodireitos limitados para ajudar os alunos que haviam perdido / esquecido suas senhas. sudo passwd <username>era meu novo amigo. Uma hora depois da minha orientação, minha curiosidade tomou conta de mim e eu digitei sudo passwde olhei horrorizada a solicitação de uma nova senha. Fiquei um pouco assustado ^C, pensando (erroneamente, ao que parece) que eu poderia deixar a conta em questão em um estado transitório, então digitei uma senha e imediatamente subi as escadas para o domínio sagrado do segundo andar do SuperUser do campus e perguntou se ele gostaria de saber a senha root do sistema principal.
você poderia ter digitado uma senha de incompatibilidade no segundo prompt de confirmação, para que nada fosse afetado e a senha passasse.
Wadih M.
11
@ Wadih: passwdcomporta - se engraçado quando executado como root. Por exemplo, ao falhar na verificação de erros de digitação, ele pergunta novamente.
György Andrasek
Você poderia ter mudado de volta para o que era antes.
HandyGandy
11
@HandyGandy ele não sabia a senha root original. Ele só tinha direitos de sudo para executar senhas.
gnud
32
Surpreendido, ninguém mais mencionou este ainda:
rm -rf .*
(Ao tentar remover todos os arquivos e subdiretórios ocultos, esquecendo completamente que ele retornará para .e ..)
Embora isso tenha me queimado no passado, muitas versões rmnão o farão agora. Eu tentei Darwin e recebi o erro rm: "." and ".." may not be removed.
Stefan Lasiewski
7
Faço isso o tempo todo, em todos os tipos de plataformas. Funciona como pretendido no OpenBSD, NetBSD, Linux e OpenSolaris.
precisa saber é
Se você deseja combinar todos os arquivos de ponto, exceto .e .., use .[^.]*. (Bem, isso vai realmente perder todos os arquivos começando com .., mas normalmente há apenas uma.)
Sven Marnach
@ Sven: Outra maneira é .??*, que eu acho mais fácil digitar. Este não corresponde a arquivos de ponto de duas letras .a, mas também são incomuns. Eu pesquiso os arquivos de configuração no meu diretório pessoal com grep -r .??*, por exemplo.
Neil Mayhew
31
Makefile:
clean:
@rm -f * .o
O que, é claro, faz com que make cleanlimpe seu código-fonte em vez de apenas arquivos de objeto.
Se você não pode vê-lo, observe o caractere de espaço entre *e.o
Denilson Sá Maia
11
Eu sinto sua dor, aconteceu a todos nós em algum momento :)
axel_c
Lição recarregada: sempre que você fizer coisas de concha e vir um " ", seja * extra , não, seja extra extra extra cuidado.
Jürgen A. Erhard
Eu fiz isso manualmente, depois de puxar a noite toda no laboratório. O projeto era devido algumas horas depois. Acabou sendo uma bênção disfarçada; a nova versão reescrita que entreguei era muito melhor do que a versão enfaixada que apaguei.
Um amigo rodou :() { :|:&}; :em um servidor remoto onde não tínhamos acesso ao console. Não foi possível reiniciá-lo, completamente congelado, servidor de produção .
Dividido (por solicitação) para torná-lo um pouco mais legível.
:()# 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 ':'
Você gostaria de explicar o que faz? Eu não posso descobrir isso e eu não quiser experimentá-lo;)
naugtur
23
Parece uma bomba de garfo. Não tente fazer isso, a menos que você realmente saiba o que está fazendo.
Zaid
5
Sim. É uma bifurcação. E um ótimo :) Parece que bifurca o interpretador do bash, pois ele tenta interminavelmente analisá-lo. Se você pular o último :, não fará nada. E não usa memória, apenas bifurca-se bastante. [Sim, eu tentei :)]. Os efeitos podem ser bloqueados com uma cota no número de processos por usuário.
Um amigo fez isso e eu o ajudei a restaurar a mesa. Infelizmente, não tínhamos os valores anteriores para os tamanhos e compensações da partição, então usamos um loop bash com a ddleitura do primeiro bloco de 4k de cada cilindro canalizado file -para encontrar o superbloco e, portanto, o início do sistema de arquivos. Este estava em um CD ao vivo e não havia RAM suficiente para fazer tudo o que precisávamos (incluindo a instalação de um ou dois pacotes), por isso entramos em um processo em execução no ssh em outra máquina.
Neil Mayhew
2
Ai. É por isso que eu sempre uso sempre sfdisk -Oo backup da tabela de partições. FYI: cgsecurity.org/wiki/TestDisk pode automatizar o que o @Neil Mayhew fez.
ephemient 17/11/2010
2
Eu também estava lá, testdisksalvei minha caixa
phunehehe
Atualmente, temos gpart, que procura coisas que podem se parecer com sistemas de arquivos e constrói uma tabela de partição a partir disso.
Simon Richter
19
Não é realmente o meu momento, mas o de outra pessoa.
Quando eu trabalhava em uma instalação de pesquisa em ciências nucleares, costumávamos executar vários computadores SunOS, Ultrix e Linux, e os pesquisadores tinham que compartilhar a CPU nessas máquinas. Como grupos de pesquisa individuais obtiveram suas próprias bolsas de pesquisa, adquiriram seus próprios computadores, principalmente SparcStations, e eles mesmos administraram o sistema.
O SunOS costumava ser fornecido com a área de trabalho do OpenView e um bom gerenciador de arquivos, e era assim:
A maioria dos nossos pesquisadores estava rodando como root e, mais de uma vez, tivemos que reinstalar seus sistemas operacionais porque alguém havia decidido arrumar o diretório raiz e movido / bin, / etc, / tmp e tudo o que atrapalhava a exibição. a Lixeira ou alguma subpasta.
Outros usuários optaram por arrumar o diretório / bin e remover qualquer comando que não conheciam.
Os sortudos tinham backups, a maioria havia comprado uma unidade de fita, mas não possuíam a tradição de executar backups.
TRWTF é que eles estavam rodando como raiz, em uma instalação de pesquisa em ciências nucleares!
Invert
4
captura de tela legal! me deixa nostálgico.
Gabe.
@Alex - bem, havia esse arquivo vmunix grande que eu não estava usando ....
Martin Beckett
11
Em versões antigas do Mac OS, você poderia praticamente mover qualquer lugar do arquivo, talvez isso é o que eles estavam esperando ...
Kevin Cantu
18
Em meados do final da década de 90, um amigo meu e eu estávamos discutindo a loucura rm -rf *e em que momento uma caixa do Linux iria falir. Entramos em bibliotecas vinculadas estaticamente versus dinamicamente e eu postulei que o sistema poderia viver muito bem sem /libe, em seguida, passamos a renomeá-lo na minha estação de trabalho. Coisas ruins aconteceram , mas ficamos com várias janelas de console abertas para tentar corrigir o dano (o desligamento não era mais uma opção). Nenhum dos editores seria executado. É incrível os usos esotéricos que você pode encontrar para o echocomando.
@Alex B: A história também faz parte do Unix Horror Stories , que é ótimo de ler.
Bobby
18
vie Caps-Lockvs./etc/passwd
Conecte-se a uma caixa Solaris antiga usando um terminal serial antigo que não atualiza a tela corretamente.
su -
vi /etc/passwd. Não há vipw, e "estamos apenas fazendo pequenas edições" de qualquer maneira.
Pressione a Caps-Locktecla e não perceba.
Bata jalgumas vezes para rolar para baixo. Ignore o fato de que você acabou de digitar J("Join"), que combina essa linha com a próxima. A tela do terminal serial não estava sendo atualizada corretamente, então você não viu que acabou de combinar as 5 primeiras linhas em uma linha Loooooong, corrompendo os 5 primeiros usuários ('root', 'daemon' etc.).
Finalize as OUTRAS edições pretendidas no arquivo, na parte inferior.
Salvar Arquivo.
Sair.
Eu fiz isso uma vez. Surpreendentemente, o sistema permaneceu funcional por meses. Cronjobs correu bem, nenhum erro se destacou nos arquivos de log.
Não notamos esse problema até reiniciar o sistema meses depois e não conseguimos fazer login no console. psmostrou vários trabalhos de propriedade do UID '0' e não do usuário 'root'.
Não era possível fazer login como root, nem executar suou su -, e não havia sudonessa caixa. Não havia unidade de disquete, o CD-ROM foi bloqueado e nenhuma porta USB (portanto, nenhum CD-ROM externo). O modo de usuário único não funcionou, porque você precisa digitar a senha para root e isso vem /etc/passwd.
Certamente "J" é o comando "Join" (como nas linhas de junção juntas)?
dr-jan
2
Espere um minuto, não preciso digitar a senha para inicializar no modo de usuário único. De fato, é assim que redefino a senha root se a perder. Ou era diferente nos velhos tempos?
Phreinhe #
No Solaris, você precisa saber a senha root para entrar no modo de usuário único. Eu tive que fazer isso há duas semanas, na verdade.
Stefan Lasiewski
@phunehehe Acho que você está pensando no truque init = / bin / sh. Isso de fato não requer a senha root. No entanto o nível de execução 1 não ainda exigem passe de raiz
Um simples haltreconhecimento, alguns segundos depois, de que não estou em um shell local e não tenho possibilidade de ligar o servidor de produção novamente.
Lições aprendidas? O prompt da máquina agora parece
O que eu realmente amo nesse caso é o fato de ele estar preocupado com o tempo que o emacs durou, mas não apenas usá-lo alias e=emacs.
Steven D
Além de café, aviso de que 'e' e 'r' não são muito distante perto do teclado ...
leonbloy
11
Ou outra experiência, como se sentir realmente estúpido em algumas etapas fáceis que não parecem tão estúpidas individualmente.
Etapa 1: estabelecer uma conta para o garoto, caso ele queira usar uma caixa Linux. Dê uma senha trivial, pois, afinal, esse é um sistema doméstico e não está exposto à rede.
Etapa 2: aguarde o tempo decorrido, para que você não se lembre da etapa um.
Etapa 3: abrir a porta SSH no firewall (na verdade o NAT no roteador) para fazer o ssh. Afinal, minhas contas têm senhas muito boas e não é como se houvesse algo tremendamente valioso.
Etapa quatro: receba uma notificação do ISP de que há algum tipo de atividade do DOS indo para um site sueco. Suponha que sejam provavelmente as caixas do Windows e examine e reforce-as.
Etapa 5: receba uma notificação do ISP de que ainda está acontecendo. Peça alguns detalhes, obtenha o endereço IP do site sueco, inicie o Wireshark e encontre de qual caixa o ataque está ocorrendo.
Etapa seis: limpe a caixa do Linux, sentindo-se estúpido. Encontre o logon veio de um endereço romeno. Remova contas sem boas senhas.
Esteve lá. Certa vez, criei uma conta com um login de test: test, pretendendo usá-lo por apenas cerca de cinco minutos. Esqueci de excluí-lo e obtive os mesmos resultados que você. Nunca mais. Eu vou todos os autenticação de chave pública agora.
ATC
11
Sim, eu também uso chaves públicas / privadas. Às vezes, podem ser um pouco chatos, mas muito mais seguros do que senhas simples.
Denilson Sá Maia
4
Ao abrir o SSH na Internet, NUNCA permita a autenticação de senha. Somente autenticação de chave pública / privada, para que você não seja pego de surpresa.
wazoox
@ wazoox: otp também é uma boa alternativa.
Jürgen A. Erhard
Eu uso uma porta não padrão e de número alto para ssh, encaminhada do roteador para a porta ssh padrão nas minhas caixas Linux e Mac OS X. Eu nunca recebi nenhuma tentativa de logon. Eu tenho a porta configurada em um atalho em ~ / .ssh / config em minhas outras máquinas, então geralmente nem preciso digitá-la.
Neil Mayhew
11
Nos laboratórios de informática, quando eu estava na faculdade, eles tinham um protetor de tela que simulava um monte de bolas que flutuavam para frente e para trás. Eles puxaram cada um com gravidade simulada.
Uma vez, enquanto eu estava mexendo nas configurações, ele travou com o erro Error: force on balls too great
Eu estava desenvolvendo um driver de dispositivo para Unix. Ele tinha um problema de ponteiro e, durante o teste, começou a gravar o final de uma matriz na memória do kernel. Eu demorei a perceber isso e não apertei o botão de reset imediatamente. O driver rabiscou todo o cache do buffer de disco, que foi liberado para o disco antes de eu pressionar Reset. Muitos dos blocos eram inodes e diretórios, e acabei com um sistema de arquivos totalmente destruído. Acho que 6000 arquivos órfãos foram colocados lost+foundantes de eu desistir e reinstalar. Felizmente, este era apenas um sistema de teste, não minha estação de trabalho com todos os meus arquivos.
Agora fazendo isso em seu sistema de trabalho teria sido realmente estúpido ;-)
Jürgen A. Erhard
8
Eu apaguei / etc e depois o recuperei . Acho que não aprendi minha lição ... Também tive que me recuperar de uma excluída /bin. Parece acontecer quando eu estiver trabalhando com um chroot.
Eu gostaria muito de saber por que eu tenho downmodded
xenoterracide
11
Eu tenho testemunhado isso também. Estou surpreso que um sistema possa sobreviver sem o / etc --- apenas não reinicie nada.
Stefan Lasiewski
7
No ano passado, um colega meu estava usando uma de nossas estações de trabalho Linux para criar cópias de discos flash usando o ddcomando Ele acidentalmente digitou algo semelhante ao seguinte:
dd if=flash-image.img of=/dev/sda1
Quando ele percebeu seu erro - sobrescrever o disco rígido da máquina em vez da unidade flash - a máquina já estava na mangueira. Tivemos que reconstruir a caixa, que aliás também era a máquina que hospedava todas as nossas VMs de desenvolvimento na época ...
Enquanto no meu segundo ano estudando ciência da computação, recebemos uma tarefa de casa para escrever um programa em C que geraria vários subprocessos forke os faria se comunicar com tubos em um "círculo" e descobrir qual deles deveria ser o "líder". "
Ainda éramos bastante nobres naquela época e a maioria das pessoas não tinha nenhuma máquina Linux, por isso trabalhamos em nossas contas no servidor principal de nossa faculdade (que hospedava sites e contas de funcionários e sites oficiais). A maioria das pessoas escreveu forkbombs em algum momento da tentativa de fazer a lição de casa. Mais da metade do meu grupo chegou ao abusersarquivo. Essa foi a carga mais alta nesse servidor em um tempo muito longo :)
isso foi bobagem da parte deles ... eles não deveriam colocá-lo na mesma máquina que os servidores da web e outras coisas. (A minha escola tem a mesma coisa, mas temos severs dedicados a conchas remotos para os forkbombs anuais realmente não ficar muito fora de mão)
Spudd86
A Microsoft conseguiu o corpo docente para entrar em parceria, e o Windows e o .net já eram muito promovidos. Ninguém esperava que um bando de noobs no servidor :)
naugtur
6
Quando minha universidade decidiu mudar a rede sem fio para usar a autenticação proprietária do Cisco LEAP ...
Começou uma batalha muito longa que terminou bem o suficiente. Escreveu documentação para outras pessoas que queriam executar o Linux e ter acesso à Internet. Seis meses depois, eles decidiram adicionar o suporte ao PEAP também. tapa na cara
É o meu favorito porque ganhei. Eu tenho que trabalhar.
Eu era um assistente de laboratório para uma aula de Linux. Uma das alunas me ligou porque ela não podia mais su -porque estava recebendo permission denied. OK, ela não se lembrou / digitou incorretamente a senha. Reinicie no modo de usuário único e redefina. O que?! suAINDA não funciona ?! DEVE curvar-se à minha vontade! Então, eu reinicio no modo de usuário único para descobrir o que ela fez. Eu percebi que ela corriachmod -R 777 /var/www/html/drupal-6.19 /
Observe o espaço entre o nome do diretório e a barra final.
Depois de alguns minutos de "Eu realmente não quero que ela seja reinstalada, então o que isso está fazendo e como.", Consegui descobrir que / bin / su agora tinha permissões de arquivo de 777. Isso também pode ser lido como permissões de arquivo 0777, das quais remove o bit setuid /bin/su. Um rápido chmod u+s /bin/sue eu era um herói.
Essa era a única coisa que você precisava mudar para desarmar o sistema dela?
Michael Mrozek
11
Tenho certeza de que ainda estava quebrado, mas talvez tenha funcionado bem o suficiente para o resto da classe.
Stefan Lasiewski
11
Funcionou bem o suficiente para o resto da turma; evidentemente, a escola exige que todos os alunos sejam reinstalados a cada trimestre. E ela não continuaria com o Linux depois que este trimestre terminasse, então eu não me incomodei em corrigi-lo o resto do caminho.
Kevin M
5
Não é tão doloroso ... Mas um momento divertido:
Eu mal digitado lscomo sle descobriu que o sysadmin tinha algo instalado para tal caso.
É mais um ovo de Páscoa do que um momento doloroso. Eu li sobre isso antes de me deparar com isso, mas nunca me vi digitando errado, então não há +1.
Umang
Grinn .. Eu tinha um usuário uma vez que veio a mim "Você é sistema é hackeado !!! 11one Eu tenho uma animação ASCII-art, quando eu digitei ls"
blauwblaatje
^ Não é tão engraçado!
Mr_eclair 31/07
5
git init
git clean -f
Isso não remove o repositório. Isso remove tudo o que não está no repositório.
Depois de tentar se livrar do repositório existente e reiniciar o controle de origem (na primeira versão concluída de um projeto), esses dois comandos desmarcaram meu código inteiro.
git rebase (com squashing) e git filter-branch (para remover arquivos) são seus amigos :-) Com isso, quero dizer que existem maneiras mais seguras de remover cruft do seu histórico de repositórios e terminar com um projeto relativamente limpo. Normalmente, faço uma cópia de backup da ramificação atual antes de fazer uma ampla recuperação.
Neil Mayhew
5
Uma empresa em que eu trabalhava tinha seu produto em execução no SCO. Eu estava fazendo uma depuração de aplicativos que ficavam muito lentos em nosso servidor de demonstração e, ao mesmo tempo, vários clientes receberam uma demonstração / palestra sobre os próximos novos recursos.
Então, eu executei o aplicativo que costumava ficar preso, fiz minhas coisas para verificar a causa raiz, mas como ainda estava "preso", tentei matá-lo:
pkill -9 mytestapplication
O que eu aprendi foi que o pkill não faz exatamente o mesmo no SCO e no linux =)
... Basicamente, mata tudo o que o usuário tem acesso, e com root ... isso é tudo =)
Eu tinha duas unidades instaladas em um ponto e o sistema de arquivos raiz da segunda unidade foi montado em um diretório dentro /mnt. Eu estava naquele diretório e tentei excluir, varmas acabei digitando rm -rf /var. Pareceu surgir algum instinto que dizia que vardeveria ser precedido de uma barra!
Quando percebi o que tinha feito, bati imediatamente, Ctrl-Cmas já era tarde demais. Meu rpmbanco de dados já havia saído do prédio há muito tempo. Passei séculos voltando ao normal.
Agora, a parte dolorosa.
Volto a esse diretório /mntpara retomar o que estava fazendo. O que eu digito? Bem, digamos que o instinto entrou em ação novamente.
Pelo menos eu fui capaz de restaurar o sistema muito mais rápido na segunda vez;)
rm
comando. Ou triste.Respostas:
Eu estava curioso para
chmod 000 /
dar certo.Bem, na perfeição. Alguns minutos depois, eu estava procurando por um CD de resgate.
fonte
Quando comecei a trabalhar como consultor de usuários para a universidade em que participava, recebi
sudo
direitos limitados para ajudar os alunos que haviam perdido / esquecido suas senhas.sudo passwd <username>
era meu novo amigo. Uma hora depois da minha orientação, minha curiosidade tomou conta de mim e eu digiteisudo passwd
e olhei horrorizada a solicitação de uma nova senha. Fiquei um pouco assustado^C
, pensando (erroneamente, ao que parece) que eu poderia deixar a conta em questão em um estado transitório, então digitei uma senha e imediatamente subi as escadas para o domínio sagrado do segundo andar do SuperUser do campus e perguntou se ele gostaria de saber a senha root do sistema principal.fonte
passwd
comporta - se engraçado quando executado como root. Por exemplo, ao falhar na verificação de erros de digitação, ele pergunta novamente.Surpreendido, ninguém mais mencionou este ainda:
(Ao tentar remover todos os arquivos e subdiretórios ocultos, esquecendo completamente que ele retornará para
.
e..
)fonte
rm
não o farão agora. Eu tentei Darwin e recebi o errorm: "." and ".." may not be removed
..
e..
, use.[^.]*
. (Bem, isso vai realmente perder todos os arquivos começando com..
, mas normalmente há apenas uma.).??*
, que eu acho mais fácil digitar. Este não corresponde a arquivos de ponto de duas letras.a
, mas também são incomuns. Eu pesquiso os arquivos de configuração no meu diretório pessoal comgrep -r .??*
, por exemplo.Makefile:
O que, é claro, faz com que
make clean
limpe seu código-fonte em vez de apenas arquivos de objeto.Lição: use o controle de versão.
fonte
*
e.o
Um amigo rodou
:() { :|:&}; :
em um servidor remoto onde não tínhamos acesso ao console. Não foi possível reiniciá-lo, completamente congelado, servidor de produção .Dividido (por solicitação) para torná-lo um pouco mais legível.
Pode ser mais fácil olhar para ele como
fonte
:
, não fará nada. E não usa memória, apenas bifurca-se bastante. [Sim, eu tentei :)]. Os efeitos podem ser bloqueados com uma cota no número de processos por usuário.Eu quis dizer bem, eu realmente fiz. Tentando
chmod
recursivamente um diretório e acabou trocando./
com/
.Como raiz, é claro, porque somente com a raiz a verdadeira dor (e, portanto, a iluminação) pode ser alcançada.
fonte
Limpei a tabela de partição da minha unidade principal por acidente, pensando que estava trabalhando em outra unidade.
Com o scrollback, o uso cuidadoso
df
, a memória e a sorte, pude recriá-lo exatamente, reescrevê-lo, reiniciar e ter esperança ... E funcionou.fonte
dd
leitura do primeiro bloco de 4k de cada cilindro canalizadofile -
para encontrar o superbloco e, portanto, o início do sistema de arquivos. Este estava em um CD ao vivo e não havia RAM suficiente para fazer tudo o que precisávamos (incluindo a instalação de um ou dois pacotes), por isso entramos em um processo em execução no ssh em outra máquina.sfdisk -O
o backup da tabela de partições. FYI: cgsecurity.org/wiki/TestDisk pode automatizar o que o @Neil Mayhew fez.testdisk
salvei minha caixagpart
, que procura coisas que podem se parecer com sistemas de arquivos e constrói uma tabela de partição a partir disso.Não é realmente o meu momento, mas o de outra pessoa.
Quando eu trabalhava em uma instalação de pesquisa em ciências nucleares, costumávamos executar vários computadores SunOS, Ultrix e Linux, e os pesquisadores tinham que compartilhar a CPU nessas máquinas. Como grupos de pesquisa individuais obtiveram suas próprias bolsas de pesquisa, adquiriram seus próprios computadores, principalmente SparcStations, e eles mesmos administraram o sistema.
O SunOS costumava ser fornecido com a área de trabalho do OpenView e um bom gerenciador de arquivos, e era assim:
A maioria dos nossos pesquisadores estava rodando como root e, mais de uma vez, tivemos que reinstalar seus sistemas operacionais porque alguém havia decidido arrumar o diretório raiz e movido / bin, / etc, / tmp e tudo o que atrapalhava a exibição. a Lixeira ou alguma subpasta.
Outros usuários optaram por arrumar o diretório / bin e remover qualquer comando que não conheciam.
Os sortudos tinham backups, a maioria havia comprado uma unidade de fita, mas não possuíam a tradição de executar backups.
fonte
Em meados do final da década de 90, um amigo meu e eu estávamos discutindo a loucura
rm -rf *
e em que momento uma caixa do Linux iria falir. Entramos em bibliotecas vinculadas estaticamente versus dinamicamente e eu postulei que o sistema poderia viver muito bem sem/lib
e, em seguida, passamos a renomeá-lo na minha estação de trabalho. Coisas ruins aconteceram , mas ficamos com várias janelas de console abertas para tentar corrigir o dano (o desligamento não era mais uma opção). Nenhum dos editores seria executado. É incrível os usos esotéricos que você pode encontrar para oecho
comando.fonte
vi
e Caps-Lockvs./etc/passwd
su -
vi /etc/passwd
. Não hávipw
, e "estamos apenas fazendo pequenas edições" de qualquer maneira.Eu fiz isso uma vez. Surpreendentemente, o sistema permaneceu funcional por meses. Cronjobs correu bem, nenhum erro se destacou nos arquivos de log.
Não notamos esse problema até reiniciar o sistema meses depois e não conseguimos fazer login no console.
ps
mostrou vários trabalhos de propriedade do UID '0' e não do usuário 'root'.Não era possível fazer login como root, nem executar
su
ousu -
, e não haviasudo
nessa caixa. Não havia unidade de disquete, o CD-ROM foi bloqueado e nenhuma porta USB (portanto, nenhum CD-ROM externo). O modo de usuário único não funcionou, porque você precisa digitar a senha para root e isso vem/etc/passwd
.fonte
e
quando
DIR
não foi definido!fonte
${DIR}
? Porque$(DIR)
tentaria executar o comando DIR.Lembro-me de tentar enviar uma SysRqsequência de teclas para uma máquina remota ...
... mas foi capturado pelo local.
fonte
Um simples
halt
reconhecimento, alguns segundos depois, de que não estou em um shell local e não tenho possibilidade de ligar o servidor de produção novamente.Lições aprendidas? O prompt da máquina agora parece
[ --> root <-- @kompost:/home/echox] #
com uma boa marcação vermelha ;-)
fonte
molly-guard
que verifica se você está conectado remotamente e pergunta se você realmente deseja fazer isso.Meu momento favorito foi quando um colega de trabalho, usuário do emacs, queria editar um arquivo importante.
Como
emacs
é demais digitar, ele havia configurado um alias paraemacs
:Sob a influência de café insuficiente ou em excesso, ele naturalmente digitou incorretamente
em
...Bem, este é apenas mais um motivo para usar
vi
...;)fonte
alias e=emacs
.Ou outra experiência, como se sentir realmente estúpido em algumas etapas fáceis que não parecem tão estúpidas individualmente.
Etapa 1: estabelecer uma conta para o garoto, caso ele queira usar uma caixa Linux. Dê uma senha trivial, pois, afinal, esse é um sistema doméstico e não está exposto à rede.
Etapa 2: aguarde o tempo decorrido, para que você não se lembre da etapa um.
Etapa 3: abrir a porta SSH no firewall (na verdade o NAT no roteador) para fazer o ssh. Afinal, minhas contas têm senhas muito boas e não é como se houvesse algo tremendamente valioso.
Etapa quatro: receba uma notificação do ISP de que há algum tipo de atividade do DOS indo para um site sueco. Suponha que sejam provavelmente as caixas do Windows e examine e reforce-as.
Etapa 5: receba uma notificação do ISP de que ainda está acontecendo. Peça alguns detalhes, obtenha o endereço IP do site sueco, inicie o Wireshark e encontre de qual caixa o ataque está ocorrendo.
Etapa seis: limpe a caixa do Linux, sentindo-se estúpido. Encontre o logon veio de um endereço romeno. Remova contas sem boas senhas.
fonte
Nos laboratórios de informática, quando eu estava na faculdade, eles tinham um protetor de tela que simulava um monte de bolas que flutuavam para frente e para trás. Eles puxaram cada um com gravidade simulada.
Uma vez, enquanto eu estava mexendo nas configurações, ele travou com o erro
Error: force on balls too great
fonte
Eu estava desenvolvendo um driver de dispositivo para Unix. Ele tinha um problema de ponteiro e, durante o teste, começou a gravar o final de uma matriz na memória do kernel. Eu demorei a perceber isso e não apertei o botão de reset imediatamente. O driver rabiscou todo o cache do buffer de disco, que foi liberado para o disco antes de eu pressionar Reset. Muitos dos blocos eram inodes e diretórios, e acabei com um sistema de arquivos totalmente destruído. Acho que 6000 arquivos órfãos foram colocados
lost+found
antes de eu desistir e reinstalar. Felizmente, este era apenas um sistema de teste, não minha estação de trabalho com todos os meus arquivos.fonte
Eu apaguei / etc e depois o recuperei . Acho que não aprendi minha lição ... Também tive que me recuperar de uma excluída
/bin
. Parece acontecer quando eu estiver trabalhando com umchroot
.fonte
No ano passado, um colega meu estava usando uma de nossas estações de trabalho Linux para criar cópias de discos flash usando o
dd
comando Ele acidentalmente digitou algo semelhante ao seguinte:Quando ele percebeu seu erro - sobrescrever o disco rígido da máquina em vez da unidade flash - a máquina já estava na mangueira. Tivemos que reconstruir a caixa, que aliás também era a máquina que hospedava todas as nossas VMs de desenvolvimento na época ...
fonte
dd
!!! :-)Isso aconteceu comigo no ano passado. Eu estava removendo alguns arquivos do servidor usando uma variável temporária:
Adivinha? A variável
$prefix
não foi definida!Você pode imaginar o desastre ... resultou em alguns arquivos muito críticos excluídos.
Eu quase quebrei o Control-Ce corri para a CPU para remover o cabo de rede !!
Hahaha, tenho certeza que alguém já fez isso ...
fonte
Enquanto no meu segundo ano estudando ciência da computação, recebemos uma tarefa de casa para escrever um programa em C que geraria vários subprocessos
fork
e os faria se comunicar com tubos em um "círculo" e descobrir qual deles deveria ser o "líder". "Ainda éramos bastante nobres naquela época e a maioria das pessoas não tinha nenhuma máquina Linux, por isso trabalhamos em nossas contas no servidor principal de nossa faculdade (que hospedava sites e contas de funcionários e sites oficiais). A maioria das pessoas escreveu forkbombs em algum momento da tentativa de fazer a lição de casa. Mais da metade do meu grupo chegou ao
abusers
arquivo. Essa foi a carga mais alta nesse servidor em um tempo muito longo :)fonte
Quando minha universidade decidiu mudar a rede sem fio para usar a autenticação proprietária do Cisco LEAP ...
Começou uma batalha muito longa que terminou bem o suficiente. Escreveu documentação para outras pessoas que queriam executar o Linux e ter acesso à Internet. Seis meses depois, eles decidiram adicionar o suporte ao PEAP também. tapa na cara
É o meu favorito porque ganhei. Eu tenho que trabalhar.
fonte
Como raiz no Solaris,
... e tudo deu certo.
Meu amigo foi demitido por causa disso.
fonte
Eu era um assistente de laboratório para uma aula de Linux. Uma das alunas me ligou porque ela não podia mais
su -
porque estava recebendopermission denied
. OK, ela não se lembrou / digitou incorretamente a senha. Reinicie no modo de usuário único e redefina. O que?!su
AINDA não funciona ?! DEVE curvar-se à minha vontade! Então, eu reinicio no modo de usuário único para descobrir o que ela fez. Eu percebi que ela corriachmod -R 777 /var/www/html/drupal-6.19 /
Observe o espaço entre o nome do diretório e a barra final.
Depois de alguns minutos de "Eu realmente não quero que ela seja reinstalada, então o que isso está fazendo e como.", Consegui descobrir que / bin / su agora tinha permissões de arquivo de
777
. Isso também pode ser lido como permissões de arquivo0777
, das quais remove o bit setuid/bin/su
. Um rápidochmod u+s /bin/su
e eu era um herói.fonte
Não é tão doloroso ... Mas um momento divertido:
Eu mal digitado
ls
comosl
e descobriu que o sysadmin tinha algo instalado para tal caso.(já disponível nos repositórios Debian , Ubuntu , Gentoo , ...)
fonte
Isso não remove o repositório. Isso remove tudo o que não está no repositório.
Depois de tentar se livrar do repositório existente e reiniciar o controle de origem (na primeira versão concluída de um projeto), esses dois comandos desmarcaram meu código inteiro.
fonte
Uma empresa em que eu trabalhava tinha seu produto em execução no SCO. Eu estava fazendo uma depuração de aplicativos que ficavam muito lentos em nosso servidor de demonstração e, ao mesmo tempo, vários clientes receberam uma demonstração / palestra sobre os próximos novos recursos.
Então, eu executei o aplicativo que costumava ficar preso, fiz minhas coisas para verificar a causa raiz, mas como ainda estava "preso", tentei matá-lo:
O que eu aprendi foi que o pkill não faz exatamente o mesmo no SCO e no linux =)
... Basicamente, mata tudo o que o usuário tem acesso, e com root ... isso é tudo =)
fonte
Minha mudança do Debian para o Ubuntu começou no dia em que tentei excluir alguns arquivos e diretórios, o que significa digitar
Infelizmente, inseri um espaço entre "/ var / tmp /" e "*" e, pior ainda, estava na raiz do sistema de arquivos.
Por favor, não tente isso em casa!
fonte
Há um truque legal para fazer o equivalente a
dirname
ebasename
, respectivamente, no Bash:Não é tão engraçado quando
$path
contém uma barra à direita ...fonte
Eu tinha duas unidades instaladas em um ponto e o sistema de arquivos raiz da segunda unidade foi montado em um diretório dentro
/mnt
. Eu estava naquele diretório e tentei excluir,var
mas acabei digitandorm -rf /var
. Pareceu surgir algum instinto que dizia quevar
deveria ser precedido de uma barra!Quando percebi o que tinha feito, bati imediatamente, Ctrl-Cmas já era tarde demais. Meu
rpm
banco de dados já havia saído do prédio há muito tempo. Passei séculos voltando ao normal.Agora, a parte dolorosa.
Volto a esse diretório
/mnt
para retomar o que estava fazendo. O que eu digito? Bem, digamos que o instinto entrou em ação novamente.Pelo menos eu fui capaz de restaurar o sistema muito mais rápido na segunda vez;)
fonte