Linux中将⽤户添加到组的指令
在 Linux 操作系统下,如何添加⼀个新⽤户到⼀个特定的组中?如何同时将⽤户添加到多个组中?⼜如何将⼀个已存在的⽤户移动到某个组或者给他增加⼀个组?对于不常⽤ Linux 的⼈来讲,记忆 Linux 那繁多的命令⾏操作真是件不容易的事。
在 Linux 中,增加⽤户或改变⽤户的组属性可以使⽤useradd或者usermod命令。useradd增加⼀个新⽤户或者更新默认新⽤户信息。usermod则是更改⽤户帐户属性,例如将其添加到⼀个已有的组中。
在 Linux ⽤户系统中存在两类组。第⼀类是主要⽤户组,第⼆类是附加⽤户组。所有的⽤户帐户及相关信息都存储在/etc/passwd⽂件
中,/etc/shadow和/etc/group⽂件存储了⽤户信息。
⽬录 Contents
useradd ⽰例 – 增加⼀个新⽤户到附加⽤户组
新增加⼀个⽤户并将其列⼊⼀个已有的⽤户组中需要⽤到useradd命令。如果还没有这个⽤户组,可以先创建该⽤户组。linux登录命令
命令参数如下:
useradd -G {group-name} username
例如,我们要创建⼀个新⽤户 cnzhx 并将其添加到⽤户组 developers 中。⾸先需要以 root ⽤户⾝份登录到系统中。先确认⼀下是否存在developers 这个⽤户组,在命令⾏输⼊:
# grep developers /etc/group
输出类似于:
developers:x:1124:
如果看不到任何输出,那么就需要先创建这个⽤户组了,使⽤groupadd命令:
# groupadd developers
然后创建⽤户 cnzhx 并将其加⼊到 developers ⽤户组:
# useradd -G developers cnzhx
为⽤户 cnzhx 设置密码:
# passwd cnzhx
为确保已经将该⽤户正确的添加到 developers ⽤户组中,可以查看该⽤户的属性,使⽤id命令:
# id cnzhx
输出类似于:
uid=1122(cnzhx) gid=1125(cnzhx) groups=1125(cnzhx),1124(developers)
前⾯命令中⽤到的⼤写的 G (-G)参数就是为了将⽤户添加到⼀个附加⽤户组中,⽽同时还会为此⽤户创建⼀个属于他⾃⼰的新组cnzhx。如果要将该⽤户同时增加到多个附加⽤户组中,可以使⽤英⽂半⾓的逗号来分隔多个附加组名(不要加空格)。例如,同时将cnzhx 增加到 admins, ftp, www, 和 developers ⽤户组中,可以输⼊以下命令:
# useradd -G admins,ftp,www,developers cnzhx
useradd ⽰例 – 增加⼀个新⽤户到主要⽤户组
要增加⽤户 cnzhx 到组 developers,可以使⽤下⾯的指令:
# useradd -g developers cnzhx
# id cnzhx
输出类似于:
uid=1123(cnzhx) gid=1124(developers) groups=1124(developers)
请注意如前⾯的⽰例的区别,这⾥使⽤了⼩写字母 g (-g)作为参数,此时⽤户的主要⽤户组不再是 cnzhx ⽽直接就是 developers。
⼩写字母 g (-g)将新增加的⽤户初始化为指定为登录组(主要⽤户组)。此组名必须已经存在。组号(gid)即是此已有组的组号。
usermod ⽰例 – 将⼀个已有⽤户增加到⼀个已有⽤户组中
将⼀个已有⽤户 cnzhx 增加到⼀个已有⽤户组 apache 中,使此⽤户组成为该⽤户的附加⽤户组,可以使⽤带 -a 参数的usermod指令。-a 代表 append,也就是将⽤户添加到新⽤户组中⽽不必离开原有的其他⽤户组。不过需要与 -G 选项配合使⽤:
# usermod -a -G apache cnzhx
如果要同时将 cnzhx 的主要⽤户组改为 apache,则直接使⽤ -g 选项:
# usermod -g apache cnzhx
如果要将⼀个⽤户从某个组中删除,则
gpasswd -d user group
但是这个时候需要保证 group 不是 user 的主组。
附:管理⽤户(user)和⽤户组(group)的相关⼯具或命令
1)管理⽤户(user)的⼯具或命令
useradd 注:添加⽤户
adduser 注:添加⽤户
passwd 注:为⽤户设置密码
usermod 注:修改⽤户命令,可以通过usermod 来修改登录名、⽤户的家⽬录等等;
pwcov 注:同步⽤户从/etc/passwd 到/etc/shadow
pwck 注:pwck是校验⽤户配置⽂件/etc/passwd 和/etc/shadow ⽂件内容是否合法或完整;
pwunconv 注:是pwcov 的⽴逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow ⽂件;
finger 注:查看⽤户信息⼯具
id 注:查看⽤户的UID、GID及所归属的⽤户组
chfn 注:更改⽤户信息⼯具
su 注:⽤户切换⼯具
sudo 注:sudo 是通过另⼀个⽤户来执⾏命令(execute a command as another user),su 是⽤来切换⽤户,然后通过切换到的⽤户来完成相应的任务,但sudo 能后⾯直接执⾏命令,⽐如sudo 不需要root 密码就可以执⾏root 赋与的执⾏只有root才能执⾏相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不⽤这个命令,直接⽤vi 来编辑 /etc/sudoers 的效果是⼀样的;
sudoedit 注:和sudo 功能差不多;
2)管理⽤户组(group)的⼯具或命令
groupadd 注:添加⽤户组;
groupdel 注:删除⽤户组;
groupmod 注:修改⽤户组信息
groups 注:显⽰⽤户所属的⽤户组
grpck
grpconv 注:通过/etc/group和/etc/gshadow 的⽂件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv 注:通过/etc/group 和/etc/gshadow ⽂件内容来同步或创建/etc/group ,然后删除gshado
w⽂件;
将⼀个⽤户添加到某个组,即可让此⽤户拥有该组的权限。⽐如在的时候,运⾏⽹站的 apache ⽤户修改的⽂件,如果服务器管理⽤户cnzhx(可以通过 ssh 登录到服务器)需要修改此⽂件的话,就可以将 cnzhx 加⼊到 apache 组中达到⽬的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论