df -h в Unix по сравнению с Linux

Нет!

Основная проблема в том, что .profile читается только после успешного входа в систему! В этот момент уже запущена полная оболочка, а большинство оболочек создано для обслуживания пользователя, а не для того, чтобы помешать ему делать то, что ему нравится.

Давайте посмотрим, например:

# echo -en "echo byebye; exit"  > ~foo/.profile
# ssh foo@localhost
foo@localhost's password: 
[...]
byebye
Connection to localhost closed.

Но я все еще могу сказать оболочке сделать что-то совершенно другое. (Например, запустить другую оболочку.)

# ssh foo@localhost -t "/bin/sh"
foo@localhost's password: 
$ id
uid=1001(foo) gid=1001(foo) groups=1001(foo)

Вы могли бы изменить оболочку пользователя на что-то более ограниченное, программу, предназначенную только для запроса OTP и последующего запуска оболочки. Но это затруднит выполнение любых действий, требующих запуска другой оболочки. Кроме того, все, что делается в домене пользователя, может быть изменено им обратно, а это не то, чего обычно хотят при аутентификации.

Пожалуйста, делайте аутентификацию там, где ей и место, а это PAM в большинстве Linux.

3
13.01.2017, 10:42
3 ответа

Аргумент df -h является расширением.

Из POSIX: http://pubs.opengroup.org/onlinepubs/007904975/utilities/df.html реализация UNIX не требуется для реализации -h . Фактически этого варианта нет в списке.

На самом деле также LSB не определяет -h , поэтому дистрибутиву «не нужно» его реализовывать: https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB -Core-generic / LSB-Core-generic / df.html

0
27.01.2020, 21:30

Просто используйте df -k (размер отображения в килобайтах), который должен иметь одинаковый вывод на обеих платформах.

0
27.01.2020, 21:30

В разных вариантах Unix используются разные утилиты. Есть кое-что общее (например, все они имеют утилиту df ), но некоторые детали различаются (например, точный формат вывода и доступность определенных параметров, таких как -h ). Linux поставляется с GNU coreutils , который имеет более удобные для пользователя параметры, чем те же самые утилиты в большинстве других вариантов, например, параметр -h .

Вы можете установить GNU coreutils во многих других вариантах Unix, но я не знаю о NCR, это не совсем современно или широко распространено.

Если NCR не слишком древний, вы можете по крайней мере использовать все параметры, стандартизированные POSIX , который для df включает -k для отображения в кБ, а не 512Б, и -P для отображения тех же столбцов, что и в GNU / Linux df .

Чтобы узнать, какие параметры поддерживает ваша версия df , используйте man df .

Для команд администрирования полезен Rosetta Stone для Unix . Я не знаю аналогичного документа для пользовательских команд, но спецификация POSIX / Single Unix дает представление.

1
27.01.2020, 21:30

Теги

Похожие вопросы