Возможный дубликат:
Как мне предоставить sudo привилегии существующему пользователю?
Я искал ответ на этот вопрос, но все, что я нашел, это «Это плохая идея» или «Мы не рекомендуем это», и предлагается некоторое временное решение ...
Я новенький, да. Я знаю, что есть большая вероятность, что я смогу что-нибудь сломать. Я счастлив ломать свою ОС и форматировать ее много раз, если до этого доходит, но ЛЮБЫЕ ограничения моей ОС меня бесят. Я хочу иметь возможность сломать что-то, если захочу, а затем узнать, как я это сломал и как это исправить.
Я хочу выключить предохранитель.
Подскажите, пожалуйста, как предоставить пользователю абсолютную авторизацию.
Это не вы , которые ограничены (если вы можете sudo
или войдите в систему как root в командной строке), но это скорее каждое приложение, которое вы запускаете [ 112], который ограничен.
Если вы предоставите себе root-права, каждое запущенное вами приложение также получит полную власть над вашим компьютером. То, что является ограничением, и говорить, что вы не хотите накладывать какие-либо ограничения на вас, это все равно, что говорить, что вы не не хотите заблокировать свой велосипед или дверь, поскольку это накладывает сами.
Я удивлен, что еще никто не пытался предложить вам это понимание.
Хорошо, это из-за моих хакерских попыток попробовать все в системе, чтобы увидеть, что она сделала.
Существует файл /etc/passwd
, в котором хранятся пароли (или маркер для обозначения теневых паролей).
В этом файле вы увидите что-то вроде этого:
root:!:0:0::/:/usr/bin/ksh
daemon:!:1:1::/etc:
bin:!:2:2::/bin:
sys:!:3:3::/usr/sys:
adm:!:4:4::/var/adm:
uucp:!:5:5::/usr/lib/uucp:
guest:!:100:100::/home/guest:
nobody:!:4294967294:4294967294::/:
lpd:!:9:4294967294::/:
lp:*:11:11::/var/spool/lp:/bin/false
invscout:*:200:1::/var/adm/invscout:/usr/bin/ksh
nuucp:*:6:5:uucp login user:/var/spool/uucppublic:/usr/sbin/uucp/uucico
paul:!:201:1::/home/paul:/usr/bin/ksh
jdoe:*:202:1:John Doe:/home/jdoe:/usr/bin/ksh
[пример взят из здесь ]
два раздела, которые интересуют нас: цифры в позициях 3 и 4. первый - это идентификатор пользователя, второй - группа. Обратите внимание, что в этой установке (и в большинстве установок) значения для root равны 0
Если вы используете su или sudo для редактирования этого файла, и измените числа в вашем идентификаторе пользователя на совпадающие с root, после чего вы станете пользователем root. (также вы не сможете использовать rmuser для своего идентификатора, так как теперь он считается существенным для системы)
Для тех, кто также хочет освободить свою систему, это решение, которое сработало для меня:
В качестве альтернативы:
Чтобы предоставить пользователю «foo» неограниченный доступ без пароля к корневым привилегиям с помощью команды sudo
, отредактируйте /etc/sudoers
и добавьте строку:
foo ALL = NOPASSWD: ALL
См. Sudo (8) и sudoers (5). ) для получения дополнительной информации.
Как было предложено в другом месте, если вы знаете, как использовать vi
, то будет хорошей идеей использовать visudo
для редактирования /etc/sudoers
.
Будучи новичком, вам лучше использовать visudo
вместо самостоятельного редактирования /etc/sudoers
, хотя бы потому, что:
/etc/sudoers
в в то же время. Не лучше ли добавить пользователя в правильную группу?
sudo usermod -a -G sudo hduser
см. Также этот дублирующий вопрос: Как предоставить привилегии sudo существующему пользователю?