Сценарий удара Соляриса / ищет и добавляет поле к концу строки в/etc/group

Мне нужен сценарий удара, который изменит/etc/group, чтобы добавить и удалить пользователей NIS определенным локальным группам на Солярисе 10u8 система. Предпочтительная одна или две функции с uid и groupname как varibles.

inputfile прежде, чем добавить пользователя myuser к groupbbb в файле/etc/group

...
groupaaa::98000:
groupbbb::98001:hisuser   
groupccc::98003:
...

outputfile

...
groupaaa::98000:
groupbbb::98001:hisuser,myuser
groupccc::98003:

... Функция должна проверить, является ли пользователь aleady частью локальной группы и выхода

Если я использую sed или nawk или что-то еще. У любого есть хорошая острота :-)

В Linux существует gpasswd, но я не нашел соответствующую команду в Солярисе. Пользователь не локален в системе, но пользователи NIS, таким образом, usermod не будет работать, я думаю!

Greatful для любых указателей!

/Smedis

0
задан 23.06.2010, 13:16

1 ответ

Вызовите эту функцию:

gradd () { local group=$1 user=$2; sed "/^${group}:/{/\<${user}\>/! s/$/,${user}/}' /etc/group; }

как это:

gradd groupbbb myuser > /tmp/newgroups && mv /tmp/newgroups /etc/group

Перенаправление файла и переименование могли быть перемещены в функции:

gradd () { local group=$1 user=$2; sed "/^${group}:/{/\<${user}\>/! s/$/,${user}/}' /etc/group  > /tmp/newgroups && mv /tmp/newgroups /etc/group; }

затем вызов был бы:

gradd groupbbb myuser
0
ответ дан 27.11.2019, 19:34

Теги

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