Добавить группу «администраторы домена» в пользователей sudo [дубликат]

Хорошо, немного поздно добавляю свой вклад, но я думаю, что оно того стоит.

Требование, которое необходимо выполнить согласно ОП, — это первый столбец, имеющий только десятичное значение .000 или .500. Нет никаких условий относительно начального значения ни по диапазону, ни по длине. Для надежности не следует предполагать, что он ограничен чем-либо, кроме того, что перед первым столбцом нет непустых символов (или это уже не первый столбец) и что содержимое первого столбца будет иметь десятичную точку . , где-то в нем.

ОП хочет использовать grep, который будет печатать всю строку при обнаружении совпадения, поэтому единственное, что нужно сделать, это создать шаблон, который соответствует всем и только то, что требуется.

Сама простота и отсутствие причин использовать sed или awk, поскольку `grep может обрабатывать источник как файл или канал.

Для grep файла используйте grep '^[^.]*\.[05]0\{2\}\s' the_file.txt

Для grep из канала, используйте my_command | grep '^[^.]*\.[05]0\{2\}\s'

Шаблон: ^, start in the first of the line; [^.], соответствует любому недесятичному символу; *, столько раз, сколько возможно (включая ни одного); \. , соответствует десятичной точке; [05] , соответствует пятерке или нулю; 0\{2\}, сопоставьте еще 2 нуля (обратная косая черта перед открывающей и закрывающей фигурной скобкой не позволяет оболочке выполнить раскрытие скобки); \s, соответствует символу пробела (означающему конец столбца — для использования в другом варианте использования замените разделителем столбцов, обычно это команда, точка с запятой или табуляция \t).

Обратите внимание, что это будет соответствовать точно тому, что задал ОП. Он будет не соответствовать .5000 или .0000, даже если он численно эквивалентен, потому что шаблон ищет пятерку или ноль, за которыми следует ровно 2 больше нулей, за которыми следует пробел.Если это важно, то все остальные ответы до сих пор терпят неудачу, поскольку они будут соответствовать любому количеству нулей, больше 1, после контрольной цифры. И кроме ответа FloHimself, они будут соответствовать всем во втором столбце, который начинается с .000 или .500, включая . 0003 и .500T, а значение FloHimself будет соответствовать всему, что математически эквивалентно .0 и .5, независимо от того, сколько нулей Есть. Последний, хотя и не соответствует заявленному ОП, в любом случае, скорее всего, будет соответствовать тому, что нужно ОП.

Наконец, если желательна мощность и скорость awk, даже несмотря на то, что OP запросил grep, тогда команда будет следующей:

С файлом awk '$1 ~ /[^.]\.[05]0{2}$/' the_file.txt

С каналом my_command | awk '$1 ~ /[^.]\.[05]0{2}$/'

1
21.01.2019, 10:05
1 ответ

Я много над этим работал, И после стольких попыток и поисков у меня все заработало

Введите приведенную ниже команду и нажмите Enter, чтобы безопасно открыть файл /etc/sudoers для редактирования:

$ sudo visudo

На новой строке вставьте текст ниже:

%domain\ admins ALL=(ALL) ALL

Так как у меня было ДОМЕННОЕ имя в виде двух слов, я должен использовать:domain\ admins

domain admins

Это было точное название группы, которое у меня было.

и %, чтобы указать группу. и без %я бы подумал, что это имя пользователя.

НЕ НУЖНО УКАЗЫВАТЬ ДОМЕН Это я пробовал раньше. то есть:

%DOM.DOMAINNAME.COM\\domain\ admins ALL=(ALL) ALL
1
28.01.2020, 00:21

Теги

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