- Как выполнить запуск скрипта от суперпользователя без пароля?
- 1. Создаем специальную группу для запуска, которой дадим необходимые права:
- 2. Добавляем пользователя userlogin в эту группу:
- 3. Редактируем файл /etc/sudoers с помощью visudo :
- 4. Проверяем
- PS
- Вход в linux терминал как root без пароля
- Уязвимость в Linux позволяет получить Root без пароля
- Уязвимость в Linux позволяет получить Root без пароля
- Уязвимость в Linux позволяет получить Root без пароля | Дополнительное меню загрузки и получение Root доступа
- Уязвимость в Linux позволяет получить Root без пароля – выводы
- How to set up passwordless SSH access for root user [duplicate]
- 4 Answers 4
- Part 1 : SSH key without a password
- On the client (where you ssh FROM)
- On the server (where you ssh TO)
- On the client :
- On the server :
- On the client (Test):
- Part 2 : Running commands via sudo without entering a password
Как выполнить запуск скрипта от суперпользователя без пароля?
Все можно настроить через файл /etc/sudoers . Вот способ как можно перезапускать все службы ( sudo service . ) от пользователя userlogin .
1. Создаем специальную группу для запуска, которой дадим необходимые права:
sudo groupadd sudo-restrict
2. Добавляем пользователя userlogin в эту группу:
sudo usermod -aG sudo-restrict userlogin
3. Редактируем файл /etc/sudoers с помощью visudo :
Необходимо ставить в конце следующее:
%sudo-restrict ALL=(ALL) NOPASSWD: /usr/sbin/service
/usr/sbin/service — путь к программе необходимо указывать абсолютный. В вашем случае это будет путь к вашему скрипту. Я использую служебную команду service
4. Проверяем
Заходим под пользователем userlogin и выполняем
sudo service mysqld restart
Сервис перезапустится без ввода пароля.
PS
В конце /etc/sudoers можно раскомментировать эту строку: #includedir /etc/sudoers.d , и записывать все настройки в отдельные файлы в каталоге /etc/sudoers.d
Я согласен с ответом Total Pusher, но сам обычно использую более простой и универсальный способ:
- Запускаю sudo visudo
- Добавляю в конец username ALL=(ALL) NOPASSWD: ALL (укажите свой username)
- Сохраняю
Разница в том, что никаких особых групп и пользователей я не создаю и в результате можно запускать любые скрипты и команды без пароля (мне достаточно того, что юзер вводит пароль при запуске сессии).
UPD: Как метко подметил andreymal, этот способ создаёт дыру в безопасности системы и использовать его на постоянной основе не рекомендуется.
Вход в linux терминал как root без пароля
Так уж случилось, что я немного неправильно написал в /etc/sysctl.conf на своем ноутбуке, после чего при загрузке системы получил такое вот странное окно:
Система естественно не загружается . но есть решение как это можно исправить:
Можно зайти в »linux»-терминал в однопользовательском режиме (как root без пароля) и исправить неверные конфиги, к тому же можно даже сменить пароль root .
Для этого нам нужно немного поправить конфиг загрузки »linux».
При включении ПК будет выбор загружаемой системы:
Необходимо нажать e и появится окно редактирования конфига загрузки, где нужно отредактировать загружаемую систему, искомые строки начинаются с:
И таких строк может быть столько, сколько доступно в «Дополнительных параметрах для Ubuntu»:
Нас интересует только самая первая/верхняя строка.
В ней нужно найти ro и заменить на (((удалив все остальное до конца строки))):
Затем необходимо нажать CTRL+X или F10 чтобы загрузить терминал в однопользовательском режиме.
Теперь можно делать что угодно, однако после завершения всех действий не забываем синхронизировать файловую систему так:
А для перезагрузки используем:
В телеграм канале DevOps от первого лица можно оставить комментарий или почитать интересные истории из практики DevOps
Уязвимость в Linux позволяет получить Root без пароля
Уязвимость в Linux позволяет получить Root без пароля
Сегодня мы поговорим об уязвимости в Linux, которая позволяет получить root без пароля. Мы привыкли считать, что Linux дистрибутивы всегда хорошо защищены. Операционная система на базе Linux даёт свободу, каждый может настроить её под себя, изменить всё, что душе угодно. Однако, если вы заботитесь о своей безопасности, к примеру у вас хранятся очень важные файлы по работе, бизнесу и т.п., не стоит думать , что просто установив какой-либо дистрибутив и поставив пароль вы будете защищены.
Система является защищенной, если пароль, установленный вами, нельзя взломать стандартными операциями самой системы. К примеру, как у Windows. Если вы поставили пароль на запись администратора, то даже через безопасный режим вы не сможете зайти туда без пароля. Таким образом, доступ к файлам безопасен. Важно, что сейчас не имеется ввиду использование стороннего ПО или загрузочных носителей.
Уязвимость в Linux позволяет получить root без пароля с помощью модификации предзагрузочного файла в GRUB.
[su_highlight]GRUB[/su_highlight] – загрузчик операционной системы от проекта GNU. GRUB позволяет пользователю иметь несколько установленных операционных систем и при включении компьютера выбирать одну из них для загрузки.
Уязвимость в Linux позволяет получить Root без пароля | Дополнительное меню загрузки и получение Root доступа
При загрузке операционной системы Linux появляется GRUB, в этот момент нам нужно нажать кнопку E, для того, чтобы открылось дополнительное меню загрузки, то есть предзагрузочный файл.
Мы видим следующую картину.
В строке со словом Linux нам необходимо дописать в конце следующую команду.
Нажимаем F10 и ждём загрузки операционной системы.
Система загружается и мы уже получаем root доступ, однако монтирование системы только с правами READ. Для того, чтобы перемонтировать директорию, где установлена система пишем следующую команду:
Где dev/sda1 – раздел, на котором у вас установлен Linux, у вас он может быть другой, узнать его можно с помощью команды:
Осталось дело за малым. Теперь у вас есть полный доступ к системе, однако пароля вы до сих пор не знаете, а работать с консолью не все умеют, да и не всем нравится данный способ.
Меняем пароль суперпользователя и заходим в систему после перезагрузки, предварительно убрав из предзагрузочного файла строку добавленную ранее.
passwd root – команда для смены пароля суперпользователя.
Обезопасить себя от данной уязвимости можно следующими способами:
Уязвимость в Linux позволяет получить Root без пароля – выводы
Сегодня мы поговорили о том, как получить root без пароля с помощью уязвимости, которая присутствует в Linux. Это все можно сделать за считанные минуты и нанести значительный ущерб, чего делать я не рекомендую. Вы сами отвечаете за свои действия, информация представлена в образовательных целях.
Таким образом можно получить доступ как к ПК, так и к серверу на базе Linux.
Если вам понравилась статья, делитесь в соц. сетях, подписывайтесь на обновления сайта, а также наш Telegram.
How to set up passwordless SSH access for root user [duplicate]
I need to configure a machine so software installation can be automated remotely via SSH. Following the wiki, I was able to setup SSH keys so my user can access the machine without a password, but I still need to manually enter my password when I use sudo , which obviously an automated process shouldn’t have to do. Although my /etc/ssh/sshd_config has PermitRootLogin yes , I can’t seem to be able to log in as root, presumably because it’s not a «real» account with a separate password. How do I configure SSH keys, so a process can remotely log in as root on Ubuntu?
If you automate installation from a central machine, you can limit the scope of the key so it will only be accepted from the given host. Simply prefix the line in authorized_keys with from=»host.ip.goes.here» ssh-rsa [. ]
At the end of the day, this question has a poor title. The user can already log in via ssh with a key without a password but now wants to run sudo without a password. I revised the answer to address both issues as this question is linked as how to generate a paswordless ssh key (due to poor title).
Not sure if someone else has answered this already but I had a similar issue when trying to git pull from root user on the same box. My solution was to set up a ssh key for root user and add its public key to the authorised_keys file for my git user. Wish I had done this earlier.
4 Answers 4
Part 1 : SSH key without a password
To set up a passwordless SSH connection for the root user you need to have root access on the server. Easiest method is to temporarily allow root to log in over ssh via password. One way or another you need root access on the server to do this. If you do not have root access on the server, contact the server administrator for help.
On the client (where you ssh FROM)
First make a ssh key with no password. I highly suggest you give it a name rather then using the default
The -f option specifies a file name, foo is an example, use whatever name you wish.
When you are prompted for a password, just hit the enter key and you will generate a key with no password.
Next you need to transfer the key to the server. Easiest method is to use ssh-copy-id . To do this you must temporarily allow root to ssh into the server.
On the server (where you ssh TO)
sudo nano /etc/ssh/sshd_config
Make sure you allow root to log in with the following syntax
PasswordAuthentication yes PermitRootLogin yes
Set a root password, use a strong one
On the client :
From the client, Transfer the key to the server
ssh-copy-id -i ~/.ssh/foo root@server
change «foo» the the name of your key and enter your server root password when asked.
Assuming it works, unset a root password and disable password login.
On the server :
sudo nano `/etc/ssh/sshd_config`
PasswordAuthentication no PermitRootLogin without-password
On the client (Test):
You should now be able to ssh in with your key without a password and you should not be able to ssh in as any user without a key.
Part 2 : Running commands via sudo without entering a password
You configure sudo to allow you to run commands without a password.
This is answered here in two places:
Of the two, I suggest allowing as few commands as possible (first answer) rather then all commands (second answer).
@Ashimema — so you make a key ? Where did you make the key ? On the server ? so how does the client machine get the key ? On the client? so how does the key get to the server ? The «proper» ie easiest method is to make the key on the client machine (does not require root) and use ssh-copy-id to transfer the key to the server.
That escalated fast. Personally, I’m not impressed by the complete rewrite from a number of angles but as I’m not a regular contributor here anymore I’m really not in the frame of mind for further trolling. Thank you for linking to sudo -i information, it was an interesting read.
‘Make a key’.. original questions clearly stated they had already made a key and linked to documentation on how.
You are confusing two different things:
passwordless log is used to make sure that people can’t log into your system remotely by guessing your password. If you can ssh username@machine and connect without a password, this is set up correctly, and has nothing else to do with this.
sudo is used to permit a normal user account to do something with super user permissions. This does require the user to type their password. This happens whether you are connected remotely (via passwordless or password-protected SSH) or are local on the machine. You are trying to set sudo to not ask for your password, which is not recommended, but you can learn how to do that via an answer like https://askubuntu.com/a/74083/6161
Note to future readers of this answer:
My above answer does not answer the original poster’s actual question, it describes what you should do instead. If you really want to allow remote connections directly to the root account, you need to enable the root account (see my comment below). Again, let me say DO NOT allow remote remote log-ins to your root account.