LinuxForum.Fans
Тема

Смена пароля 'слишком легкий пароль'

Автор: Lesh 37 сообщений 7714 просмотров
#241701

например нужно дописать "nameserver 127.0.0.1" в /etc/resolv.conf
sudo echo "nameserver 127.0.0.1" >> /etc/resolv.conf даст предполагаемую ошибку в правах доступа.

конечно можно так
sudo -i
echo "nameserver 127.0.0.1" >> /etc/resolv.conf
exit
но но чем это лучше "sudo su"? плюс нужно помнить опцию(тоже и касательно опции -s)...
можно
sudo -i bash -c 'echo nameserver 127.0.0.1 >> /etc/resolv.conf'
но объясните это новичку. он вас за это полюбит неестественным образом...

я понимаю что "судо" для пользователя, а "су" для админа, но так как в убунте по умолчанию рут не имеет пароля, а админит по умолчанию первый в системе простой пользователь, то данная комбинация выглядит странной, но только для систем отличных от безпарольных рутовских учеток. тут же такая комбинация удобнее. мало того пользуя sudo можно нарваться на ограничения самого судо, которое предназначено как раз для ограничения рутовских правил, а "судо су" либо даст вам эти права либо вы увидите что у вас этих прав нет.

в общем спорить можно до бесконечности. так как решений много, а уж особенностей их использования в разных ОС - еще больше. Только не надо навязывать свою точку зрения. Можно описать варианты, а пользователь мпусть сам выбирает и несет ответственность за свой выбор сам.

#241705

Тема топика "Мне нужно пароль поменять."
И мне неважно как запускать команду от рута.

Вот при установке убунты никаких проверок сложности проверок не происходило.

#241709
"Харитон" написал:
можно и "sudo -i", но это заставляет помнить опцию

можно подумать, что sudo su запоминать не нужно.

"Харитон" написал:
в чем безсмысленность команды "sudo su"?

в том, что su это "смена пользователя", а вы меняете root'а на root'а. Какой в этом смысл?

"Харитон" написал:
если мне часто пользовать разные команды из под рута, то все время писать судо?
не проще ли "sudo su - "и выполнять все что надо?

ещё проще настроить вашу систему. Как в любом нормальном дистрибутиве. Просто su.

"Харитон" написал:
сохранит текущую папку а не перейдет в папку рута...

что за "папки"?
и почему не надо переходить в "папку" рута? А может надо?

"Харитон" написал:
Зачем мне это помнить начинающему да еще вагон опций если есть "sudo su [-]" ?

потому-что sudo su у вас работает исключительно благодаря случайному совпадению. А вот как оно заработает у начинающего - мне неведомо. Но что совсем плохо - это непонятно самому начинающему. Если на вопрос "что такое sudo -i" ответ находится за минуту, то вот распарсить sudo su значительно сложнее. Дословно это "выполнить от имени юзера по умолчанию команду смены юзера с юзера по умолчанию на юзера по умолчанию", сами поняли заковыченное? При этом ещё нужно осилить примечание в мане, на тему запроса пароля командой su, которая всегда просит пароль, за исключением юзера рут. В итоге, это нужно аж три _примечания_ осилить!

Ну а вагон опций изучать вас никто не заставляет. Тут одна опция нужна, и она явно написано.

"Харитон" написал:
sudo echo "nameserver 127.0.0.1" >> /etc/resolv.conf даст предполагаемую ошибку в правах доступа.

потому-что сама команда неправильная. Вы зачем-то исполняете через sudo команду echo, хотя она и так отлично работает. Вам надо выполнить перенаправление >> с правами рута, а не echo. А вот перенаправление у вас работает с правами bash'а, а вовсе не рута. Элементарное непонимание, только и всего. Выполните sudo ваш_любимый_редактор, и не мучайтесь. Ну не понимаете вы bash, и изучать не желаете, так и не трогайте.

"Харитон" написал:
sudo -i bash -c 'echo nameserver 127.0.0.1 >> /etc/resolv.conf'
но объясните это новичку. он вас за это полюбит неестественным образом...

вы сами себе объясните, ЧТО в действительности значит sudo su.

"Харитон" написал:
я понимаю что "судо" для пользователя, а "су" для админа

бред.

"Харитон" написал:
но так как в убунте по умолчанию рут не имеет пароля, а админит по умолчанию первый в системе простой пользователь, то данная комбинация выглядит странной

в других системах она ВООБЩЕ НЕ РАБОТАЕТ.

text
$ sudo su

We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things:

#1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility.

Password: Sorry, user doc is not allowed to execute '/bin/su' as root on dt.

"Харитон" написал:
мало того пользуя sudo можно нарваться на ограничения самого судо, которое предназначено как раз для ограничения рутовских правил, а "судо су" либо даст вам эти права либо вы увидите что у вас этих прав нет.

бред. просто sudo не даёт права? Если вам надо не только права, но ещё и оболочку, так и скажите: sudo sh, запустится оболочка по умолчанию, не нравится по умолчанию? ССЗБ - вы админ, а вам не нравится. Хотите bash - sudo bash. В чём проблемы?

"Харитон" написал:
Только не надо навязывать свою точку зрения. Можно описать варианты

вот теперь давайте, медленно, по шагам рассказывайте, как выполняется sudo su, и при этом не забывая в своём рассказе упомянуть про все изменения "папок" и оболочек.

#241711
"Lesh" написал:
Тема топика "Мне нужно пароль поменять."

повторяю sudo passwd user

"Lesh" написал:
Вот при установке убунты никаких проверок сложности проверок не происходило.

это недоработка наверное. Или вы не заметили. Да, с правами рута (т.е. через sudo) ввести короткий пароль можно, там только предупреждение.

#241714
drBatty написал:
[quote="Lesh"]Тема топика "Мне нужно пароль поменять."

повторяю sudo passwd user
[/quote]

А я повторяю что не работет, выдает следующее:
passwd: Доступ запрещён
passwd: пароль не изменён

#241716

Всё правильно.
Запустите команду от root:

text

su
Пароль
user passwd
#241722
"Lesh" написал:
passwd: Доступ запрещён

и всё? тогда не знаю. наверное защита какая-нить поставлена, которой по умолчанию нет.

#241726

>вот теперь давайте, медленно, по шагам рассказывайте, как выполняется sudo su, и при этом не забывая в своём рассказе упомянуть про все изменения "папок" и оболочек.
для настойчивых:
sudo su
sudo смотрит в судоерс что данный пользователь может выполнять.
если ему разрешено выполнять su именно с таким синтаксисом(опции и т.д.) на этом ПК, то она выполнит его с правами суперпользователя. при этом запускается не логин-шелл от с правами рута.
т.е. далее выполняя любые слажные команды с конвеерами и перенаправлениями станд.вывода я буду выполнять их от имени рута, но в среде запустившего команду пользователя. если есть опция "-", то будет выполнен логин-шелл и будет рутовское окружение переменных и выполнится как глобальный профиль, так и локальный.

>выполните sudo ваш_любимый_редактор...
великолепно! +500! запустим прогу которая жрет больше ресурсов и времени на выполнение задачи мало того не дает стопроцентного однозначного решения задачи(пользователь может исправить в нем не то что хотелось и испортить то что было. учитывая то, что по-умолчанию используется vi). зато сделать это через echo нельзя... с чего бы это?
а если надо
grep 'linux' /etc/file | cut -f1 > /etc/file2 или что-то другое не связанное с редактором, но с конвеерами и прочее, то что тогда? да мало ли примеров...

давайте так - если учите новичка, то не давайте ему сразу высшую физику ибо не поймет, преподавайте начинающим физику на уровне 6 класса, постепенно нагружая подробностями. вырастет в знаниях - научится...

#241729

2Lesh
sudo su выполняется? надо будет ввести пароль запускающего эту команду пользователя.
если да то там выполните passwd user

#241755

Из фантастики:
Или AppArmor какой-нибудь?

#241765
"Харитон" написал:
su именно с таким синтаксисом(опции и т.д.) на этом ПК, то она выполнит его с правами суперпользователя. при этом запускается не логин-шелл от с правами рута.

стоп! как вы объясните новичку, что команда su (смена юзера) запустит shell? Как известно, для запуска shell надо набрать sh, или там если вас не устраивает оболочка по умолчанию - bash, zsh, dash, etc.

"Харитон" написал:
т.е. далее выполняя любые слажные команды с конвеерами и перенаправлениями станд.вывода я буду выполнять их от имени рута

это у вас ваша оболочка будет выполняться с правами рута. её и нужно запускать очевидно.

"Харитон" написал:
>выполните sudo ваш_любимый_редактор...
великолепно! +500! запустим прогу которая жрет больше ресурсов и времени на выполнение задачи мало того не дает стопроцентного однозначного решения задачи(пользователь может исправить в нем не то что хотелось и испортить то что было. учитывая то, что по-умолчанию используется vi). зато сделать это через echo нельзя... с чего бы это?

ну во первых ваш_любимый_редактор жрёт вполне приемлемое количество ресурсов. Иначе он не был-бы любимым.
во вторых, имелся ввиду конечно консольный редактор
в третьих, причём тут редактор по умолчанию?
в четвёртых, команда echo >>file не даёт возможности отмены, и даже не показывает, что было, и что получилось
в пятых, если вам таки плевать на новичка, и вам нужно именно магическое заклинание, которое он не понимает, используйте специальный редактор, как раз для этого случая: sed -i '$a127.0.0.1' /etc/resolv.conf, он делает то что нужно, и работает с sudo.

"Харитон" написал:
а если надо
grep 'linux' /etc/file | cut -f1 > /etc/file2 или что-то другое не связанное с редактором, но с конвеерами и прочее, то что тогда? да мало ли примеров...

что значит "если надо"? Если надо забить гвоздь, нужно юзать молоток, если надо закрутить шуруп - есть отвёртка. У каждого инструмента свой круг задач.
повторяю ещё раз: если вам надо оболочку, запускайте оболочку. В данном конкретном случае оболочка не нужна.

"NoXi0uZ" написал:
Из фантастики:
могут права на /etc/shadow стоять на запрет модификации?
Или AppArmor какой-нибудь?

ну только это и остаётся на самом деле...

#241768

про /etc/shadow это я все-таки бред написал, потому и стер) По крайней мере на CentOs там вообще права стоят 000, спецом проверил
а про apparmor вполне может быть... Может что-нибудь в /var/log/ пишется?

PS Пример профиля AppArmor для passwd:
http://www.ibm.com/developerworks/ru/library/l-apparmor-2/index.html

#241771
"NoXi0uZ" написал:
про /etc/shadow это я все-таки бред написал, потому и стер) По крайней мере на CentOs там вообще права стоят 000, спецом проверил

почему это "бред"? вполне может быть
команда passwd может проверять права самостоятельно. В этом есть смысл, ибо она ВСЕГДА работает с правами рута, даже если её запустил простой юзер. Потому ей приходится смотреть, кто её запускает.

#241773

"NoXi0uZ" написал:
По крайней мере на CentOs там вообще права стоят 000, спецом проверил
да ладно! у меня 0400 стоит. Что вовсе не мешает этот файл редактировать (путём перезаписи).
#241778

2drBatty:
спорить можно сколько угодно. вы - правы со своей стороны. тут спору нет. но только это если только говорить о тех, кто все это знает. Для новичка не знакомого с логин-шелами и прочими ньюансами передачи прав, нужно еще и обьяснять что в убунте sh - запускает какой-то шелл (это далеко не всем известно)...))) он все время думал что xterm или konsole запускают оболочку...))) ну на крайняк - login.)))

только неопытный пользователь который вводит команду под простым пользователем и она себя ведет одним способом, не всегда сможет достигнуть желаемого результата(по незнанию основ) используя sudo.
после sudo su (или sudo -i) к примеру он получит шелл с правами рута и все команды будут себя вести так как они работали б и под обычным пользователем.
в данном примере это действительно не обязательно, но и не противоречит, зато для начинающего полезнее. Со временем он поймет для каких команд достаточно и просто sudo.
мы то с вами понимаем что к чему, а ТС скорее всего много нового для себя открыл(хотя пароль так и не поменял). потому я рекомендовал команду такого плана после которой у него не будет вопросов(по незнанию) типа "почему моя команда под судо ведет себя не так?"...

2ТС:

дайте вывод команд
cat /etc/group | grep sudo
ls -l $(which {sudo,su})

ну и если судо пустит то
sudo cat /etc/shadow

#241785
"drBatty" написал:
Что вовсе не мешает этот файл редактировать

да да, про права на изменения каталога я в курсе, и "фичу" sed - я учебник твой, drBatty, читал с удовольствием) Про "откуда grep так назвался" я вообще не знал

В Arch подобная проблема была вроде, там было связано с /etc/pam.d/passwd, но что конкретно, я не помню(

Щас на виртуалке посмотрел, в /etc/pam.d/common-passwd у Вас ничего не закомменчено? pam_permit.so например. Если его закоментить, то не дает менять пароль.

#241806
"Харитон" написал:
спорить можно сколько угодно. вы - правы со своей стороны.

да я уже понял логику людей с убунтой головного мозга:
1. su сломали
2. sudo сделали
3. из п1 и п2 следует, что su надо юзать через sudo
:)
Логика порочная, из-за того, что п1 неправильный, но таки работает ;)

"Харитон" написал:
нужно еще и обьяснять что в убунте sh - запускает какой-то шелл (это далеко не всем известно)

а где НЕ запускает?

"Харитон" написал:
он все время думал что xterm или konsole запускают оболочку...

ну это его проблемы, если он считает, что терминал это оболочка. Если вы не хотите объяснять ему его ошибку, и подстраиваетесь под его неверную логику - в добрый путь :p

"Харитон" написал:
после sudo su (или sudo -i) к примеру он получит шелл с правами рута и все команды будут себя вести так как они работали б и под обычным пользователем.
после sudo -i получит. А пот при sudo su - не факт. В мане сказано совсем по другому. Впрочем - продолжайте жить в придуманном вами мире.

"Харитон" написал:
а ТС скорее всего много нового для себя открыл(хотя пароль так и не поменял). потому я рекомендовал команду такого плана после которой у него не будет вопросов(по незнанию) типа "почему моя команда под судо ведет себя не так?"...
угу. тут таких открывателей уже 100500 было. Нетрудно заметить, что если что-то не получается в простой консоли, то в вашей, запатентованной - "получается". Вот он и будет только ей и пользоваться.

"Харитон" написал:
типа "почему моя команда под судо ведет себя не так?"...

вообще-то случай с перенаправлением - очень специфический. И тут уже есть повод задуматься...
Ну а если вы тупо нагуглили команду, и вам хочется её тупо выполнить не вдаваясь - заклинание выше с sed уже было.

"NoXi0uZ" написал:
да да, про права на изменения каталога я в курсе

тут не в этом дело:

text
root@dt:~# echo >> zzz
root@dt:~# ls -l zzz
---------- 1 root root 2 Мар 29 04:25 zzz
root@dt:~# cat zzz

root@dt:~#

видно, что руту не надо так извращаться, ему вообще плевать на права. А как я уже писал, passwd & su & sudo ВСЕГДА работают с правами рута.

Войдите или зарегистрируйтесь, чтобы ответить.