sábado, 29 de maio de 2010

Gerenciando Grupos e Usuários Linux

No Linux, como em todo o sistema UNIX-like, os usuário são registrados em grupos. Cada usuário tem pelo menos um grupo ao qual está associado. Se só estiver associado a um grupo, este será seu grupo principal (geralmente é um grupo com o mesmo nome do usuário), denominado Primary Group (grupo primário). Porém, um usuário pode estar associado a vários grupos (embora apenas um deles seja o seu grupo principal). Vejamos como manipulá-los...


  • Verificando os Grupos do Usuário

Basta digitar o comando "groups", ou "groups usuario". No primeiro caso, será mostrada a lista de grupos do usuário que digitou o comando. No segundo, a lista referente ao usuário especificado. Qualquer usuário do sistema pode inspecionar os grupos de qualquer outro, mesmo os do root!! Experimente!!


  • Adicionando um Grupo Linux

Em algumas situações, desejamos criar um grupo novo e adicionar usuários a este grupo. Para criar um grupo novo, digite (somente como root):

addgroup nomegrupo

Isto criará um grupo novo com o nome especificado, porém sem usuários vinculados a este grupo.


  • Adicionando um Grupo a um Usuário Existente

Se você acabou de criar seu grupo novo e quer colocar usuários associados a ele, mas os usuários já existem, basta digitar:

usermod -a -G nomegrupoexistente nomeusuarioexistente

Isto vincula um usuário existente a um grupo existente ao qual ainda não pertença. Claro que não remove os vínculos do referido usuário a outros grupos a que porventura ele esteja associado.


  • Adicionando um Novo Usuário a um Grupo Já Existente

Beleza, agora vamos fazer o contrário: criar um novo usuário, porém definindo seu grupo primário (principal) como um grupo que já exista:

useradd -g grupoexistente usuarionovo

Note que o grupo especificado (grupoexistente) já deve existir previamente!! O novo usuário (usuarionovo) terá vínculo a apenas um grupo, o referido no comando, que será seu grupo primário.


  • Simplesmente Criando um Usuário Novo
Bem semelhante ao comando acima, se o comando digitado fosse:

useradd usuarionovo

Seriam criados ambos um usuário novo com o nome especificado e um grupo novo com o mesmo nome, sendo automaticamente o usuário novo vinculado unicamente ao grupo de mesmo nome, que lhe será seu grupo primário.

Bom, espero que estas dicas ajudem!! Resolveu seus problemas?? Atrapalhou tudo?? Então, claro, COMENTEM!!

Como Trocar o Nome do Servidor

Trocar o nome do servidor é uma coisa simples, porém pode ser capciosa de se fazer em modo texto. Basicamente, existem dois caminhos, ambos devendo ser realizados pelo superusuário (root):

hostname novonome

Este comando acima troca o nome do servidor (hostname), porém de forma não permanente, ou seja, esta troca será perdida se o servidor for reiniciado. Serve para testes ou para alguma troca temporária, sem afetar as configurações da máquina. Para verificar a troca de nome, basta usar o mesmo comando (hostname), sem argumentos.
Caso seja requerida a troca permanente do nome do servidor, basta editar os seguintes arquivos:

vi /etc/hostname
vi /etc/hosts

O /etc/hostname é um arquivos que deve conter apenas uma linha, com uma palavra, que é o nome do host. Não use espaços ou nomes que não serão reconhecidos numa rede TCP!! Em muitos casos, basta editar este arquivo, reiniciar a máquina, e estará tudo resolvido!!
O /etc/hosts é um arquivo com diversas informações de roteamentos e redirecionamentos de rede. Geralmente encontramos nele tabelas de nomes e IPs e algumas instruções para o IPv6 resolver tranqüilamente. Caso o /etc/hosts contenha, em algum lugar, o nome antigo, este deve também ser substituído pelo nome novo.

Beleza: dica rápida, fácil e segura!! Boa sorte e, claro, COMENTEM!!!

terça-feira, 18 de maio de 2010

Números e Códigos Secretos no Celular (Utilidade Pública)

Pessoal,

Neste artigo, demonstro alguns truques e segredos que o seu celular pode fazer (independente da sua marca e modelo) e como eles podem ser úteis a você.

  • Número Internacional de Emergência

O número de emergência em todo o mundo é 112. Este número pode ser digitado mesmo que o celular esteja bloqueado ou sem saldo.

  • Abrindo o Carro Com o Celular

Fechou o carro e deixou a chave lá dentro?? Está longe de casa e da chave reserva?? A solução está em fazer uma ligação para casa. Peça a alguém que aproxime de telefone o controle remoto do carro e o acione. Mantenha o seu celular próximo à porta do carro. Ao se aciona o comando de casa, o celular poderá passar o som para o ambiente e o carro destravará!!

  • Usando a Reserva da Bateria

Todos os celulares têm uma reserva de carga na sua bateria. Ao digitar *3370#, automaticamente é ativada a reserva, dando até cerca de 50% de energia adicional, permitindo que você use o celular mesmo quando a bateria pareça inoportunamente descarregada. Usar a reserva não estraga o celular. Quando você recarregar o celular, automaticamente recarregará esse suplemento de energia, podendo até vir a ser utilizado outra vez!!

  • Achando o Número de Série (IMEI) de seu Celular

Para encontrá-lo, digite: *#06#. Surgirá em seu mostrador o número de série, normalmente contendo 15 dígitos.

  • Desativando Permanentemente seu Celular Roubado

Primeiro, é preciso saber o número de série do celular (vide dica acima). Agora, basta contactar a sua operadora e solicitar o cancelamento ou anulação do telefone, fornecendo este número de série. Feito isso, seu telefone estará desativado e ninguém mais poderá usá-lo, mesmo que troquem o cartão!!

Bom, espero ter ajudado com este artigo rápido. Qualquer coisa, já sabem: COMENTEM!!!

sábado, 8 de maio de 2010

Convertendo Binário, Octal, Hexadecimal em Inteiro em Java

Essa é outra dica rápida de programação na linguagem Java: como converter uma String representando um número binário, octal ou hexadecimal (e, portanto, que podem conter letras, e não somente números) no inteiro correspondente??

Simples: a classe Integer tem duas sobrecargas do método parseInt: uma recebe somente a String, e supostamente esta String está representando um inteiro em base decimal. A outra recebe a String e a base de cálculo para a conversão. Assim, temos:

Primeira sobrecarga:
int value = Integer.parseInt("16");
System.out.println(value);

Console:
16

Internamente, este método: parseInt(String s) não faz nada além de redirecionar a chamada para a segunda sobrecarga, passando a base 10:

Segunda sobrecarga:
int value = Integer.parseInt("16", 10);
System.out.println(value);

Console:
16

Esta segunda sobrecarga pode receber os valores abaixo como base, usando-os para interpretar a String e fazer a conversão necesária:

2 - Binário
8 - Octal
10 - Decimal
16 - Hexadecimal
27 - base 27 (alguém usa isso??)

Assim, podemos converter binários (usando a base 2), octais (usando a base 8), decimais (usando a base 10) e hexadecimais (usando a base 16), além da não menos esdrúxula base 27.
Exemplos:

Binário:
Integer.parseInt("10", 2); - retorna 2
Integer.parseInt("101", 2); - retorna 5
Integer.parseInt("1100110", 2); - retorna 102

Octal:
Integer.parseInt("10", 8); - retorna 8

Hexadecimal:
Integer.parseInt("f", 16); - retorna 15
Integer.parseInt("a", 16); - retorna 10

Base 27:
Integer.parseInt("Kona", 27); - retorna 411787


  • Outra opção:

Ainda na classe Integer, temos a opção de usar o método valueOf, que tem igualmente duas sobrecargas similares, porém retorna o objeto do tipo Integer de valor correspondente, e não o tipo primitivo. Assim, podemos fazer:

Binário:
Integer i = Integer.valueOf("10", 2);
System.out.println(i.intValue()); - imprime 2

Octal:
Integer i = Integer.valueOf("10", 8);
System.out.println(i.intValue()); - imprime 8

Hexadecimal:
System.out.println(Integer.parseInt("f", 16).intValue());
imprime 15

Uma segunda técnica de conversão numérica e de interconversão entre formatos numéricos pode ser obtida na segunda parte deste artigo, clicando-se aqui!!

Espero que esta dica tenha ajudado!! Qualquer coisa: COMENTEM!!!