<Anterior | Conteúdo | Próxima>
Resumindo
Começamos este capítulo com uma pergunta. Como poderíamos fazer nosso sys_info_page O script detectou se o usuário tinha permissão para ler todos os diretórios pessoais? Com nosso conhecimento de if, podemos resolver o problema adicionando este código ao report_home_space função:
report_home_space () {
if [[$ (id -u) -eq 0]]; então gato << - _EOF_
Utilização do espaço doméstico (todos os usuários)
$ (du -sh / home / *)
_EOF_
outro
gato << - _EOF_
Utilização do espaço doméstico ($ USER)
$ (du -sh $ HOME)
_EOF_
fi voltar
}
report_home_space () {
if [[$ (id -u) -eq 0]]; então gato << - _EOF_
Utilização do espaço doméstico (todos os usuários)
$ (du -sh / home / *)
_EOF_
outro
gato << - _EOF_
Utilização do espaço doméstico ($ USER)
$ (du -sh $ HOME)
_EOF_
fi voltar
}
Avaliamos a saída do id comando. Com o -u opção, id emite o número de ID de usuário numérico do usuário efetivo. O superusuário é sempre zero e todos os outros usuários são um número maior que zero. Sabendo disso, podemos construir aqui dois documentos diferentes, um aproveitando os privilégios de superusuário e o outro, restrito ao diretório inicial do próprio usuário.
Vamos fazer uma pausa no sys_info_page programa, mas não se preocupe. Ele estará de volta. Nesse ínterim, abordaremos alguns tópicos de que precisaremos quando retomarmos nosso trabalho.