pam_umask.so не работает

Следующее записывает первую строку ввода в файл fooи выводит оставшуюся часть:

read line ; echo "$line" >> foo ; while read line ; do echo "$line" ; done 

Проверка, например. вот так:

seq 0 9 | ( read line ; echo "$line" > foo ; while read line ; do echo "$line" ; done ) 
cat foo

Теперь вместо выполнения grepнепосредственно в xargsвыполните канал, который помещает выходные данные grepчерез приведенный выше фрагмент. Это решает проблему xargsконкатенации всего вывода.

Все это достаточно длинное, поэтому я бы подумал о том, чтобы поместить фрагмент в сценарий оболочки, особенно. если вы хотите контролировать имя файла.

Редактировать

Предполагается, что вы хотите записать пропущенную запись в файл, а остальные — в стандартный вывод, но, возможно, я вас неправильно понял.

1
31.01.2020, 07:43
1 ответ

I have to mention, that the umask is also set in /etc/profile for all accounts to 022.

Каждая оболочка, использующая /etc/profile, переопределяет маску umask, установленную pam_umask.so. Таким образом, вы должны установить umask в /etc/profile также на 0077, если вы хотите общесистемную umask.

3
28.04.2021, 23:24

Теги

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