linux如何将一个文件设置为多个人拥有或者同一组内只让某两个用户有删除权限?

linux如何将一个文件设置为多个人拥有或者同一组内只让某两个用户有删除权限?,第1张

想要设置文件权限,首先要确认必须使用这个文件的创建者(所有者)的账号。\x0d\x0a1,如果这个两个用户是输入不同用户组的,比如是用户名为root(等同于windows的管理员账户),使用命令\x0d\x0a[xuwangcheng14@root]# id root[xuwangcheng14@root]# uid=0(root) gid=0(root) groups=0(root)root为root用户组。假如root为文件的创建者,另外两个用户分别为jees和miss,jees组别为root组,miss组别为http组,\x0d\x0a这样来说jees对于root是同组的,用字母g(group)表示;\x0d\x0amiss对于root是其他组的,用户字母o(other)表示\x0d\x0aroot自身则用u(user)表示。\x0d\x0a这样就好办了,使用chmod命令可以对 不同组别的用户对于文件添加或者减少权限:\x0d\x0ax: execute(执行权限)r: read(读权限)w: write(写权限)\x0d\x0a[xuwangcheng14@root]# chmod 754 ./mydir -R改变一个文件的权限: chmod mode file|dir \x0d\x0a改变所有子目录的权限: chmod mode dir -R (注意后面加了个-R参数 )参数就是权限模式 mode = 777 or 752 ,666,,, mode 的三个数字,分别表示user,group,others所具有的权限。 1 = x 执行 2 = w 写 4 = r 读,比如user具有所有权限,1+2+4=7, 又比如group 具有读 和执行权限 1+4 =5。\x0d\x0a这样就能改变两个不同用户对同一目录下的文件的权限。\x0d\x0a\x0d\x0a2,如果这两个用户是属于同一组(相对于文件所有者的组\x0d\x0ajess为http组,miss为users组,\x0d\x0a可以通过改变文件属主来使两个用户为不同的用户组:\x0d\x0a[xuwangcheng14@root]# chown -R jess.http ./mydir[xuwangcheng14@root]# chmod 754 ./mydir -R第一个命令改变了mydir目录下所有文件的所有者为http组的jess,\x0d\x0a第二条命令和上面的是一样的。

linux *** 作系统是多用户管理系统,管理起来非常麻烦,所以用组的概念来管理用户就变的简单多了, 一个用户可以属于多个组,一个组可以有多个用户,用户和组是多对多的关系。

linux的多用户多分组管理系统都是针对 文件 来说的, 每个文件都有所属的用户和所属的分组。

linux系统是根据用户UID来识别用户的,并不是根据用户名。linux用户分为以下3种

每行数据为一个用户,可以看到红色部分为root超级用户,蓝色部分为系统用户,绿色部分为普通用户。

我们可以看到该文件属于root用户和root组。然后root用户权限是rw-,root组内成员的权限是r--,而其他用户的权限是r--。由于其他用户的权限都是r--,所以任何用户都是可以读的。

在/etc/group文件中存储着系统的所有组,查看文件内容,如下图

大致分为4段

我们可以看到图中mail分组的第4段有值为postfix,也就是postfix用户应该有俩个分组,一个初始组和一个附属组,我们执行以下命令验证

用户密码文件shadow和组密码文件gshadow的权限都是000,所有其他用户是不能查看的,只有root用户才可以查看,root用户也是不能修改该文件的。

使用 whoami 命令查看。

postfix用户有俩个所属组postfix和mail。由此可见, uid是指用户id(用户名称),gid是指初始组id(初始组名称),groups是指包括初始组在内的所有组id(所有组名称)

我们知道了/etc/group文件的第四段为 组内成员 ,所有我们可以通过 grep 来匹配相关组。比如查询mail组内的所有成员,命令如下, 可以看到mail组内有mail,postfix和tom3个用户。

上面是一种方法,我们也可以直接使用命令来查看。

添加用户只能root用户来添加,普通用户没有权限,添加用户有俩种方式

在centos系统下,这俩种方式没有区别, 都会在/home下自动创建与用户名同名的用户目录,且都是需要使用 passwd userName 命令来设置用户密码的,只有设置完密码后才可以正常登录。

在unbantu系统下,这俩种方式是有区别的,使用 useradd userName命令 不会在/home下自动创建与用户名同名的用户目录,且不会自动选择shell版本,后续也是需要使用 passwd username来设置密码的 。 而使用 adduser userName 命令的话 是会在/home目录下自动创建与用户名同名的用户目录,也会自动选择shell版本,且会自动提示输入用户密码,对用户比较友好,后续不需要在使用passwd来设置密码。

删除用户,并不会删除用户相关的文件

删除用户且一起删除家目录

格式如下:

参数如下:

-g 指定组(只有root可以使用)

-a 指定用户加入组

-d 从组中删除该用户

-p 从组中清楚所有成员

-l 显示组成员列表

linux中每个文件都是有权限的。 每个文件都有自己的所属用户和所属组,且拥有所属用户权限,所属组权限和其他权限3种。

权限一般分为读,写,执行3种,通过这样的机制来限制哪些用户或用户组可以对特定文件进行相应的 *** 作。

目录有x权限才可以cd进入该目录。目录有r权限才能在该目录中使用ll或者ls查看目录。一个目录中的文件能否被删除或者创建取决于该目录是否有w权限。

执行ll命令后显示如下,我们解读一下

从左到右发现一共有7段

然后执行如下命令

test文件的权限改为

常用的参数为 -R ,常用于修改目录权限,该参数表示为该目录以及目录下的所有子文件都修改为相同的权限。

然后执行如下命令

再次查看test文件

常用的参数为 -R ,常用于修改目录,该参数表示为该目录以及目录下的所有子文件都修改为相同的用户及用户组。

想切换到root用户,直接使用su命令即可

可以利用linux用户组和权限分配来实现。

linux下面的权限是这样表示的(通过ls

-ltr

可列出):

d|rwx|rwx|rwx

第一个d

表示是一个目录,

后面的三段分别表示:

第一段

是指

owner

属主的读、写、执行权限

第二段是指

group

的读、写、执行权限;

第三段是指

other

的读、写、执行权限

r=4

w=2

x=1

可以使用

chmod

754

/xxx/yyy

则可使用yyy目录的权限变成:

drwxrw-r--

即目录所有者具有读写执行权限,同组人员具有读写无执行权限,其他人只有读的权限。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8965729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存