Предположим, что у вас есть этот каталог:
/дом/офис/файлы
Конечно, вы бы хотели, чтобы к нему имел доступ только персонал.
На вашем *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 на имя группы, чтобы иметь доступ к папке.
Обновлено :, протестировано на сервере 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 вместо (, как это предлагается в комментариях ), или другой инструмент или комбинации инструментов.
Сawk
:
ifconfig -a | awk '
/^[^[:space:]]/ {iface = $1; next}
$1 == "tcp_sendspace" {$1 = $1; print iface, $0}'