Как стать автором
Обновить

Комментарии 39

НЛО прилетело и опубликовало эту надпись здесь
По-Челябински =)
Сурово то есть? :)
я бы сказал, UNIX-style :)
и это прекрасно!
НЛО прилетело и опубликовало эту надпись здесь
угу, прямо как
 sudo restart-web-server-script
Спасибо, только сегодня возникла такая задача!
Закинул в избранное, спс.
НЛО прилетело и опубликовало эту надпись здесь
И кто там говорил, что linux сложнее? :)
Сейчас вызову гнев толпы, но всё же скажу, что в linux это делается одной интуитивно понятной строчкой в /etc/sudoers. Что-то вроде
wiselord ALL=/etc/init.d/apache2 restart
некоторые задачи в линукс делать легче/проще )
но, я был удивлен, что именно эта задачка оказалась настолько простой :)

Э… Мне одному кажется что все выше написанные комментарии (кроме пары) чертовски похожи на «камменты» ботов-спаммеров WordPress? o_O
а вы думали откуда спаммеры берут такие камменты?)
Капец… Это ж как brainfuck!
Как же мне в винде не хватает «sudo» =/
а как же runas /user:domain\admin «cmd»?
тогда уж так:
echo runas /user:domain\admin %1 > %WINDIR%\sudo.bat

и можно будет юзать sudo <команда> :)
Меняется окружение. Если я поставлю программу от админа, то все ярлыки будут созданы для него и т.п.
НЛО прилетело и опубликовало эту надпись здесь
Хм. а в вендосервере2008 есть галочка такая, позволяющая указать владельца сервиса в гуях.
Только вот толку от нее почему-то никакой. Это то же самое что и в вашем способе, или там какие-то другие механизмы?
Уважаемые сэры, но это же мозгоебстволомство!
Неинтуитивно до крайности само по себе. Да ещё и процесс черезж… кхм… некомфортного извлечения SID. Windows же славится своим «простым и понятным конфигурированием», обучение которому стоит во много-много раз дешевле обучения суровых линукс-админов. Ну и где? Функционал-то, в общем, нужный не раз и не два в жизни.
svcadmin
Жуть какая, простите.
оффтоп конечно, но виндовая консоль это нечто.

Помнится на одной конфе, рассказызавли взахлеб о том какая класная стала консоль у win
в качестве примера спичер рассказал как это намного проще чем в никс убить процессы которые кушают больше, чем X метров памяти.
Лаконичная такая строчка, но спичер отказался запускать команду на своей презенташке, так как во время подготовки к докладу, это исследование убило половину сервисов и собственно сам доклад в ppt.
Мне так понравилась сама постановка задачи — убить все процессы больше 10Mb.
Win сказал — яволь майн фюрер (причем не выкинув никаких конфирмейшенов), и грохнул все, включая жизнено важное для работы системы.
PS:
$user = "username"
$rights = "RPWPDT"
$service = "servicename"

$sid = (new-object security.principal.NtAccount($user)).translate([security.principal.securityidentifier]).Value
$current = (& $env:systemroot\system32\sc sdshow $service)[1]
$current = $current.Replace("D:(", "D:(A;;$rights;;;$sid)(")
& $env:systemroot\system32\sc sdset $service $current
СПАСИБО!
настоящий хабрапользователь должен раздавать инвайты на запуск/остановку сервисов! :D
Если кто не в курсе, более удобный способ управления (создание, удаление, назначение прав _человеческим_ способом, изменение типа запуска и зависимостей) для служб
www.rsdn.ru/article/baseserv/svcadmin-1.xml
www.rsdn.ru/article/baseserv/svcadmin-2.xml

прямая ссылка www.rsdn.ru/article/baseserv/svcadmin-1/svcadmin.zip там svcadmin,
но почитать таки советую. Must have.
Спасибо, как раз недавно была бы полезна такая шпаргалка.
Чтобы комментарий остался небесполезным напоминаю альтернативный способ получить SID:
утилита входящая в состав pstools — psgetsid.exe от sysinternals
весит немного, знаний vb(простите, не сложилось у нас) не требуется.
А чем плоха настройка через политики?

хм… я не нашел… хотя, видимо не особо старался…

не подскажите где это? :)
Computer Configuration > Windows Settings > Security Settings > System Services
Ещё где-то попадался скриншот с вкладкой Безопасность, прямо в управлении сервисами, но с какой он системы и как это включить — я не нашел.
повторюсь — svcsdmin :) Как раз с вкладкой безопасность, и все сделано по-уму.
А вот интересно, можно ли предоставить обычному пользователю домена право создавать шары, не вводя его при этом в группу локально-мощных пользователей?
sc sdset D:(A;;RPWPDT;;;S-1-5-21-3992622163-2725220152-438995547-4172)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCR
RC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)


консоль из преисподней О_о
Те, кто не желает взрывать мозг такими строчками, используют subinacl.
А люди, которые по религиозным или каким-либо другим причинам не любят vbscript и WMI, пользуются psgetsid.
Очень вовремя наткнулся на статью, я не то чтобы искал, но как собирался искать такое решение. А тут на тебе, и как сделать ручками, и ссылочка на svcadmin. Бывает же иногда везуха :)

Большое спасибо автору и коментаторам :)
Это работает только при залогиненном в систему пользователе
Через Scheduled tasks перезапуск реализовать не получается, прав не хватает
Последняя команда должна быть:
sc sdshow service_name "D:(A;;RPWPDT;;;S-1-5-21-3992622163-2725220152-438995547-4172)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCR
RC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
Небольшое дополнение к списку прав:

DC — Delete All Child Objects
SD — Delete
WD — Modify permissions
WO — Modify owner
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории