<Предыдущая | Содержание: | Следующая>
Подведение итогов
Мы начали эту главу с вопроса. Как мы могли сделать наши sys_info_page сценарий определяет, есть ли у пользователя разрешение на чтение всех домашних каталогов? С нашими знаниями if, мы можем решить проблему, добавив этот код в report_home_space функция:
отчет_домашнее_пространство () {
если [[$ (id -u) -eq 0]]; затем cat << - _EOF_
Использование домашнего пространства (все пользователи)
$ (du -sh / home / *)
_EOF_
еще
кошка << - _EOF_
Использование домашнего пространства ($ USER)
$ (du -sh $ HOME)
_EOF_
fi возвращение
}
отчет_домашнее_пространство () {
если [[$ (id -u) -eq 0]]; затем cat << - _EOF_
Использование домашнего пространства (все пользователи)
$ (du -sh / home / *)
_EOF_
еще
кошка << - _EOF_
Использование домашнего пространства ($ USER)
$ (du -sh $ HOME)
_EOF_
fi возвращение
}
Мы оцениваем результативность id команда. С -u вариант, id выводит числовой идентификатор действующего пользователя. Суперпользователь всегда равен нулю, а число всех остальных пользователей больше нуля. Зная это, мы можем создать два разных документа, один из которых использует привилегии суперпользователя, а другой ограничен собственным домашним каталогом пользователя.
Мы собираемся отдохнуть от sys_info_page программа, но не волнуйтесь. Он вернется. А пока мы рассмотрим некоторые темы, которые нам понадобятся, когда мы продолжим нашу работу.