Devido ao "ALL=(ALL) ALL", o sistema permite que o sudo seja usado para executar qualquer comando (com algumas poucas excecoes), mas apenas depois de confirmada a senha do usuario.Para poder executar comandos sem precisar confirmar a senha (como ao rodar usando o live-CD), voce precisaria apenas alterar a linha, substituindo o "(ALL)" por um "NOPASSWD:", como em:%admin ALL=NOPASSWD: ALLNo caso do Ubuntu, o arquivo vem com a linha "%sudo ALL=NOPASSWD: ALL" comentada, que tem um efeito semelhante, permitindo que os usuarios incluidos no grupo "sudo" possam usar o sudo sem senha.Por ser um arquivo essencial dentro do sistema de permissoes, o "/etc/sudoers" e um arquivo extremamente sensivel. Qualquer erro dentro da configuracao, ou qualquer alteracao nas permissoes do arquivo (que devem ser, obrigatoriamente, "0440"), fazem com que o sudo deixe de funcionar, bloqueando parcialmente o sistema ate que o problema seja resolvido.E por isso que e recomendado que voce edite o arquivo usando o comando "visudo", que nao permite que voce salve o arquivo caso existam erros na configuracao. O grande problema e que ele e complicado de usar, o que faz com que muitos dispensem o conselho e usem outros editores de texto. Nao existe nada de errado nisso, desde que voce cheque e recheque a configuracao antes de salvar.Outra dica e que voce sempre destrave a conta de root usando o "sudo passwd" antes de tentar editar o arquivo. Isso garante que voce continue conseguindo se logar como root no sistema caso o sudo fique travado por um erro na configuracao do arquivo.Copy&Paste de Fonte: http://www.hardware.com.br/livros/linux/sux-sudo.html Ordenacao por pulso(OPP) By Douglas HiuraAlgoritmos de ordenacao: sao algoritmos com intuito de colocar cada elemento de um conjunto em ordem, respeitando uma propriedade do mesmo, exemplo:A={4,5,3,2}Aplicando f (<,A): A={2,3,4,5}. O algoritmo por Pulso tem complexidade O(n*n/2). Caracteristicas do algoritmo:Cada elemento e movimentado apenas uma posicao por vez;Para movimentar precisa de um pulso;Exemplo:Implementacao: int v[] = { 5,4,3,2}; int pulso, i,temp,MAX = 4;for (i = 0; i menor MAX; i++) {for (pulso =i % 2; pulso menor (MAX - 1); pulso += 2) { if (v[pulso] maior v[pulso + 1]) { temp = v[pulso]; v[pulso] = v[pulso + 1]; v[pulso + 1] = temp; }}}A logica deste algoritmo, foi criado por Douglas Hiura Longo, em 28 de marco de 2009. Nome: Injetar o valor de um bean em outro bean como atributo.Exemplo: Um usuario autentica-se, e mantem-se seu bean na sessao. Logo, o bean que controla os links acessados precisa do usuario e o link clicado para mostrar, como exemplo:link : usuariowww.meusite.com.br/ir.jsf : douglaswww.meusite.com.br/voltar.jsf?id=30: pauloContexto: Injetar os valores de atributos de um ManagedBean, atraves de outros Beans, usando JSF 2.0. Tenho dois beans: - usuario a classe Usuario; - controleLink a classe ControleLink.Deve ser injetado o bean usuario no beancontroleLink como atributo.Problema: Na versao JSF 1.2, para resolver o valor de um bean usuario na classe que controla link(ControleLink), apreciava-se escrever algo do tipo:...usuario=FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("usuario"))...Solucao: Para jsf 2.0 isso ficou mais facilImplementando as duas classe Usuario e ControleLink usando conceitos de JSF 2.0.import javax.faces.bean.ManagedBean;import javax.faces.bean.SessionScoped;@ManagedBean(name="usuario")@SessionScopedpublic class Usuario {private String nome;private Boolean autenticado = false;public Boolean