проверить статус root
При такой постановке вопроса — спросить у администратора.
anonymous
( 22.06.17 18:40:25 MSK )
Ответ на: комментарий от anonymous 22.06.17 18:40:25 MSK
я и есть админ, у меня учетка с привелегиями sudo
kommersant ★★
( 22.06.17 19:22:26 MSK ) автор топика
Ответ на: комментарий от kommersant 22.06.17 19:22:26 MSK
if [ -f /i/ve/got/enabled/root ]; then echo On else echo Off fi
anonymous
( 22.06.17 19:43:42 MSK )
Ответ на: комментарий от kommersant 22.06.17 19:22:26 MSK
Что ты понимаешь под «включен»? Что конкретно ты хочешь узнать?
Кому так «повезло».
Psych218 ★★★★★
( 22.06.17 19:49:03 MSK )
Ответ на: комментарий от Psych218 22.06.17 19:49:03 MSK
хочу узнать есть возможность войти под учеткой рута или она отключена
kommersant ★★
( 22.06.17 20:13:44 MSK ) автор топика
Ответ на: комментарий от kommersant 22.06.17 20:13:44 MSK
Есть, даже если отключена.
anonymous
( 22.06.17 20:17:58 MSK )
Ответ на: комментарий от kommersant 22.06.17 20:13:44 MSK
хочу узнать есть возможность войти под учеткой рута или она отключена
Всегда можно сделать sudo -i. Это считается за такую возможность? Рут как бы не отключается. У него может быть не выставлен пароль, и соответственно, ни один не будет правильным при использовании su или на экране логина. Но сам по себе он есть, и при наличии нужных прав, можно им стать, выполнив sudo -i .
Psych218 ★★★★★
( 22.06.17 20:22:07 MSK )
Ответ на: комментарий от kommersant 22.06.17 20:13:44 MSK
Если под «войти» подразумевается «залогиниться используя логин root и некоторый пароль» то можно например проверить содержимое файла /etc/shadow (о формате этого файла написано даже в русской википедии)
MrClon ★★★★★
( 22.06.17 21:17:22 MSK )
ну первая же ссылка в гугле на запрос ‘linux usermod lock status’
mandala ★★★★★
( 22.06.17 23:01:08 MSK )
Ответ на: комментарий от mandala 22.06.17 23:01:08 MSK
я не думаю, что вопрос в Lock password аккаунта. Просто ТС пересидел на убунте где отключен нет пароля у рута и su — не работает. Поэтому думает, что везде так. Но про sudo -i или sudo su — он не знает ничего. Вот и блещет 🙂
Crystal_HMR ★★★
( 22.06.17 23:11:41 MSK )
Ответ на: комментарий от Crystal_HMR 22.06.17 23:11:41 MSK
Ну я так понял, что именно запрет входа по паролю ему и нужен был. А вот с механизмом «блокировки» он не совсем знаком, в убунте, емнип, просто пароль заведомо сломан и достаточно его через судо просто поменять.
mandala ★★★★★
( 22.06.17 23:41:04 MSK )
Ответ на: комментарий от kommersant 22.06.17 19:22:26 MSK
я и есть админ, у меня учетка с привелегиями sudo
Are you sure? Мои соболезнования вашему работадателю.
beastie ★★★★★
( 22.06.17 23:47:22 MSK )
Ответ на: комментарий от Crystal_HMR 22.06.17 23:11:41 MSK
я знал что в убунте рут отключен, но не думал что выключен методом битого пароля
счас разобрался
kommersant ★★
( 23.06.17 07:22:23 MSK ) автор топика
Ответ на: комментарий от kommersant 23.06.17 07:22:23 MSK
не думал что выключен методом битого пароля
Нет, блокировкой. Есть разница между пустым паролем и отключённым.
anonymous
( 23.06.17 07:32:51 MSK )
Посмотри в /etc/shadow
imul ★★★★★
( 23.06.17 09:56:07 MSK )
Ответ на: комментарий от mandala 22.06.17 23:41:04 MSK
убунте, емнип, просто пароль заведомо сломан
почти так. Просто выпилен хеш пароля, а с пустым паролем не разрешено политиками. И да, просто поменять и всё работает. Но открывается шанс на кучу експлойтов, которые было лень фиксить, поэтому просто «выпилили рута»
Crystal_HMR ★★★
( 23.06.17 12:47:30 MSK )
Последнее исправление: Crystal_HMR 23.06.17 12:47:45 MSK (всего исправлений: 1)
Ответ на: комментарий от kommersant 23.06.17 07:22:23 MSK
Crystal_HMR ★★★
( 23.06.17 12:49:11 MSK )
Ответ на: комментарий от Crystal_HMR 23.06.17 12:47:30 MSK
Выпилен или ! или * на месте хеша? А то это две большие разницы.
anc ★★★★★
( 23.06.17 16:44:08 MSK )
Ответ на: комментарий от anc 23.06.17 16:44:08 MSK
вы заставили меня скачать исошку. в лайве *
ubuntu@ubuntu:~$ su - #Password: #su: Authentication failure ubuntu@ubuntu:~$ grep root /etc/shadow #grep: /etc/shadow: Permission denied ubuntu@ubuntu:~$ sudo !! #sudo grep root /etc/shadow #root:*:17340:0:99999:7. ubuntu@ubuntu:~$ sudo su - root@ubuntu:~$ passwd #Enter new UNIX password: #Retype new UNIX password: #passwd: password updated successfully root@ubuntu:~$ logout ubuntu@ubuntu:~$ sudo grep root /etc/shadow #root:$6$9zZOMIxD$D5JMFp4pBJ8Uuu0Q7jEiOPtijFeCNBgiHS1AkOhT6L/eH59HY6pgzfnX7YNOxP5QBrazn1ioXyFnldGmUp8rK1:17340:0:99999:7.
Crystal_HMR ★★★
( 23.06.17 20:40:18 MSK )
Последнее исправление: Crystal_HMR 23.06.17 20:42:44 MSK (всего исправлений: 1)
Ответ на: комментарий от Crystal_HMR 23.06.17 20:40:18 MSK
вы заставили меня скачать исошку. в лайве *
Ну уж простите, мне это было делать лень, поэтому и спросил. Вы вроде авторитетно про бубунту писали. подумал что в курсе. А получается заблокирован а не «пустой пароль».
anc ★★★★★
( 23.06.17 20:48:15 MSK )
Ответ на: комментарий от anc 23.06.17 20:48:15 MSK
я и сам был в этом уверен.
Но и не заблокирован
root@ubuntu:~$ passwd -l root ubuntu@ubuntu:~$ sudo grep root /etc/shadow #root:!$6$9zZOMIxD$D5JMFp4pBJ8Uuu0Q7jEiOPtijFeCNBgiHS1AkOhT6L/eH59HY6pgzfnX7YNOxP5QBrazn1ioXyFnldGmUp8rK1:17340:0:99999:7. #добавился восклицательный знак в начале. Вот теперь заблокирован. ## Если начать всё заново: reboot . sudo grep ubuntu /etc/shadow #ubuntu:U6aMy0wojraho:17340:0:99999:7. sudo grep root /etc/shadow #root:*:17340:0:99999:7. sudo passwd -l root #passwd: password expiry information changed. sudo grep root /etc/shadow #root:!*:17340:0:99999:7. passwd #Changing password for ubuntu. #(current) UNIX password: #а вот тут, возможно, то, почему я думал про пустой пароль. В этом поле я ничего не ввожу, оставляя его пустым. Хотя хэш у пароля был, это видно в самом начале. #Enter new UNIX password: #Retype new UNIX password: #passwd: password updated successfully sudo grep ubuntu /etc/shadow #ubuntu:$6$r8PHtsv1$f1QR27T4anHvdT0TB5QhT08LjxOdk9T5fmokqfVSqQGvi.pxhX/V3FQkz1hX0vYsrfriKVb7fVvpm5/3CQWbv.:17341:0:99999:7. sudo passwd -l ubuntu #passwd: password expiry information changed. sudo grep ubuntu /etc/shadow #ubuntu:!$6$r8PHtsv1$f1QR27T4anHvdT0TB5QhT08LjxOdk9T5fmokqfVSqQGvi.pxhX/V3FQkz1hX0vYsrfriKVb7fVvpm5/3CQWbv.:17341:0:99999:7.
Crystal_HMR ★★★
( 24.06.17 12:47:00 MSK )
Ответ на: комментарий от Crystal_HMR 24.06.17 12:47:00 MSK
Ну неверно сформулировал или неверно был понят. Если быть точным * можно назвать «поломанным паролем» тоже самое как если набрать в поле хэша рандомом символы, т.е. войти по паролю нельзя, подчеркиваю только по паролю.
В случае первого символа ! (может и единственного) заблокирован пароль, но не пользователь, т.е. юзер не может войти по паролю но войдя другим способом не может и поменять пароль.
Получение прав root
Виртуальная консоль Linux организована на основе текстовых возможностей графического контроллера, в том числе работы через фреймбуфер.
В процессе работы Linux активно несколько виртуальных консолей. Каждая виртуальная консоль доступна по нажатию Alt и функциональной клавиши с номером этой консоли. Так, в ALT Linux после загрузки системы функции системной консоли берёт на себя 12-я виртуальная консоль (Alt-F12). Если запущена графическая подсистема X11, она занимает седьмую консоль, а для переключения в текстовый режим описанные клавиши нужно нажимать вместе с Ctrl: Ctrl-Alt-F1, Ctrl-Alt-F2 и т. д.
В современных ОС графическая подсистема переехала по умолчанию с седьмой (F7) на первую консоль (F1), поэтому для перехода в текстовую консоль, надо нажать одну из комбинаций Ctrl-Alt-F2 . Ctrl-Alt-F6, а для возврата в графику Ctrl-Alt-F1.
Если вы переключитесь в виртуальную консоль, то увидите приглашение на вход вида:
Lada login:
где Lada — имя вашего компьютера.
Вводите имя root и пароль root:
Lada login: root Password:
при вводе пароля ничего не высвечивается — это сделано специально, для безопасности.
Далее, например, вызываем mc (файловый менеджер с текстовым интерфейсом) и работаем в нём, если нет предпочтений вроде zsh.
В Википедии есть обзорная статья по теме «Midnight_Commander».
Для возвращения в графику выходим из mc, заканчиваем сеанс в виртуальном терминале (чтобы зря не висел) командой exit [1] и переходим в графику сочетанием клавиш Alt+F1 (в некоторых раскладках консоли Ctrl+Alt+F1).
Управление доступом к командам перехода в режим суперпользователя
В дистрибутивах ALT для управления доступом к важным службам используется подсистема control. Для получения текущего состояния войдите через login в root и дайте команду control без параметров, например:
# control | grep su su wheelonly (public wheel wheelonly restricted) sudo wheelonly (public wheelonly restricted) sudoers relaxed (strict relaxed)
Для того чтобы посмотреть что значит та или иная политика, дайте команду control имя_службы help , например
# control su help public: Any user can execute /bin/su wheel: Any user can execute /bin/su, but only "wheel" group members can switch to superuser wheelonly: Only "wheel" group members can execute /bin/su restricted: Only root can execute /bin/su
Для задания новой политики можно задать control имя_службы новая_политика , например:
control sudo restricted
что запретит использовать команду sudo всем, кроме root (а самому root уже в настройках sudo по умолчанию запрещено её использовать).
Примечание: Как видно из приведённых выше команд, команды su и sudo по умолчанию позволено использовать только пользователям, входящим в группу wheel.
Краткое сравнение команд su и sudo
1. Режим работы по умолчанию:
Далее все команды до команды exit выполняются в режиме суперпользователя.
sudo команда
Выполняется только одна конкретная команда.
2. Запрашиваемый пароль по умолчанию:
su — — запрашивает пароль root;
sudo — запрашивает пароль пользователя для первой команды, для следующих в течение определённого времени вообще не запрашивает пароль.
3. Каждая команда самостоятельна и настраивается отдельно.
По умолчанию в большинстве дистрибутивов ALT sudo запрещено
Вход через su —
- получение прав через su —
Как проверить root права linux
Пользователь root в системах GNU/Linux — это пользователь, имеющий административный доступ к вашей системе. Обычные пользователи не имеют этого доступа по соображениям безвасности. Тем не менее в Kubuntu нет пользователя root. Вместо этого, административный доступ предоставляется отдельным пользователям, которые могут использовать приложение «sudo» для выполнения административных задач. Первая учетная запись, созданная при установке системы по умолчанию будет иметь доступ к приложению sudo. Вы можете запретить доступ к sudo или предоставить его с помощью приложения Пользователи и Группы (см. «Пользователи и Группы»).
Если Вы запустите программу, требующую прав суперпользователя, sudo потребует ввести ваш обычный пользовательский пароль. Это гарантирует, что вредоносные приложения не смогут повредить вашу систему, а также напомнит Вам, что Вы собираетесь выполнить административные действия, которые требуют особой осторожности!
Чтобы использовать sudo в командной строке, просто наберите «sudo» перед командой, которую Вы хотите запустить. После этого sudo попросит ввести ваш пароль.
Sudo будет помнить ваш пароль установленное время (по умолчанию 15 минут). Эта возможность позволяет пользователям выполнять большое количество административных задач без необходимости каждый раз вводить пароль.
Внимание
Будьте осторожны при выполнении административных задач — вы можете испортить вашу систему!
Некоторые советы по использованию sudo:
- Чтобы использовать терминал пользователя root, наберите «sudo -i» в командной строке
- Вся группа графических утилит конфигурации в Kubuntu уже использует sudo, так что при необходимости у вас попросят пароль с помощью приложения kdesu , которое является графической оболочкой sudo .
- За дальнейшей информацией по программе sudo и отсутствию пользователя root в Kubuntu обращайтесь к странице sudo на сайте Ubuntu wiki.
Запуск программ вручную с привилегиями root
Иногда необходимо выполнить программу с привилегиями root. Это легко сделать с помощью диалога Выполнить команду .
Внимание
Пожалуйста, будьте осторожны, выполняя приложения с привилегиями root, так как это может испортить вашу систему. За дополнительной информацией см. «Пользователь root и sudo».
- Откройте диалог Выполнить команду , нажав Alt — F2
- Введите название программы, которую вы хотите выполнить, с префиксомkdesu и нажмите Enter . Например, чтобы запустить файловый менеджер Konqueror с привилегиями root, наберите
Как узнать, есть ли у пользователя права на sudo
Из этой статьи Вы узнаете, как узнать, является ли пользователь sudoer или нет. Вы также научитесь перечислять всех пользователей sudo в вашей системе Linux.
Хотите знать, есть ли у вас права sudo в вашей системе? Это легко проверить. Просто запустите любую команду с помощью sudo. Если у вас нет прав sudo, вы должны увидеть это в выводе:
standard@andreyex:~$ sudo -v Sorry, user standard may not run sudo on andreyex.
Это круто! Но как насчет проверки, если какой-либо другой пользователь имеет права sudo? Вы можете это сделать. Позвольте нам показать вам, как.
Как проверить, есть ли у пользователя права sudo или нет
Есть несколько способов проверить, может ли пользователь Linux использовать sudo или нет. Вот пара из них.
Способ 1. Проверьте, является ли пользователь sudoer с помощью команды sudo
Сама команда sudo дает вам возможность проверить, может ли пользователь выполнять команды с помощью sudo или нет. Фактически, он говорит вам, какие команды может запускать определенный пользователь с помощью sudo.
Чтобы проверить доступ sudo для пользователя, выполните следующую команду:
sudo -l -U user_name
Если пользователь может выполнить несколько или все команды с помощью sudo, вы должны увидеть вывод, подобный следующему:
Matching Defaults entries for terminator on test-server: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User terminator may run the following commands on test-server: (ALL : ALL) NOPASSWD: ALL
Как видите, пользователь terminator может запускать все команды с доступом sudo. Если у пользователя нет прав sudo, вы должны увидеть вывод, подобный этому:
User terminator is not allowed to run sudo on test-server.
Если вы хотите проверить, есть ли у вас права sudoer и какие команды вы можете запускать с помощью sudo, вы можете использовать ту же команду, только не указывайте имя пользователя.
sudo -l
Вы знали?
Эта команда также показывает, какие команды запрещены для запуска с помощью sudo. Да это правильно. Вы можете настроить, какие команды можно запускать с помощью sudo, а какие нет. Это полезно в среде, где команде разработчиков необходимо запускать только определенные приложения с помощью sudo. Ограничение использования sudo только этими приложениями поможет системе избежать необоснованного неправомерного использования прав sudo со стороны разработчиков.
Способ 2. Проверьте, является ли пользователь частью группы sudo
Другой способ узнать, есть ли у пользователя доступ к sudo, — проверить, является ли указанный пользователь членом группы sudo.
Есть несколько способов проверить группы пользователей в Linux. Самый простой и мой любимый способ — использовать команду groups так:
groups user_name
Если вы видите группу ‘sudo’ в выходных данных, пользователь является членом группы sudo, и он должен иметь доступ sudo.
terminator@andreyex:~$ groups terminator terminator : terminator sudo
Бонусный совет: как найти всех пользователей sudo в вашей системе
Итак, вы научились проверять, есть ли у пользователя доступ к sudo или нет. Как насчет перечисления всех sudoers в ваших системах Linux?
Это просто, если вы уже следили за статьей. Все, что вам нужно сделать, это перечислить членов группы sudo.
В Linux существует несколько способов достижения одного и того же результата. Неудивительно, что у вас есть несколько способов составить список членов группы в Linux.
Чтобы составить список всех пользователей sudo вашей системы, перечислите членов группы sudo следующим образом:
getent group sudo
список всех sudoers:
terminator@andreyex:~$ getent group sudo sudo:x:27:terminator,seeni
Вот и все. Мы надеемся, теперь вы знаете, как узнать, есть ли у вас права sudo или есть ли у других пользователей права sudoer.
Если у вас есть другие интересные советы по этой теме, пожалуйста, оставьте комментарий ниже.