Linux的用户体系与权限

Linux的用户体系与权限,第1张

使用这个用户登录linux系统后的一般 *** 作(除sudo/su等 *** 作外)都是这个用户权限的 *** 作,包括 启动应用后,该应用具有的权限,也是和这个用户一致的 。Linux每个进程都是以某个用户身份运行, 进程的权限与该用户的权限一样,用户的权限越大,则进程拥有的权限就越大 。用户本身对系统的权限在创建用户时设置,也可后续更改(如不能登录等等)。

查看所有用户信息。

Linux权限授权,默认是授权给三种角色,分别是user、group、other。三种角色对目录的权限:chmod 设置数字权限4,2,1,分别对应的是r,w,x,即可读,可写,可执行。 对目录设置权限时,可以加-R递归参数。可以对文件的这三个角色进行目录读写可执行授权, 如图 。

以上图所示,第一组为文件所有者的权限,第二组为文件所属组的权限,第三组为其他人的权限。其表示的具体含义为:文件所有者具有对文件的读写权限,文件所属组的用户具有对文件读写的权限,而其他人只有读取文件的权限。

文件的所有者

文件的所有者一般是创建该文件的用户,对该文件具有完全的权限。在一台允许多个用户访问的 Linux 主机上,可以通过文件的所有者来区分一个文件属于某个用户。当然,一个用户也无权查看或更改其它用户的文件。

文件所属的组

假如有几个用户合作开发同一个项目,如果每个用户只能查看和修改自己创建的文件就太不方便了,也就谈不上什么合作了。所以需要一个机制允许一个用户查看和修改其它用户的文件,此时就用到组的概念的。我们可以创建一个组,然后把需要合作的用户都添加都这个组中。在设置文件的访问权限时,允许这个组中的用户对该文件进行读取和修改。

其他人

如果我想把一个文件共享给系统中的所有用户该怎么办?通过组的方式显然是不合适的,因为需要把系统中的所有用户都添加到一个组中。并且系统中添加了新用户该怎么办,每添加一个新用户就把他添加到这个组中吗?这个问题可以通过其他人的概念解决。在设置文件的访问权限时,允许其他人户对该文件进行读取和修改。

授权完各个角色的权限,那么怎么更改文件所属的角色。如下:

更改文件拥有者: chown 账号名称 文件或目录

更改文件所属用户组:chgrp 组 目录或文件名

web目录权限设置参考 。 注意Web服务器各自的运行用户如果要对web目录进行 *** 作,也必须得到web目录的rwx授权才可以。

linux里面如何让某个程序以某个用户来运行?比如让mysql程序用mysql用户去运行。让httpd用httpd用户去运行。

文件的特殊权限有三种:1、suid2、sgid3、sticky,其中,suid和sgid用于累加提升权限,简单来说就是如果原来的用户可以访问,反而切换到的用户或者组不能访问,这时候照样是可以访问的,下面介绍下这三种权限。SUID:1、需要注意的是,只对二进制可执行程序有效,不能为普通文件2、发起者对程序文件必须拥有执行权限3、启动为进程之后,其进程的宿主为源程序文件的宿主4、SUID设置在目录上毫无意义。SGID:可以应用在二进制文件和作用在文件夹下,当作用在二进制文件下时,作用和SUID相似,只不过SUID是把发起者临时变为文件的所有者,而SGID是把进程的发起者变成源程序文件的属组,默认情况下,用户创建文件时,其属组为此用户所属的主组,当SGID作用在目录下时,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组,通常用于创建一个协作目录。Sticky:默认情况下用户可以删除具有写权限的目录中的任何文件,无论该文件的权限或拥有权,如果在目录设置Sticky位,只有文件的所有者或root**可以删除该文件,Sticky位是作用在文件夹的,设置在文件上毫无意义。

首先我们讲讲linux 权限问题。

linux权限从左至右,第一位数字代表文件所有者的权限,第二位数字代表同组用户的权限,第三位数字代表其他用户的权限。

而具体的权限是由数字来表示的。

读取的权限等于4,用r表示;

写入的权限等于2,用w表示;

执行的权限等于1,用x表示;

我们可以通过4、2、1的组合,得到以下几种权限:

0(没有权限);

4(读取权限);

5(4+1 | 读取+执行);

6(4+2 | 读取+写入);

7(4+2+1 | 读取+写入+执行)

以755为例: 第一位7等于4+2+1,rwx,所有者具有读取、写入、执行权限;

第二位5等于4+1+0,r-x,同组用户具有读取、执行权限但没有写入权限;

第三位5,同上,也是r-x,其他用户具有读取、执行权限但没有写入权限。

下面列出常用的linux文件权限:

444 r--r--r-- 所有组只有读取权限

555 r -xr -xr -x 所有组都是读取和执行权限

666 rw-rw-rw- 所有组只有读取和写入权限

777 rwxrwxrwx 所有组都有读取和写入和执行权限

600 rw------- 第一个组有读取和写入权限

644 rw-r--r-- 所有组都有写入和读取权限,第一个组有读取和写入权限

700 rwx------ 第一个组有读写执行权限其它没有权限

744 rwxr--r-- 第一个组有读写执行权限 第二第三有读取和写入权限

写了这么多 可能有错 自己检查下吧。就是自己组合下!今天就讲到这里!

755 rwxr-xr-x

基本上就是全部开放读写执行 *** 作权限……

一个文件有三个权限,分别是读、写和执行,它们对应的数分别是4、2和1。

如果某个用户只有读权限没有写和执行权限当然就是4,如果三个如果有读和执行权限就是5(4+1)……所以有全部权限就是7了。

而一个文件或文件夹面对的用户分三类:所属用户、所属用户的组其他用户以及组外用户。

所以777三个数字就是对应这三个用户对象全部都有读、写、执行权限。

如果是所属用户有全部权限,组员有读和执行权限,而组外用户只有读权限,那数字应该就是754……


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

原文地址: https://outofmemory.cn/yw/7282076.html

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

发表评论

登录后才能评论

评论列表(0条)

保存