Есть настроенная samba, несколько пользователей, у каждого своя директория и свои права на неё. Конфиг имеет вид:
...
[u001]
path = /media/u001
valid users = @u001
guest ok = no
browseable = no
writable = yes
read only = no
create mask = 0777
directory mask = 0777
[u002]
path = /media/u002
valid users = u002
guest ok = no
browseable = no
writable = yes
read only = no
create mask = 0777
directory mask = 0777
[u003]
path = /media/u003
valid users = @u003
guest ok = no
browseable = no
writable = yes
read only = no
create mask = 0777
directory mask = 0777
Т.е. насколько я поняла, нужно сначала найти номер строки с именем пользователя, и после этого удалить строку с найденным номером и 8 строк дополнительно после найденного.
Нашла, что номер строки можно найти:
cat -n /etc/samba/smb.conf|grep u003
69 [u003]
70 path = /media/u003
71 valid users = u003
sed -i -e '69,77d' /etc/samba/smb.conf
Вопрос:
1. Как в выводе отобразить номер строки именно в заданном формате [u003], grep квадратные скобки игнорит;
2. Как полученный номер строки поместить в sed;
3. Или это делается как-то сильно проще, а я горожу огород?