Supongamos que desea archivos en /opt/lo que sea para obtener contexto _t, los comandos serían:
# semanage fcontext -a -t whatever_t "/opt/whatever(/.*)?"
# restorecon -R -v /opt/whatever
Esto debería hacer lo que esperas. Ver man semanage -fcontext
Это мое предположение о том, что вы хотите сделать.
#!/bin/bash
list="$(who |grep "10\.1\.109" | grep -v berianho | cut -f1 -d " ")"
unique="$(echo ${list} | tr ' ' '\n' | sort | uniq)"
for student in $unique
do
echo "Student $(grep -a ^${student}: /etc/passwd | cut -f5 -d ":" ) has number of $(echo "$list" | tr ' ' '\n' | grep ${student} | wc -l) logins."
done
Пример вывода будет предполагать, что AAA (с именем AAA AAA по паролю )имеет 3, BBB (с именем BBB BBB по паролю )имеет и CC (с именем CCC CCC по паролю )имеет 1 запись на who
. вывод должен быть:
Student AAA AAA has number of 3 logins.
Student BBB BBB has number of 2 logins.
Student CCC CCC has number of 1 logins.
Простой perl-скрипт...
#!/usr/bin/perl
my %hash;
open FH, 'who |' or die;
while ( <FH> ) {
$hash{$1}++ if /^(\S+).*(10\.\d+\.\d+\.\d+)/;
}
close FH;
while ( ($k,$v) = each %hash ) {
printf "%3d %s\n", $v, $k;
}
exit;