Разрешения при использовании Samba Linux-to-Linux

Просто:

grep -x '[[:alnum:]|]*'

То есть любая последовательность из 0 или более выпусков или |. Здесь вам не нужны расширенные(-E)регулярные выражения. Этот синтаксис действителен как в базовых, так и в расширенных регулярных выражениях (, а также в PCRE и большинстве других регулярных выражений, единственное, что может не поддерживаться в некоторых, это [:alnum:]класс символов POSIX ).

Единственное, что отсутствовало у вас, — это опция -x, чтобы заставить регулярное выражение сопоставляться со всей строкой, а не сопоставляться внутри строки. Вложение регулярных выражений было излишним. Вам это понадобится, если вы хотите, чтобы |поля с разделителями были не -пустыми:

grep -xE '[[:alnum:]]+(\|[[:alnum:]]+)*'

Это также можно сделать с помощью базовых RE, хотя и менее разборчиво:

grep -x '[[:alnum:]]\{1,\}\(|[[:alnum:]]\{1,\}\)*'
0
22.01.2020, 19:28
1 ответ

Убедитесь, что расширения Samba для Unix включены. Например,:

[global]
unix extensions = yes
⋮

в противном случае протокол поддерживает только разрешения Windows (ACL ), а не разрешения Unix. (Я думал, что да по умолчанию, но, возможно, дистрибутив изменил это ).

Точно так же монтировка также должна их включить, там есть опция unix. Кроме того, вы можете установить guest ok = no, чтобы убедиться, что вы действительно аутентифицируетесь, а не случайно получаете гостя.

0
28.01.2020, 02:54

Теги

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