AIX: как использовать egrep для поиска шаблона обработки?

Разрешения каталога пользователя?

Решение:

Предположим, что у вас есть этот каталог:

/дом/офис/файлы

Конечно, вы бы хотели, чтобы к нему имел доступ только персонал.

На вашем *nix-боксе вы создали персонал как группу и назначили персонал в персонал группу.

Чтобы узнать, к какой группе принадлежит пользователь, вам не нужно раскрывать файл /etc/passwd, просто введите эту команду:

root@Hosts:~# id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data),2001(ftpgroup)

id username, предоставляет информацию о рассматриваемом пользователе. или finger usernameпредоставляет дополнительную информацию о пользователе, такую ​​как имя пользователя, каталог и т. д.

Однако следующие команды гарантируют, что любой пользователь, не входящий в группу staff , не будет иметь доступа к /home/office/files

chown -R myuser:staff /home/office
chmod 750 /home/office

Замените myuser на имя пользователя, чтобы иметь доступ, и staff на имя группы, чтобы иметь доступ к папке.

НЙОЙ

1
23.12.2019, 12:58
2 ответа

Обновлено :, протестировано на сервере AIX 7, и обновлены команды в соответствии с требованиями AIX.

Из руководства для grep:

grep, egrep, fgrep - print lines matching a pattern

Таким образом, инструмент предназначен для поиска и печати строк, соответствующих некоторым шаблонам. Но ваша задача не найти и напечатать какие-то строки, а настроить вывод.

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

ifconfig -a |grep -Ev '^[[:space:]]*inet'|sed -e :a -e '$!N;s/:.*\n/: /g;s/[[:space:]][[:space:]]*/ /g'

Выход:

en0: tcp_sendspace 16384 tcp_recvspace 16384 rfc1323 0
en1: tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1
en2: tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1
lo0: tcp_sendspace 131072 tcp_recvspace 131072 rfc1323 1

Также вы можете использовать awk вместо (, как это предлагается в комментариях ), или другой инструмент или комбинации инструментов.

0
27.01.2020, 23:55

Сawk:

ifconfig -a | awk '
  /^[^[:space:]]/ {iface = $1; next}
  $1 == "tcp_sendspace" {$1 = $1; print iface, $0}'
0
27.01.2020, 23:55

Теги

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