Мне нужен сценарий удара, который изменит/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
Вызовите эту функцию:
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