Shutting Down From The Console Without A Password
Often people want to be able to shut their computers down without requiring a password to do so. This is particularly useful in media PCs where you want to be able to use the shutdown command in the media centre to shutdown the whole computer.
To do this you need to add some cmnd aliases as follows:
Cmnd_Alias SHUTDOWN_CMDS = /sbin/poweroff, /sbin/halt, /sbin/reboot
You also need to add a user specification (at the end of the file after the «%admin ALL = (ALL) ALL» line so it takes effect — see above for details):
<your username> ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS
Obviously you need to replace «<your username>» with the username of the user who needs to be able to shutdown the pc without a password. You can use a user alias here as normal.
Присвоение пользователю привилегий Sudo
Чаще всего при управлении разрешениями используется операция предоставления новому пользователю общего доступа . Это полезно, если вы хотите предоставить учетной записи полный административный доступ к системе.
В системе с группой администрирования общего назначения, такой как система Ubuntu в этом учебном модуле, проще всего будет добавить данного пользователя в эту группу.
Например, в Ubuntu 20.04 группа имеет полные привилегии администратора. Добавляя пользователя в эту группу, мы предоставляем ему такие же привилегии:
Также можно использовать команду :
Обе команды выполняют одно и то же.
В CentOS эта группа обычно называется , а не :
Также можно использовать :
Если в CentOS добавление пользователя в группу не срабатывает сразу же, вам может потребоваться отредактировать файл , чтобы убрать символ комментария перед именем группы:
/etc/sudoers
User Aliases
User aliases are used to specify groups of users. You can specify usernames, system groups (prefixed by a %) and netgroups (prefixed by a +) as follows:
# Everybody in the system group "admin" is covered by the alias ADMINS User_Alias ADMINS = %admin # The users "tom", "dick", and "harry" are covered by the USERS alias User_Alias USERS = tom, dick, harry # The users "tom" and "mary" are in the WEBMASTERS alias User_Alias WEBMASTERS = tom, mary # You can also use ! to exclude users from an alias # This matches anybody in the USERS alias who isn't in WEBMASTERS or ADMINS aliases User_Alias LIMITED_USERS = USERS, !WEBMASTERS, !ADMINS
Различная информация
Есть еще информации, которая может быть полезна при работе с sudo.
Если вы указали пользователя или группу, чтобы “запустить” в конфигурационном файле, вы можете выполнять команды с помощью других пользователей, с помощью флагов “-u” и “-g”, соответственно:
sudo -u run_as_user command sudo -g run_as_group command
Для удобства, по умолчанию, sudo сохранит ваши данные аутентификации в течение определенного количества времени в одном терминале. Это означает, что вам не придется вводить пароль снова, пока этот таймер не закончится.
В целях безопасности, если вы хотите очистить этот таймер, когда вы закончите работать с административными командами, вы можете запустить:
sudo -k
Если же, с другой стороны, вы хотите “prime” команду sudo, так что вам не будет предложено позже, или продлить sudo, вы всегда можете набрать:
sudo -v
Вам будет предложено ввести пароль, который будет кэшируются для последующего использования sudo, пока не истекут временные рамки sudo.
Если вам просто интересно, какие привилегии определены для вашего имени пользователя, вы можете ввести:
sudo -l
Это будет список всех правил в файле /etc/sudoers, которые применяются к вашему пользователю. Это дает вам хорошее представление о том, что вам будет или не будет позволено делать с любым пользователем sudo.
Есть много действий, когда вы будете выполнять команду, и это не получится, потому что вы забыли предварить его sudo. Чтобы избежать необходимости повторно ввести команду, вы можете воспользоваться функциональностью bash, “повторить последнюю команду”:
sudo !!
Двойной восклицательный будет повторять последнюю команду. Мы указали sudo, чтобы быстро изменить непривилегированную команду к привилегированному команде.
Вы можете добавить следующую строку в файл /etc/sudoers с visudo:
sudo visudo
/etc/sudoers
. . . Defaults insults . . .
Это приведет к тому, sudo чтобы вернуть сообщение, когда пользователь вводит неправильный пароль для sudo. Мы можем использовать sudo -k чтобы очистить предыдущий sudo кэшированный пароль, чтобы попробовать его:
sudo -k sudo ls
Добавление пользователя в группу sudo
Самый быстрый и простой способ предоставить пользователю привилегии sudo – это добавить пользователя в группу “sudo”. Члены этой группы могут выполнить любую команду как root через sudo и предложено аутентифицировать себя с помощью своего пароля при использовании sudo.
Мы предполагаем, что пользователь, которого вы хотите назначить в группу, уже существует.
Выполните приведенную ниже команду от имени пользователя root или другого пользователя sudo, чтобы добавить его в группу sudo
usermod -aG sudo username
Убедитесь, что вы изменили “username” на имя пользователя, которому вы хотите предоставить доступ.
Предоставление доступа sudo с помощью этого метода достаточно для большинства случаев использования.
Чтобы убедиться, что пользователь был добавлен в группу, введите:
sudo whoami
Вам будет предложено ввести пароль. Если у пользователя есть доступ sudo, команда выведет “root”. В противном случае вы получите сообщение об ошибке “user is not in the sudoers file”.
Запуск команды от имени другого пользователя
Первоначально это называлось «superuser do», потому что вы могли делать что-то как суперпользователь. Его область действия теперь расширена, и вы можете использовать для выполнения команды, как если бы вы были любым пользователем. Он был переименован, чтобы отразить эту новую функциональность. Теперь он называется «Заместитель пользователя».
Чтобы использовать для запуска команды от имени другого пользователя, нам нужно использовать опцию (user). Здесь мы собираемся запустить команду whoami от имени пользователя . Если вы используете команду без опции , вы запустите команду от имени пользователя .
И, конечно, поскольку вы используете вам будет предложено ввести пароль.
судо-у мэри
Ответ говорит нам, что учетная запись пользователя, выполняющего команду, является .
Вы можете использовать команду для входа в систему как другой пользователь, не зная его пароля. Вам будет предложено ввести собственный пароль. Нам нужно использовать опцию (логин).
судо -и-у мэри
PWD
кто я
ls -hl
выход
Вы вошли как . Файлы «.bashrc», «.bash_aliases» и «.profile» для учетной записи пользователя mary обрабатываются точно так же, как если бы владелец учетной записи mary зарегистрировался в себе.
- Изменения в командной строке отражают, что это сеанс для учетной записи пользователя .
- Команда сообщает, что вы сейчас находитесь в домашнем каталоге .
- сообщает, что вы используете учетную запись пользователя .
- Файлы в каталоге принадлежат учетной записи пользователя .
- Команда возвращает вас в обычный сеанс учетной записи пользователя .
8 ответов
Лучший ответ
Открыть файл
Затем добавьте пользователя ниже пользователя admin как синтаксис ниже.
21
sanath meti
14 Дек 2017 в 06:20
Это очень распространенная ошибка для начинающих. Ошибка возникает из-за того, что мы пытаемся получить доступ / обновить что-либо с привилегиями пользователя, а не root -user.
Следовательно, чтобы решить эту проблему, нам нужно внести изменения в файл sudoers, где пользователю root были предоставлены привилегии. Итак, переключитесь на пользователя root, запустите следующую команду
# vi / etc / sudoers
Редактор откроет файл, теперь прокрутите вниз до дна, где вы увидите строку
** # Спецификация привилегий пользователя
Root ALL = (ALL: ALL) ALL
Имя пользователя ALL = (ALL: ALL) ALL **
Как видите, я только что добавил свое имя пользователя со всеми разрешениями.
Сохраните файл и выйдите. Вернитесь к пользователю и начните использовать команды sudo с легкостью.
2
Sonal
20 Июл 2019 в 12:12
Оба приведенных выше ответа верны, но их проще добавить в группу sudo в системах на основе Debian (Ubuntu, kbuntu, debian и т. Д.) И в группу wheel в системах на основе RedHat (RedHat, Fedora, CentOS). , так далее)
6
Rodney Howard
14 Дек 2017 в 10:13
Добавьте своего пользователя в список sudoers. Это облегчит выполнение команд, так как созданному пользователю потребуются права администратора.
sudo adduser username sudo
(Примечание: — Имя пользователя — это пользователь, которому вы хотите предоставить привилегии)
Tej
15 Апр 2020 в 04:35
В верхней части вышеупомянутого файла есть информация:
Для того, чтобы сделать, как нам говорят, используйте:
Найдите следующий раздел файла и добавьте свои привилегии пользователей:
Сохраните файл (нажмите esc и введите , если vim — ваш текстовый редактор по умолчанию, для nano нажмите ctrl + o , enter а затем ctrl + x ).
Введите , чтобы выключить оболочку , и наслаждайтесь мощью с помощью
wscourge
9 Дек 2019 в 20:06
Получил немного другой синтаксис Родни от моего хозяина
Их объяснение было
После этого вам может потребоваться выйти из системы и снова войти в нее.
4
Robert Sinclair
9 Май 2020 в 03:50
Если вы не можете найти visudo в вашей системе
Запустите этот инструмент
Добавить эту строку под
Сохраните изменения и начните!
Eelke Johnson
11 Май 2020 в 12:19
Вы должны использовать для редактирования файла / etc / sudoers. Просто запустите и добавьте свое имя пользователя с правильным синтаксисом и правами доступа. Вы можете найти больше в
2
Viktor Khilin
14 Дек 2017 в 09:39
Три быстрых трюка sudo
Когда вы забудете добавить к команде, введите
судо !!
И последняя команда будет повторена с добавлением в начало строки.
После того, как вы использовали и аутентифицировались с вашим паролем, вам не нужно будет использовать пароль с другими командами течение 15 минут. Если вы хотите, чтобы ваша аутентификация была забыта сразу, используйте:
судо-к
Вы когда-нибудь задумывались, где можно увидеть неудачные попытки команды ? Они идут в файл «/var/log/auth.log». Вы можете просмотреть его с помощью:
меньше /var/log/auth.log
Мы можем увидеть запись для учетной записи пользователя mary, которая вошла в систему на TTY pts / 1, когда она пыталась запустить команду от имени пользователя root.
Как узнать, какие sudo полномочия имеются у пользователя
Мы только что узнали, что у определённого пользователя могут быть ограниченные полномочия на выполнение команд с sudo. Как узнать, какие именно команды может выполнить пользователь или как проверить, сработали ли наши настройки в файле /etc/sudoers?
Для вывода всех разрешённых команд или для проверки определённой команды, используется опция -l. Но если не указать опцию -U с именем интересующего пользователя, то будут выведены данные для пользователя по умолчанию (root).
Пример проверки прав sudo для пользователя admin:
sudo -l -U admin
Пример вывода:
Matching Defaults entries for admin on HackWare: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin User admin may run the following commands on HackWare: (root : ALL) /home/admin/backup.sh, /usr/bin/apt
Строка «User admin may run the following commands on HackWare» означает «пользователь admin может запускать следующие команды на HackWare».
Также можно узнать, является ли та или иная команда заблокированной или разрешённой для выполнения пользователем с sudo следующим образом:
sudo -l -U ПОЛЬЗОВАТЕЛЬ КОМАНДА
Если команда запрещена, то ничего не будет выведено:
sudo -l -U admin rm
Если команда разрешена, то будет выведен полный путь до файла:
sudo -l -U admin apt /usr/bin/apt
Разрешения sudo и Root
Мы все слышали (упрощение), что все в Linux — это файл. По правде говоря, практически все в операционной системе, от процессов, файлов, каталогов, сокетов и каналов, взаимодействует с ядром через файловый дескриптор. Таким образом, хотя все не является файлом, большинство объектов операционной системы обрабатываются так, как если бы они были. По возможности, дизайн Linux и Unix-подобных операционных систем придерживается этого принципа.
Концепция «все это файл» широко распространена в Linux. Тогда легко увидеть, как права доступа к файлам в Linux стали одной из опор пользовательских привилегий и прав . Если у вас есть файл или каталог (особый вид файла), вы можете делать с ним все, что вам нравится, включая редактирование, переименование, перемещение и удаление. Вы также можете установить разрешения для файла, чтобы другие пользователи или группы пользователей могли читать, изменять или выполнять файл. Каждый человек руководствуется этими разрешениями.
Все, кроме суперпользователя, известны как . Учетная запись является специально привилегированной учетной записью. Он не связан разрешениями ни на один из объектов в операционной системе. Пользователь root может сделать что угодно с чем угодно и в любое время.
Конечно, любой, имеющий доступ к паролю может сделать то же самое. Они могут нанести ущерб либо злонамеренно, либо случайно. На самом деле, пользователь может нанести ущерб, тоже совершив ошибку. Никто не непогрешим. Это опасные вещи.
Вот почему сейчас считается лучшей практикой вообще не входить в систему как . Войдите в систему с учетной записью обычного пользователя и используйте для повышения ваших привилегий на короткий срок, в котором они вам нужны. Часто это просто для того, чтобы выполнить одну команду.
СВЯЗАННЫЙ: Что означает «Все это файл» в Linux?
Решение проблем
Проблемы с TTY через SSH
По умолчанию SSH не выделяет tty при выполнении удалённой команды. Без tty sudo не может отключить отображение пароля при его вводе. Вы можете воспользоваться ssh опцией , чтобы заставить его выделять tty (или дважды).
опция всего лишь позволяет запускать sudo пользователям, если они имеют tty.
# Disable "ssh hostname sudo <cmd>", because it will show the password in clear text. You have to run "ssh -t hostname sudo <cmd>". # #Defaults requiretty
Показать привилегии пользователя
Вы можете узнать какими привилегиями обладает конкретный пользователь следующей командой:
$ sudo -lU имя_пользователя
Или узнать ваши собственные привилегии командой:
$ sudo -l
Matching Defaults entries for yourusename on this host: loglinelen=0, logfile=/var/log/sudo.log, log_year, syslog=auth, mailto=webmaster@gmail.com, mail_badpass, mail_no_user, mail_no_perms,env_reset, always_set_home, tty_tickets, lecture=always, pwfeedback, rootpw, set_home User yourusename may run the following commands on this host: (ALL) ALL (ALL) NOPASSWD: /usr/bin/lsof, /bin/nice, /usr/bin/su, /usr/bin/locate, /usr/bin/find, /usr/bin/rsync, /usr/bin/strace, (ALL) /bin/kill, /usr/bin/nice, /usr/bin/ionice, /usr/bin/top, /usr/bin/killall, /usr/bin/ps, /usr/bin/pkill (ALL) /usr/bin/gparted, /usr/bin/pacman (ALL) /usr/local/bin/synergyc, /usr/local/bin/synergys (ALL) /usr/bin/vim, /usr/bin/nano, /usr/bin/cat (root) NOPASSWD: /usr/local/bin/synergyc
Наложение umask
Sudo накладывает на значение umask пользователя свою собственную (которая по умолчанию установлена в 0022). Это предотвращает sudo от создания файлов с более либеральными правами доступа, чем это позволяет umask пользователя. Несмотря на то, что это разумное значение по умолчанию, если не используется измененная umask, это может привести к ситуации, когда программа, запущенная через sudo может создавать файлы с правами доступа отличными от тех, которые создаются при запуске программы непосредственно суперпользователем. Для исправления таких ошибок sudo предоставляет возможность исправить umask, даже если желаемая umask более либеральна, чем установлено в umask пользователя. Добавив такие строки (используйте ) вы измените поведение sudo по умолчанию:
Defaults umask = 0022 Defaults umask_override
Это установит sudo umask в umask суперпользователя по умолчанию (0022) и переопределит поведение по умолчанию, всегда используя указанную umask и независимо от umask пользователя.
Изменение файла Sudoers
Файл откроется в выбранном вами текстовом редакторе.
Я скопировал и вставил файл с сервера Ubuntu 18.04 с удаленными комментариями. Файл CentOS содержит намного больше строк, и некоторые из них не будут обсуждаться в этом руководстве.
/etc/sudoers
Давайте посмотрим, что делают эти строки.
Строки по умолчанию
Первая строка Defaults env_reset сбрасывает среду терминала для удаления переменных пользователя. Эта мера безопасности используется для сброса потенциально опасных переменных среды в сеансе .
Вторая строка, , предписывает системе отправлять уведомления о неудачных попытках ввода пароля для настроенного пользователя . По умолчанию это учетная запись root.
Третья строка, начинающаяся с “Defaults secure_path=…”, задает переменную (места в файловой системе, где операционная система будет искать приложения), которая будет использоваться для операций . Это предотвращает использование пользовательских путей, которые могут быть вредоносными.
Строки пользовательских привилегий
Четвертая строка, которая определяет для пользователя root привилегии , отличается от предыдущих строк. Давайте посмотрим, что означают различные поля:
-
Первое поле показывает имя пользователя, которое правило будет применять к (root).
-
Первое “ALL” означает, что данное правило применяется ко всем хостам.
-
Данное “ALL” означает, что пользователь root может запускать команды от лица всех пользователей.
-
Данное “ALL” означает, что пользователь root может запускать команды от лица всех групп.
-
Последнее “ALL” означает, что данные правила применяются всем командам.
Это означает, что наш пользователь root сможет выполнять любые команды с помощью после ввода пароля.
Строки групповых привилегий
Следующие две строки похожи на строки привилегий пользователя, но задают правила для групп.
Имена, начинающиеся с , означают названия групп.
Здесь мы видим, что группа admin может выполнять любые команды от имени любого пользователя на любом хосте. Группа sudo имеет те же привилегии, но может выполнять команды от лица любой группы.
Строка Included /etc/sudoers.d
Последняя строка выглядит как комментарий:
/etc/sudoers
Она действительно начинается с символа , который обычно обозначает комментарии. Однако данная строка означает, что файлы в каталоге также рассматриваются как источники и применяются.
Файлы в этом каталоге следуют тем же правилам, что и сам файл . Любой файл, который не заканчивается на и не содержит символа , также считывается и добавляется в конфигурацию .
В основном это нужно, чтобы приложения могли изменять привилегии после установки. Размещение всех правил в одном файле в каталоге позволяет видеть, какие привилегии присвоены определенным учетным записям, а также легко сменять учетные данные без прямого изменения файла .
Как и в случае с файлом , другие файлы в каталоге также следует редактировать с помощью команды . Для редактирования этих файлов применяется следующий синтаксис:
Выборка сводных данных (из двух и более таблиц)
При формировании сводной выборки данные беруться из нескольких таблиц. В операторе FROM исходные таблицы перечисляются через запятую. Также им могут быть присвоены алиасы. Синтаксис запроса выглядит следующийм образом:
SELECT .Название_поля1, .Название_поля2,... FROM Table1 , Table2 ...
При выборке сводных таблиц нужно учитывать, что исходные таблицы перемножаются. Т.е. если на входе у нас были таблицы:
id | Name |
---|---|
1 | Иванов |
2 | Петров |
id | Name | Phone |
---|---|---|
1 | Иванов | 322223 |
2 | Петров | 111111 |
То при простом запросе без условий
SELECT a.*, b.* FROM Table1 a, Table2 b
Получим примерно следующее:
id | Name | id2 | Name2 | Phone |
---|---|---|---|---|
1 | Иванов | 1 | Иванов | 322223 |
1 | Иванов | 2 | Петров | 111111 |
2 | Петров | 1 | Иванов | 322223 |
2 | Петров | 2 | Петров | 111111 |
Чтобы выбрать уникальные значения, нам нужно использовать оператор WHERE для связи этих таблиц
SELECT a.*, b.Phone FROM Table1 a, Table2 b WHERE a.Name=b.Name
id | Name | Phone |
---|---|---|
1 | Иванов | 322223 |
2 | Петров | 111111 |
Сводные выборки нужны при импорте данных в базу. Сначала вы выделяете из таблиц импорта словари. А потом из таблиц импорта и словарей формируете запрос для записи данных в основную таблицу.
Как наделить пользователя правами sudo
Если вам нужно, чтобы новый пользователь мог выполнять административные (root) команды, вам нужно дать этому пользователю доступ к sudo. Сделать это можно двумя путями: либо добавить этого пользователя в созданную группу пользователей, которые могут выполнять команды sudo, либо дать это право пользователю путем внесения изменений в конфигурацию утилиты sudo. Рассмотрим оба варианта.
Добавление нового пользователя в группу sudo
По умолчанию в Ubuntu 16.04 правами выполнять sudo команды обладают все пользователи, которые входят в соответствующую группу.
Для того, чтобы посмотреть, в какой группе сейчас находится созданный пользователь, используйте следующую команду:
$ groups newuser
В результате вы увидите на экране:
newuser : newuser
Потому что по умолчанию каждый новый пользователь находится в своей собственной группе, которая создается одновременно с созданием самого пользователя и имеет такое же название. Для того, чтобы добавить пользователя в другую группу, вам нужно написать в командной строке следующую команду:
$ usermod -aG sudo newuser
(Напоминаю, что вместо newuser вам нужно написать имя пользователя, которого вы хотите переместить в группу с административными правами.)
Ключ –aG нужен для того, чтобы пользователь был добавлен в одну из уже существующих в списке групп.
Проверка наличия sudo-прав
Теперь необходимо проверить, может ли ваш пользователь выполнять административные команды.
Авторизовавшись под новым пользователем, вы можете выполнять обычные команды, просто вводя их в командную строку:
$ команда
Вы можете выполнить эту же команду, но с административными правами, если напишете в начале sudo:
$ sudo команда
При этом вам нужно будет ввести пароль от аккаунта данного пользователя.
Уточнение прав пользователя в in /etc/sudoers
Альтернативным способом дать пользователю sudo-права является настройка конфигурационного файла. Вам нужно использовать команду visudo для того, чтобы открыть конфигурационный файл /etc/sudoers в выбранном по умолчанию редакторе и указать права конкретно для этого пользователя.
Рекомендуется для редактирования конфигурационного файла использовать именно команду visudo: во-первых, она защищает файл от нескольких одновременных изменений, во-вторых, проверяет синтаксис файла перед перезаписью. Благодаря этому у вас не будет ситуации, когда вы неправильно настроили sudo, а потом не можете внести нужные изменения, так как потеряли административные права.
Если в данный момент вы авторизовались под суперпользователем, введите команду:
# visudo
Если вы используете пользователя с sudo-правами, тогда нужная вам команда будет выглядеть так:
$ sudo visudo
Как правило, команда visudo открывалась /etc/sudoers в редакторе vi, что могло смутить не очень опытных пользователей. Поэтому в Ubuntu 16.04 вместо vi используется nano, инструмент, который гораздо больше знаком большинству пользователей. Используете стрелки на клавиатуре для того, чтобы найти нужную строку. Она выглядит примерно так:
root ALL=(ALL:ALL) ALL
Скопируйте этот текст чуть ниже и вместо “root” напишите имя того пользователя, которого вы хотите наделить правом выполнять sudo-команды. Это будет выглядеть примерно так:
root ALL=(ALL:ALL) ALL newuser ALL=(ALL:ALL) ALL
Для каждого нового пользователя необходимо добавлять новую строку. После того, как вы внесете все необходимые изменения, сохраните и закройте файл, нажав Ctrl-X, затем Y и Enter для подтверждения.
Как разрешить пользователи выполнять только определённые команды с sudo
Необязательно каждому пользователю разрешать любые действия с sudo. Вы можете ограничить возможности пользователя выполнением только некоторых программ.
В файл /etc/sudoers нужно добавить строку вида:
Имя_пользователя Имя_машины=(Реальный_пользователь:Группа) команда
В этой строке значения следующие:
- Имя_пользователя: Это тот пользователь, кто инициировал выполнение команды с sudo
- Имя_машины: Это имя хоста, где будет действительна команда sudo. Полезно если у вас много хостовых машин.
- (Реальный_пользователь): Тот пользователь, от чьего имени будет выполнена команда.
- Группа: группа, к которой принадлежит пользователь.
- команда: команда или набор команд, разрешённых для запуска с sudo этому Пользователю.
Предположим, я хочу разрешить пользователю admin выполнять любые команды от имени любых пользователей, тогда мне нужно добавить строку:
admin ALL=(ALL:ALL) ALL
Другой вариант, я хочу разрешить пользователю admin выполнять только команды /home/admin/backup.sh и /usr/bin/apt, и выполнять их он может только от root, тогда мне нужно добавить строку:
admin ALL=(root:ALL) /home/admin/backup.sh,/usr/bin/apt
Обратите внимание, что если команд несколько, то они перечисляются через запятую без пробела.
По умолчанию включена настройка, которая разрешает всем членам группы sudo выполнять любые команды с sudo. Эта настройка заключена в строке:
%sudo ALL=(ALL:ALL) ALL
В зависимости от дистрибутива, она же может быть записана так:
%wheel ALL=(ALL) ALL # ИЛИ %wheel ALL=(ALL:ALL) ALL
Чтобы в действительности ограничить права пользователя, нужно закомментировать эту строку, то есть поставить перед ней символ #:
#%sudo ALL=(ALL:ALL) ALL