Delete every users from a group
I search a clean way to delete every users from the 'sudo' group. On several distributions the user created during the installation process has sudo rights, I don't want this. I search for an automated method working for (nearly) every situations.
Basically, I want to empty a group.
To remove every users : GROUP=my_group; for u in $(getent group $GROUP | sed -e 's/^.*:.*:.*://' -e 's/,/ /g'); do echo gpasswd --delete $u $GROUP; done
This command line works :
1. if the group doesn't exist
2. if the group is empty
3. if the group contains one user
4. if the group contains several users
So everything is okay. But is their something simplier ?
Another way is to delete the group, and recreate it. Ugly ?
bash users group
add a comment |
I search a clean way to delete every users from the 'sudo' group. On several distributions the user created during the installation process has sudo rights, I don't want this. I search for an automated method working for (nearly) every situations.
Basically, I want to empty a group.
To remove every users : GROUP=my_group; for u in $(getent group $GROUP | sed -e 's/^.*:.*:.*://' -e 's/,/ /g'); do echo gpasswd --delete $u $GROUP; done
This command line works :
1. if the group doesn't exist
2. if the group is empty
3. if the group contains one user
4. if the group contains several users
So everything is okay. But is their something simplier ?
Another way is to delete the group, and recreate it. Ugly ?
bash users group
How about just deleting the group and then recreating it?
– jordanm
Dec 18 '12 at 19:32
Either make sure you have the root password set, or better leave at least one user in the sudo group that can keep this privilege. Also make sure you have an extra open root shell when experimenting with this, so you can always revert your changes.
– jippie
Dec 18 '12 at 19:35
Consider updating/etc/login.defs
with your preferred defaults for future new users.
– jippie
Dec 18 '12 at 19:39
add a comment |
I search a clean way to delete every users from the 'sudo' group. On several distributions the user created during the installation process has sudo rights, I don't want this. I search for an automated method working for (nearly) every situations.
Basically, I want to empty a group.
To remove every users : GROUP=my_group; for u in $(getent group $GROUP | sed -e 's/^.*:.*:.*://' -e 's/,/ /g'); do echo gpasswd --delete $u $GROUP; done
This command line works :
1. if the group doesn't exist
2. if the group is empty
3. if the group contains one user
4. if the group contains several users
So everything is okay. But is their something simplier ?
Another way is to delete the group, and recreate it. Ugly ?
bash users group
I search a clean way to delete every users from the 'sudo' group. On several distributions the user created during the installation process has sudo rights, I don't want this. I search for an automated method working for (nearly) every situations.
Basically, I want to empty a group.
To remove every users : GROUP=my_group; for u in $(getent group $GROUP | sed -e 's/^.*:.*:.*://' -e 's/,/ /g'); do echo gpasswd --delete $u $GROUP; done
This command line works :
1. if the group doesn't exist
2. if the group is empty
3. if the group contains one user
4. if the group contains several users
So everything is okay. But is their something simplier ?
Another way is to delete the group, and recreate it. Ugly ?
bash users group
bash users group
asked Dec 18 '12 at 19:16
Gregory MOUSSATGregory MOUSSAT
762924
762924
How about just deleting the group and then recreating it?
– jordanm
Dec 18 '12 at 19:32
Either make sure you have the root password set, or better leave at least one user in the sudo group that can keep this privilege. Also make sure you have an extra open root shell when experimenting with this, so you can always revert your changes.
– jippie
Dec 18 '12 at 19:35
Consider updating/etc/login.defs
with your preferred defaults for future new users.
– jippie
Dec 18 '12 at 19:39
add a comment |
How about just deleting the group and then recreating it?
– jordanm
Dec 18 '12 at 19:32
Either make sure you have the root password set, or better leave at least one user in the sudo group that can keep this privilege. Also make sure you have an extra open root shell when experimenting with this, so you can always revert your changes.
– jippie
Dec 18 '12 at 19:35
Consider updating/etc/login.defs
with your preferred defaults for future new users.
– jippie
Dec 18 '12 at 19:39
How about just deleting the group and then recreating it?
– jordanm
Dec 18 '12 at 19:32
How about just deleting the group and then recreating it?
– jordanm
Dec 18 '12 at 19:32
Either make sure you have the root password set, or better leave at least one user in the sudo group that can keep this privilege. Also make sure you have an extra open root shell when experimenting with this, so you can always revert your changes.
– jippie
Dec 18 '12 at 19:35
Either make sure you have the root password set, or better leave at least one user in the sudo group that can keep this privilege. Also make sure you have an extra open root shell when experimenting with this, so you can always revert your changes.
– jippie
Dec 18 '12 at 19:35
Consider updating
/etc/login.defs
with your preferred defaults for future new users.– jippie
Dec 18 '12 at 19:39
Consider updating
/etc/login.defs
with your preferred defaults for future new users.– jippie
Dec 18 '12 at 19:39
add a comment |
2 Answers
2
active
oldest
votes
In general you shouldn't delete a group because some files may belong to that group but it may be sufficient for your specific sudo usecase.
A more general usecase is to use gpasswd (1)
at it allows you to set the members of a specific group, so it should be enough to run:
gpasswd sudo -M ''
To only run this if the group sudo exists you can combine it with a getent call, i.e.:
getent group sudo && gpasswd sudo -M ''
Does this cover cases where sudo is a primary group for some users?
– Nils
Dec 21 '12 at 21:57
@Nils no asgpasswd
is used to manage/etc/group
but the primary group is specified in/etc/passwd
– Ulrich Dangel
Dec 21 '12 at 23:23
add a comment |
There's another simplier way with /usr/sbin/groupmems
groupmems -p -g group_to_clean
All members will be removed from the group.
Tested in CentOS.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f58801%2fdelete-every-users-from-a-group%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
In general you shouldn't delete a group because some files may belong to that group but it may be sufficient for your specific sudo usecase.
A more general usecase is to use gpasswd (1)
at it allows you to set the members of a specific group, so it should be enough to run:
gpasswd sudo -M ''
To only run this if the group sudo exists you can combine it with a getent call, i.e.:
getent group sudo && gpasswd sudo -M ''
Does this cover cases where sudo is a primary group for some users?
– Nils
Dec 21 '12 at 21:57
@Nils no asgpasswd
is used to manage/etc/group
but the primary group is specified in/etc/passwd
– Ulrich Dangel
Dec 21 '12 at 23:23
add a comment |
In general you shouldn't delete a group because some files may belong to that group but it may be sufficient for your specific sudo usecase.
A more general usecase is to use gpasswd (1)
at it allows you to set the members of a specific group, so it should be enough to run:
gpasswd sudo -M ''
To only run this if the group sudo exists you can combine it with a getent call, i.e.:
getent group sudo && gpasswd sudo -M ''
Does this cover cases where sudo is a primary group for some users?
– Nils
Dec 21 '12 at 21:57
@Nils no asgpasswd
is used to manage/etc/group
but the primary group is specified in/etc/passwd
– Ulrich Dangel
Dec 21 '12 at 23:23
add a comment |
In general you shouldn't delete a group because some files may belong to that group but it may be sufficient for your specific sudo usecase.
A more general usecase is to use gpasswd (1)
at it allows you to set the members of a specific group, so it should be enough to run:
gpasswd sudo -M ''
To only run this if the group sudo exists you can combine it with a getent call, i.e.:
getent group sudo && gpasswd sudo -M ''
In general you shouldn't delete a group because some files may belong to that group but it may be sufficient for your specific sudo usecase.
A more general usecase is to use gpasswd (1)
at it allows you to set the members of a specific group, so it should be enough to run:
gpasswd sudo -M ''
To only run this if the group sudo exists you can combine it with a getent call, i.e.:
getent group sudo && gpasswd sudo -M ''
answered Dec 18 '12 at 19:35
Ulrich DangelUlrich Dangel
20.3k25771
20.3k25771
Does this cover cases where sudo is a primary group for some users?
– Nils
Dec 21 '12 at 21:57
@Nils no asgpasswd
is used to manage/etc/group
but the primary group is specified in/etc/passwd
– Ulrich Dangel
Dec 21 '12 at 23:23
add a comment |
Does this cover cases where sudo is a primary group for some users?
– Nils
Dec 21 '12 at 21:57
@Nils no asgpasswd
is used to manage/etc/group
but the primary group is specified in/etc/passwd
– Ulrich Dangel
Dec 21 '12 at 23:23
Does this cover cases where sudo is a primary group for some users?
– Nils
Dec 21 '12 at 21:57
Does this cover cases where sudo is a primary group for some users?
– Nils
Dec 21 '12 at 21:57
@Nils no as
gpasswd
is used to manage /etc/group
but the primary group is specified in /etc/passwd
– Ulrich Dangel
Dec 21 '12 at 23:23
@Nils no as
gpasswd
is used to manage /etc/group
but the primary group is specified in /etc/passwd
– Ulrich Dangel
Dec 21 '12 at 23:23
add a comment |
There's another simplier way with /usr/sbin/groupmems
groupmems -p -g group_to_clean
All members will be removed from the group.
Tested in CentOS.
add a comment |
There's another simplier way with /usr/sbin/groupmems
groupmems -p -g group_to_clean
All members will be removed from the group.
Tested in CentOS.
add a comment |
There's another simplier way with /usr/sbin/groupmems
groupmems -p -g group_to_clean
All members will be removed from the group.
Tested in CentOS.
There's another simplier way with /usr/sbin/groupmems
groupmems -p -g group_to_clean
All members will be removed from the group.
Tested in CentOS.
edited Jun 11 '16 at 6:46
LukeM
3,44932140
3,44932140
answered Jun 11 '16 at 3:22
danielfcanddanielfcand
61
61
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f58801%2fdelete-every-users-from-a-group%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
How about just deleting the group and then recreating it?
– jordanm
Dec 18 '12 at 19:32
Either make sure you have the root password set, or better leave at least one user in the sudo group that can keep this privilege. Also make sure you have an extra open root shell when experimenting with this, so you can always revert your changes.
– jippie
Dec 18 '12 at 19:35
Consider updating
/etc/login.defs
with your preferred defaults for future new users.– jippie
Dec 18 '12 at 19:39