Я активировал пользователя root в человечности и хочу использовать человечность в качестве сервера без DE. Для этого я хочу отключить sudo полномочие, данное первому пользователю. Как я могу сделать это из командной строки? Я знаю, что могу использовать GUI, но как сделать это из командной строки?
У рассматриваемого пользователя есть sudo полномочия, потому что это находится в admin
группа. Как wojox прокомментировал, Вы могли использовать visudo
и удалите sudo полномочия из группы admin, но это удалило бы sudo возможности от всех членов группы admin не только один пользователь.
С другой стороны, можно удалить пользователя из группы admin. Если ориентированный экран vi
считается командной строкой достаточно, выполняется vigr
и удалите имя пользователя из соответствующей строки.
Для "чистого" решения для командной строки попробовать gpasswd
, поскольку это администрирует/etc/group и может добавить и удалить пользователей из групп.
root@toki:~# id -Gn username
username adm dialout cdrom plugdev lpadmin admin sambashare
# ^- the group to remove
root@toki:~# gpasswd -d username admin
Removing user username from group admin
root@toki:~# id -Gn username
username adm dialout cdrom plugdev lpadmin sambashare
# ^- username not a member
root@toki:~# gpasswd -a username admin
Adding user username to group admin
root@toki:~# id -Gn username
username adm dialout cdrom plugdev lpadmin admin sambashare
Ниже мой первый ответ, прежде чем я понял, что был менее немой способ сделать это.
Если Вы хотели бы более сложный способ сделать это, можно использовать usermod
.
Вот кавычка от usermod
страница справочника:
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
A list of supplementary groups which the user is also a member of.
Each group is separated from the next by a comma, with no intervening
whitespace. The groups are subject to the same restrictions as the
group given with the -g option.
If the user is currently a member of a group which is not listed, the
user will be removed from the group. This behaviour can be changed via
the -a option, which appends the user to the current supplementary group
list.
Таким образом, необходимо указать все группы для пользователя за исключением admin
.
root@toki:~# id username
uid=1000(username) gid=1000(username) groups=1000(username),4(adm),20(dialout),24(cdrom),46(plugdev),111(lpadmin),119(admin),122(sambashare)
root@toki:~# usermod -G 4,20,24,46,111,122 username
root@toki:~# id username
uid=1000(username) gid=1000(username) groups=1000(username),4(adm),20(dialout),24(cdrom),46(plugdev),111(lpadmin),122(sambashare)
Наконец, это нарушает дух вопроса, но можно было ввести users-admin
из командной строки для изменения пользователей и групп.
Carefull, можно заблокировать себя из нашей системы этот путь! Всегда удостоверяйтесь, что пользователь root сохраняет свои права, и можно получить доступ к нему. Сохраните корневой терминал открытым заранее, таким образом, можно отменить изменения. Тестовые настройки в другом терминале прежде, чем закрыть Ваш корневой терминал!
Как описано в другом ответе.Править /etc/sudoers
путем вызова visudo в оболочке:
sudo select-editor # this is optional. it will allow you to select your default editor in shell
sudo visudo
Затем измените строку, которая говорит что-то подобное этому:
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
к этому:
# root may gain root privileges
root ALL=(ALL) ALL
Или удалите строку, если Вы уверены, Ваша учетная запись пользователя root включена.
Пользователь по умолчанию является членом 'администраторской' группы. Если Вы preferre это, Вы могли бы точно также отменить пользовательское членство в той группе. Сделайте это, перейдя по моей последней ссылке или удалите его имя из строки admin:x:120:defaultuser
в /etc/group
файл:
cp -n /etc/group /etc/group.bak && \
sed -i 's/\(admin:x.*\)defaultuser\(.*\)/\1\2/g' /etc/group
Независимо от того, что мудрость может быть найдена в вышеупомянутых ответах, я решил проблему включения корневой учетной записи и отключения sudo для указанного пользователя следующим образом.
Сначала включите корневую учетную запись:
$ sudo passwd root
Больше информации в Документации Ubuntu.
Затем:
Это:
$ su
# cp /etc/group /etc/group.bak
# nano /etc/group # find a line like 'sudo:x:27:guest', remove the
# user name (i.c. 'guest') and save the file
# exit,
$ [try any sudo command]
Пользователь 'гость' теперь удален из sudoers файла. Если бы все подходили, то любая команда sudo должна возвратить сообщение подобное из этого:
guest is not in the sudoers file. This incident will be reported.
Гость, входящий в систему на этом компьютере, больше не может случайно или охотно смешивать с системой, так как необходимо быть корнем, чтобы сделать так. Конечно, если Вы добавите нового пользователя, то необходимо будет повторить редактирование/etc/group.
Удачи!
- linuxrev
(Ubuntu 12.04)