Установите системный атрибут для файлов, экспортируемых с помощью Samba

Попробуйте это,

rev file \
| sort -u \
| tr '.' ',' \
| awk '$0!~dom_regex{print;dom_regex="^"$0"[.]";};NR==1{dom_regex="^"$0"[.]";print};' \
| tr ',' '.' \
| rev

Выход:

4.3.2.1.domain.org
domain.com
anotherdomain.com
domain.net

Пояснение:

  1. sortперевернутый файл и удалить повторяющиеся строки. Этот шаг сгруппирует домены/поддомены «одного типа» вместе с самым коротким впереди.
  2. часть awkбудет выглядеть, если следующая часть того же типа (сохранена как регулярное выражение в переменнойdom_regex). Если нет, он напечатает строку и установит новый dom_regex. В противном случае строка пропускается.
  3. Перевернуть файл еще раз.
1
03.11.2021, 20:29
1 ответ

Системный атрибут относится к -Windows. Аналогов Linux нет.

В Samba есть способ сопоставления атрибутов Windows с разрешениями, существующими в Linux . Однако это может быть разрушительным, поскольку разрешения Linux имеют другое значение. Таким образом, системный и скрытый атрибуты по умолчанию не отображаются.

Чтобы сделать доступными системные и скрытые атрибуты, отредактируйте конфигурацию Samba(/etc/samba/smb.confили аналогичную, точный путь зависит от вашего дистрибутива ). Включите опции map systemи map hiddenв секции [data]:

.

[data]
    …
    map system = yes
    map hidden = yes

Затем системный атрибут сопоставляется с битом(g+x)разрешения на выполнение группы -, а скрытый атрибут сопоставляется с другим битом -разрешения на выполнение(o+x). Таким образом, эквивалентом attrib +s some.fileв Windows является

chmod g+x some.file

на сервере Linux.

Помните, что это означает, что если вы сделаете исполняемый файл в Linux (chmod a+x some.file), это сделает его скрытым и системным в Windows. Поэтому убедитесь, что обычно вы не делаете файлы исполняемыми в Linux.

3
03.11.2021, 22:11

Теги

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