Estou tentando criar meu próprio finger
comando em C no Linux Mint. Estudando o comando real finger
entendi que o asterisco que os comandos colocam ao usar o formato de saída curto deixa o tty é quando um dos usuários tem a permissão de gravação desabilitada, a permissão usada para enviar e receber mensagens entre tty's eu presumo, que pode ser habilitado com o mesg y
comando.
O ponto da minha pergunta é: onde finger
obtém as informações sobre as permissões de gravação do tty? Tentei pesquisar o arquivo utmp, mas não consigo encontrar algo relevante :(
Além disso, se eu desabilitar a permissão de gravação no tty conectado à GUI, por que o finger
comando coloca o asterisco na entrada pts/0, em vez de perto do meu tty?
como
matteo tty7 2:40 Apr 29 16:10 (:0)
matteo *pts/0 Apr 29 17:20
obrigado antecipadamente e desculpe se escrevi algo errado, é a primeira vez que me aprofundo tanto no Linux :)
As permissões de gravação são determinadas observando as permissões no próprio arquivo do dispositivo terminal; no seu caso:
Terminais graváveis aparecerão como
crw--w--w-
, terminais não graváveis comocrw-------
.Quanto ao uso
pts/0
de em vez detty7
, seu emulador de terminal não usa o VT associado ao seu ambiente de desktop (tty7
), ele usa seu próprio tty. Portanto,mesg n
executar no emulador de terminal afeta apenas o tty do terminal, não o VT. Se você executartty
dentro do emulador de terminal, verá que ele usa/dev/pts/0
.