Como obter o nome do usuário unix atual?

9 respostas
mizumoto

Bom dia,

Em um programa que estou fazendo aqui, preciso inserir em um dos campos do bd, o nome do usuário unix logado no momento.
Como eu posso obter essa informação?

Obrigado!

9 Respostas

W

talvez whois

tem tb o who, tenta os dois e veja qual funciona pra vc.

oddy.silva

Tem um comando legal, não sei pra todas as distribuições, mas tenta tbm:

whoisgod

Sim, o comando pergunta: “Quem é Deus?” e devolve quem é o usuário atual

Você também pode tentar:

whoami

que devolve quem é vc.

mizumoto

who e whois são comandos de prompt do unix.
na verdade o que eu gostaria de saber é se existe alguma maneira de se obter essa informação usando apenas recursos do java.
caso contrário eu vou tentar algo como:

Runtime.getRuntime().exec(“whoami > /tmp/info.tmp”);

mas isso é feio pra caramba né?

Abração!

W

Tem um implementacao de whois em java aqui:

http://www.javafaq.nu/java-example-code-591.html

Mas o codigo da ate medo heheh (tb nao sei se funciona, apenas pesquisei no google)

W

da uma olhada nisso tb.

davidbuzatto

As vezes nem precisa complicar tanto.

Isso resolve?

System.getProperty( "user.name" );

A app é desktop? Ela é iniciada pelo usuário? Se sim, o getProperty vai resolver. Se fosse uma Web ai o user.name seria do usuário que está rodando o container ou o servidor de app.

[]´s

gomesrod

Olá,
Existe uma variável de ambiente que guarda o usuário logado. Para recuperá-la, utilize System.getenv()

System.getenv("USERNAME")

Esse exemplo funciona no Windows, não tenho uma máquina Unix para testar se o nome da variável é o mesmo (mas existe!)

EDIT:
Postei ao mesmo tempo que o davidbuzatto.
A solução dele é melhor, porque fica independente de plataforma.

mizumoto

A solução do davidbuzatto foi a que melhor se adaptou a minha necessidade.
Obrigado a todos pelas demais soluções!

davidbuzatto

mizumoto:
A solução do davidbuzatto foi a que melhor se adaptou a minha necessidade.
Obrigado a todos pelas demais soluções!

Disponha :wink:

[]´s

Criado 18 de junho de 2010
Ultima resposta 18 de jun. de 2010
Respostas 9
Participantes 5