Я предполагаю, что у Вас есть пользователи, что каждый раз они запускают приложение, это приложение отслеживает то, кто запустил его путем записи некоторой информации в файле, расположенном в доле самбы, доступной всеми рабочими станциями. Так как Вы обращаетесь к "Журналу Доступа", я также предполагаю, что только необходимо добавить в файл и не изменить его содержание.
Если файл находится в ext2/3/4 файловой системе на стороне сервера, то удостоверьтесь, что у пользователей самбы нет полномочий записи к ее каталогу. Это избежит случайного или интенсионального удаления. Затем включите атрибут только добавления с chattr +a <filename>
, таким образом, информация может только быть добавлена и не удалять/изменять/усеченная. Файл может все еще иметь полномочия записи всем, таким образом, приложение может добавить к нему даже с полномочиями пользователей.
Примечание: chattr
мог бы работать на другие файловые системы также, например, xfs. У меня нет точного списка.
Существует две разных вещи, продолжающиеся здесь, оба зарегистрированные в bash
руководство
Одинарная кавычка знака доллара является специальной формой заключения в кавычки:
Слова $ формы 'строка' рассматривают особенно. Слово расширяется до строки с оставленными из обратной косой черты символами, замененными, как указано ANSI C стандарт.
Двойная кавычка знака доллара для локализации:
Дважды заключенная в кавычки строка, которой предшествует знак доллара (‘ $ ’), заставит строку быть переведенной согласно текущей локали. Если текущая локаль является C или POSIX, знак доллара проигнорирован. Если строка переводится и заменяется, замена дважды заключается в кавычки.
Когда строка расширена в $''
, escape-последовательности интерпретируются. Из страницы справочника:
Words of the form $'string' are treated specially. The word expands to
string, with backslash-escaped characters replaced as specified by the
ANSI C standard.
Легким примером является \n escape-последовательность для новой строки:
$ echo 'foo\n'
foo\n
$ echo $'foo\n'
foo
$
Примечание: Можно получить различные результаты в других оболочках как echo
может интерпретировать escape-последовательности, не предоставляя возможности.
Вы неправильно истолковываете руководство. Вы будете только видеть эффект, когда $ - заключенная в кавычки строка будет внутри a ${parameter}
расширение.
$ echo "${v:-'ab\ncd'}"
'ab\ncd'
$ echo "${v:-$'ab\ncd'}"
ab
cd
Источник и дополнительные материалы для чтения: https://lists.gnu.org/archive/html/bug-bash/2005-10/msg00017.html
$"…"
что-то другое. каталоги
– Gilles 'SO- stop being evil'
14.09.2012, 02:55
${}
расширение для использования заключения в кавычки ANSI. Проверьте на себя: echo $'ab\ncd'
– rozcietrzewiacz
14.09.2012, 10:04
extquote
неправильно вместо того, что спрашивал вопрос.
– jw013
14.09.2012, 17:48