linux-user-group设置

Linux系统中关于user和group的设置

在linux系统使用中对于目录的权限的管理越发的重要,有时候老板会提出/data1目录只有user01和user02有权限访问;/data2目录只有user02和user3有权访问;/data3目录只有user01和user03有权访问。如果您的老板提出这些问题,那么接下来的内容可以很好的帮您解决这些棘手的问题。

在linux中,分为用户和组两个概念。组(group)包含1个或多个用户(user),每个用户(user)至少在一个组(group)中。

关于组分为两类,第一类是主要用户组,第二类是附加用户组。关于用户账户及相关信息都存储在/etc/passw文件中,/etc/shadow和/etc/group文件存储了用户信息。

  • 增加一个新用户到附加用户组
    新增一个用户并将其添加到一个已有的用户组中,需要使用的命令useradd。如果没有这个用户组,可以先创建用户组。
    命令格式如下:
useradd -G {group-name} username

例如,创建一个新用户tony,将其添加到用户组IPD1中。
首先需要使用root身份登录系统中,先确认是否存在IPD1这个用户组,命令如下

grep IPD1 /etc/group

输出信息类似于

IPD1:x:1025

如果看不到任何输出,说明系统中还未创建IPD1这个用户组,需要使用groupadd命令创建用户组,命令如下

groupadd IPD1

然后创建用户tony,并将其加入到IPD1用户组

useradd -G IPD1 tony

为用户tony创建密码

passwd tony

两次输入密码即可
为确保已经将tony用户正确的添加到IPD1用户组中,可以查看该用户的属性,使用命令id,命令格式如下

id tony

输出信息类似于

uid=1021(tony) gid=1023(tony) groups=1023(tony),1025(IPD1)

该案例中使用的命令useradd,该命令的选项-G,是为将用户添加到一个附加用户组中,而同时还为此用户创建属于他自己的新组tony。如果将该用户同时添加到多个附加用户组中,可以使用英文逗号来分割,例如将tony添加到ftp,www,layou用户组中,命令如下

useradd -G ftp,www,layout tony
  • 增加一个新用户到主要用户组
    前面提到在创建用户时会自动的创建一个主要用户组,这是默认情况。其实可以指定该用户的主要用户组的。命令如下
useradd -g IPD1 tony
id tony

输出信息如下

uid=1021(tony) gid=1025(IPD1) groups=1025(IPD1)

请注意与前面的示例的区别,这里使用的参数是-g,此时的用户tony的主要用户组不在是tony,而是指定的用户组IPD1
小写字母-g将新增的用户初始化为指定登录组(主要用户组)。此组名必须已经存在。组号(gid)即是此已有组的组号。

  • 将一个已有用户增加到一个已有用户组中
    将一个已有用户tony增加到一个已有用户组IPD2中,使此用户组成为该用户的附加用户组,可以使用带-a参数的usermod 命令。
    -a代表append,也就是将用户添加到新用户组中而不必离开原有的其他用户组。不过需要与-G选项配合使用
usermod -a -G IPD2 tony

如果要同时将tony的主要用户组修改成IPD2,直接使用-g选项

usermod -g IPD2 tony

如果要将一个用户从某个组中删除,则

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 ,然后删除gshadow文件;

备注:参考https://www.cnblogs.com/ronghui/p/8944804.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值