opensuse 13.1
пользователи могут входить по ssh, хочу запретить им делать su
но разрешить только одному пользователя становиться рутом
почитал инеты - рекомендуют в sudoers сделать так:
--------------------
#Defaults targetpw # ask for the password of the target user i.e. root
#ALL<--->ALL=(ALL) ALL # WARNING! Only use this together with 'Defaults targetpw'!
%wheel ALL=(ALL) ALL
и passwd -l root
-----------------
ок сделал, нужного пользователя в wheel добавил, теперь su запрещен, sudo работает для пользователя группы wheel
но теперь не запускается wireshark из меню, его строка запуска = "/usr/bin/xdg-su -c /usr/bin/wireshark %f"
как правильно сделать ?
как запретить su ?
его строка запуска = "/usr/bin/xdg-su -c /usr/bin/wireshark %f"
как правильно сделать ?
Измените строку запуска на что-нибудь вроде:
/usr/bin/xdg-sudo /usr/bin/wireshark %f
если есть /usr/bin/xdg-sudo, ну либо должны быть утилиты /usr/bin/gksudo или /usr/bin/kdesudo.
1. команда запуска wireshark находится в меню - менять команду запуска там - не хороший совет (да, забыл уточнить - использую kde4)
2. xdg-sudo - нет такой команды
3. kdesudo /usr/bin/wireshark - запрашивает пароль рута, который запрещен
kdesudo /usr/bin/wireshark
kdesudo запрашивает пароль не root, а того пользователя, от которого вызвана команда sudo.
команда запуска wireshark находится в меню - менять команду запуска там - не хороший совет (да, забыл уточнить - использую kde4)
В таком случае разрешайте su.
xdg-sudo - нет такой команды
Вы остальной текст прочитали?
да, kdesudo попутал с kdesu
дополнительно установил kdesudo, теперь пишет "(wireshark:16311): Gtk-WARNING **: cannot open display:"
"разрешать su" - значит решения нет в рамках opensuse ?
дополнительно установил kdesudo, теперь пишет "(wireshark:16311): Gtk-WARNING **: cannot open display:"
Добавьте в /etc/sudoers:
Defaults env_keep=DISPLAY
"разрешать su" - значит решения нет в рамках opensuse ?
Ещё раз, в файле *.desktop, поставляемом в пакете wireshark, который собственно и создаёт пункт меню, в строек запуска программы указан вызов xdg-su, вы от su хотите отказаться, как следствие вам нужно либо внести изменения в этот desktop файл, изменив в нём команду запуска на использование sudo, либо создать ещё один *.desktop файл для запуска wireshark посредством sudo.
1. про *.desktop мысль понял
2. добавил Defaults env_keep=DISPLAY, теперь после ввода пароля пишет так:
No protocol specified
(wireshark:17442): Gtk-WARNING **: cannot open display: :0
пользователи могут входить по ssh, хочу запретить им делать su
рекомендуют в sudoers сделать так:
так su или sudo?
как правильно сделать ?
ну не так, как это сделали вы. Правильно убрать эти все записи из sudoers, а также поставить нормальный пароль для root'а. Тогда su сможет делать только тот, кто знает пароль, А вот sudo никто не сможет.
запускать Xorg приложения от рута === РЕШЕТО. Особенно удалённо.Gtk-WARNING **: cannot open display: :0
так su или sudo?
думаю теперь так: надо запретить su полностью и разрешить sudo только группе wheel
вариант со сложным паролем для root не предлагать - пусть только пользователь из группы wheel смог бы получить рута
запускать Xorg приложения от рута === РЕШЕТО. Особенно удалённо.
запускаю wirehark, рут тут вполне оправдан
(еще яст от рута из меню, тут как поправить desktop файл уяснил)
а в чем решето запуска по ssh X приложения от рута ? (мне для ликбеза)
но наверно придется отказаться от этой затеи - в сусе часто требуется ввести пароль рута (например ставлю пакет через "1 Click Install" - из браузера вызывается kdesu)
можно конечно везде править вызов kdesu на kdesudo, но это еще хуже чем запомнить сложный пароль для рута
разрешите ТОЛЬКО wirehark.запускаю wirehark, рут тут вполне оправдан
рекомендую man 5 sudoers до полного просветления. А только группы мало.
Xorg само по себе РЕШЕТО, ещё и от рута, да ещё и удалённо.а в чем решето запуска по ssh X приложения от рута ? (мне для ликбеза)
К тому же, просто тупо неудобно юзать удалённо окошки. Намного удобнее юзать CLI, особенно в screen'е. Окошки лучше юзать лишь локально, и для "окошечных" задач. Ну кинцо посмотреть, в браузере пофтыкать сайты, и т.д. Я не очень понимаю, на кой ляд удалённо например кино смотреть. Нет, я знаю, это возможно, но зачем?
А уж административные задачи выполнять в CLI сам Патрег велел. *OK*
почему нельзя прямо в консоли поставить пакет? Зачем тут браузер? *NO*но наверно придется отказаться от этой затеи - в сусе часто требуется ввести пароль рута (например ставлю пакет через "1 Click Install" - из браузера вызывается kdesu)
1. удаленно удобно qtcreator использовать (т.к. на машине откуда доступ был не стояли devel пакеты) и вполне себе работало хорошо
т.е. именно задачи от рута X и _удаленно_ вобщемто нету, можно забыть
2. из браузера удобно ставить rpm с сайта http://software.opensuse.org/search - он еще и реп добавит (качать на диск, в консоле лезть к нему, команду вводить, удалять - не удобно считаю)
итого - я хотел дать доступ на машину по ssh пользователям, но чтобы не делали root и не меняя ничего в системе много
методами kdesudo получается не работает без переделок
остановился итого на пароле для root более сложном чем был )
на машине разработчика не стояли dev пакеты? Оригинально.. удаленно удобно qtcreator использовать (т.к. на машине откуда доступ был не стояли devel пакеты)
Но это всё не нужно запускать от root'а. А если вы таки запускаете, то вы ССЗБ. Если запускаете локально, это ещё не так страшно, страшно, когда любой идиот удалённо что угодно запускает, а вы об этом даже не знаете.
из браузера удобно ставить rpm с сайта http://software.opensuse.org/search - он еще и реп добавит (качать на диск, в консоле лезть к нему, команду вводить, удалять - не удобно считаю)
Вам на Windows надо, там ещё проще. В один клик. Ткнул — и всё поставилось и добавилось.
итого - я хотел дать доступ на машину по ssh пользователям, но чтобы не делали root
sudo и разрешить ТОЛЬКО некоторые ПРИЛОЖЕНИЯ.
ну если вы разрешите ставить всякую помойку через браузер, то не забивайте голову себе, и не сношайте её другим.и не меняя ничего в системе много
методами kdesudo получается не работает без переделок
1. небыло devel пакето _откуда_ был доступ
2. если в 1 клик в данном случаи проще - сделаю 1 клик (это не отменяет консоль когда надо)
3. ненужно ничего разрешать дополнительно через sudo - есть пароль root и знает его только 1 пользователь
1. ну я и говорю: разработчик разрабатывает на неприспособленной системе. ССЗБ. Вы бы ещё в Windows код попытались писать в notepad..exe через putty. Да, я знаю, есть такие извращенцы.
2. За всё нужно платить. За безопасность тоже. ЧТО у вас установится "в один клик" никому не ведомо. Ну надейтесь на лучшее, я не против.
3. с вашим разрешением
%wheel ALL=(ALL) ALLКТО УГОДНО ОТКУДА УГОДНО ИМЕЕТ ПРАВО ЗАПУСКАТЬ ЧТО УГОДНО С КАКИМИ УГОДНО ОПЦИЯМИ.
пароль надо знать СВОЙ, а не рута. Ну да, ещё надо быть в группе wheel.
У вас первое ALL — ОТКУДА УГОДНО
второе ALL — ОТ ИМЕНИИ КОГО УГОДНО (по умолчанию root)
третье ALL — ЧТО УГОДНО С ЛЮБЫМИ ОПЦИЯМИ. Например rm -rf /.
Не, это конечно ваше право, я же не против.
1. система (где sshd) приспособлена, но другая (с которой был доступ) не приспособлена. необходимость подключится по ssh к приспособленной вызвано требованием запуска собираемого приложения именно с неё, а также чтобы не ставить ничего на неприспособленную (могу сесть на любую неприспособленную и работать на приспособленной - это очень удобно).
2. плати если не знаешь как работает "1 Click Install", rtfm
3. sudoers я вернул в исходное состояние и установил более сложный пароль руту (т.к. иначе с kdesudo неудобства имею)
(wireshark:17442): Gtk-WARNING **: cannot open display: :0
xhost +local: # гарантированно поможет до рестарта иксов... как на постоянно это сделать сейчас не вспомю...
Defaults env_keep += "XDG_SESSION_COOKIE" # в /etc/sudoers — должно помочь, но не гарантирую... нет, это из другой оперы...
FYI: kdesu можно заставить работать через sudo, нужно только один файлик подправить... если интересно, могу вспомнить какой именно...
kdesudo малость костыльное поделие... ИМХО конечно...