linux 只给用户访问的权限,作业:Linux用户及权限管理

本文分为两部分:第一部分先介绍用户与权限的各种观念

第二部分再集中介绍一下相关命令

个人理解的用户,文件,与进程关系之间的关系如下:(以下的文件不包含目录)

e651420d597b7cbc0c60cd85b8024ba5.png

用户通过对该文件的权限来操作文件,使文件在进程中运行,此时用户的作用可表现为进程的发起者

查看文件的权限可通过以下命令执行

ls -l :查看当前目录中的文件与目录的详细信息:

b661587ced7fc73bae022d26c339533a.png

在查询结果中可查看当前目录下的详细文件信息:

首先看一下查询结果中的第一部分:-rw-r--r-- 在这里我们可以获取到的信息由文件的格式与权限信息

第一个 “ - ” 表示的是该文件的类型 :

-常规文件

d目录文件

b块设备文件

c字符设备文件

l符号链接文件

p命名管道

s套接字文件

剩余部分每三个字符为一组 分别表示三个用户类别的权限:用户权限,组权限,其他权限

用户与组的组成关系如下图

a14d25d8141592cb8c2467fc522c2c2e.png

每一组权限由三个字符组成:r--可读,w--可写,x--可执行

举例: 一个文件信息中第一部分为: -rwxrw-r--

代表该文件为普通文件      rwx:属主对其可执行的权限

rw-:属组可执行的权限

r--:其他用户可执行的权限 --其他用户:既不是该文件的属主,也不属                       于该文件的组的用户

在文件详细信息中,第二列 第三列的 分别表示该文件的属主与属组

之后分别是文件的大小,创建日期,文件名

接下来就要详细说明一下关于用户,组的信息与概念

每个用户,组都有一个唯一的ID   命令id可查看当前登录的用户信息

b2bba6c183963bfe008dc1d3d2264f31.pngID解析库(信息库)

用户UID/etc/passwd  密码存放的位置为/etc/shadow:

组GID/etc/group:

用户UID中 管理员用户为0 ,系统用户为1~499(CentOS6.7),普通用户为500~60000

组GID中 管理员组为0,系统用户组为1~499(CentOS6.7),普通用户为500~6000

进程是以发起者的身份运行。即 进程对文件的访问权限取决于发起进程的用户/用户所属组的权限

什么是系统用户?

在系统中的后台进程和服务类进程都需要以用户的身份运行,如果以管理员身份运行的话有可能会对系统造成危险。所以需要一组普通用户来运行,此类用户不需要登录系统。--这就称之为系统用户

用户的私有组:组名与用户名一样,且只包含一个用户。在我们创建新用户时系统会默认的给我们创建一个同名的用户组

密码:输入 chage -l username 可以看到指定用户的密码信息

2c3421bcf5e970309219700c7e1c787f.png

自上而下分别为:最后一次的密码更改时间。密码过期时间。非活动时间。账户过期时间。两次密码改变之间最小距离天数。最大天数。密码过期前开始警告的天数

在非活动时间内:账户依然存在,不过必须要在修改了密码后才能继续使用

在账户过期之后就只能以管理员的身份来解决

查看组的信息库: /etc/group

0f76ff27dcfbd3460e200f298ad36e16.png

查看用户的信息库:  /etc/passwd

7ad0e28a79c4b575655228e9f4ed2b1a.png

用户名:密码:UID:GID:注释信息:家目录:默认shell

其中密码是独立存放于 /etc/shadow中的

9bb6b90d450ce6bfb2e3e55b692d11d1.png

其中$6$中6表示该密码采用了 sha-512(86位)的算法 其他加密算法有:

1:MD5(22位)

2a:Blowfish--只在一部分linux分支中使用的加密算法

5:SHA-256(43位)

在设置密码时为了安全:1.使用随机码

2.最短长度不要低于8位

3.使用大写/小写字母,数字,标点符号中至少三类

4.定期更换

接下来就介绍一下linux用户与权限管理中常用到的命令:

ps:只介绍了命令中的部分参数选项,详细的参数及使用方法可以自行man COMMAND查看

更换用户: su

管理员在切换其他用户的时候可以无需密码直接登录

su username  :非登录式切换 不会读取用户目标的配置文件进行初始化

su - username :登录式切换 通过重新读取用户的配置文件来重新初始化

-c ,--command : 需要用某个用户来执行命令。但不想切换到该用户的时候可以用这个选项

cc36ab8d3a9b4d3d4c9815d157193be8.png

像我这个样门都没入的新手看来这个选项目前是不知道有什么意义。

创建新用户: useradd    useradd [选项] logname

常见的选项有:

-u:制定uid 默认情况下uid是自动分配的。id=最后一个UID+1

-g:制定基本组ID 此组必须要事先存在

-G:知名用户的附加组

-c:注释信息

-d:指明家目录

-s:制定默认shell

-r:创建系统用户

修改用户属性: usermod    usermod [选项] username

-u:修改id为指定id

-g:修改用户的基本组,指定的组必须事先存在

-G:修改附加组。会默认覆盖用户原来的附加组。若是想追加用户组可用-a选项一起使用

-c:修改注释信息

-l:修改用户名

-L:锁定用户。禁止登录。-原理为在用户的密码字符串中首部加一个!

-U:解锁用户

userdel:删除用户

-r:删除用户时把用户的家目录一起删除 默认情况下不删除家目录

groupadd: 添加组

groupmod:修改组的选项

groupdel:删除组

由于这三条命令使用方法与用户的添加修改删除差不多。所以就不需要举例。可自行查看帮助手册

对组的成员用户进行操作: gpasswd     gpasswd [选项] group

-a username: 像组中添加用户

-d username: 从组中移除用户

newgrp:临时切换为制定的组为基本组     newgrp [-] [group]

-:模拟用户重新登录-重新初始化其工作环境

文件权限管理部分的常用命令:

在这里需要注意一件事 : 那就是用户只能修改属主为自己的权限

进程对文件的访问权限应用模型:

进程的属主与文件的属主是否相同:如果相同则应用属主权限进行,否则则看发起者是否属于文件的属组

属于属组则使用属组权限 否则使用其他权限文件目录

r可获取文件的数据可使用ls获取其下所有文件列表

w可修改文件的数据可修改此目录的文件列表 即创建和删除 包括他的子目录

x可执行,默认情况下任何文件都不该有执行权限可移动到此目录中。并且可获取所有文件的详细属性信息

修改文件(目录)的权限:chmod 修改目录时只影响目录本身

有三种格式的用法:

1.chmod [option] ...mode[,mode,mode]...file

991b6d8b32c0c97820d8c98a2c55baad.png

f64d24f6e68c38e915a03a3217bcd318.png

在图1中 是直接覆盖之前的权限。如果只需要添加或者删除某一个权限就可以用+(添加)或-      (删除)来组合使用

u 用户 g组 o 其他用户  ugo可单独使用也可以组合使用

2.chmod [OPTION]... OCTAL-MODE FILE...

现在就要讲一下文件权限的另一种表示方法

f5debaba2c3dcf9db25807bf5120e697.png

6fcb95b47715486d48c4be9c26958c9d.png

如果把我们输入  chmod 22 file 没有给出3位数看看是什么结果

c1217b2e2eb5208967917f7c8a3a2376.png

从结果中可以知道在没有给三位出的情况下会默认往首位填0  即 22=022

3.chmod [OPTION]... --reference=RFILE FILE.

chmo --reference=file1 file2把2的权限改为和1一样

-R,--recursive: 递归修改:修改目录下的所有目录,子目录 文件。

修改文件的属主: chown

chown [OPTION]... [OWNER][:[GROUP]] FILE...OWNER:GROUP或OWNER.GROUP皆可

chown [OPTION]... --reference=RFILE FILE...

-R:递归修改

修改文件的属组:chgrp

在创建文件的时候之所以会有默认权限。是因为umask存在

umask:件权限的反向掩码,遮罩码:防止创建出来的文件/目录为777

umask有个默认值 022

由于文件不应该有执行权限 所以: 666-umask就是创建文件时的默认权限

如果最后运算所得的结果为3/5等带有执行权限的。就会+

如666-043=623 就会+1得 624

目录中是: 777-umask

d35c8c7131c1f0ad048fd245da89f00a.png

但是实际上当我们查看umask值得时候看见的是0002四位数.

左边多出来的那一位代表的就是文件的   SUID,SGID,STYCKY属性

SUID:当用户在运行某程序时 对该文件拥有SUID权限时.该用户不是运行的发起者. 文件会以自己的属主为发起者

设置:chmod u+s

user位的x位置为s时.代表别的用户能以该用户的权限运行文件

应用: /bin/passwd

c2add84a6b92447cf1e684d5a9497dcf.png

虽然test用户不是passwd的属主/属组. 但是依然能执行该文件修改自己的密码

SGIDchmod g+s

目录属组有写权限,而且有SGID权限时.那么所有属于此目录的属组.且以属组身份再次目录中心创建文件或目录时新文件的属组不是用户的基本组:而是此目录的属组.

STYCKYchmod o+t

对于属组或全局可写的目录.组内的所有任务或系统上的所有用户在此目录中都能创建新文件或删除所有的已有文件.如果为此类目录设置Sticky权限.则每个用户能创建新文件,且只能删除自己的文件.

效果:只要该目录有t位. 别人不能删掉  即使是有读权限也不能删除  只有该文件拥有者可以删除

一般与SGID一起使用.在共享文件夹中的应用

a30a6927bce998ab493f7a76709c502b.png

facl 文件访问控制列表

facl可理解为对不属于文件属主/属组的用户/组赋予与文件属主/属组权限无关的单独授权

2a2286486a74d4d64180ba31cc795068.png

getfacl:查看某文件的列表:

getfacl FILE

user:USERNAME:MODE

group:GROUPNAME:MODE

setfacl命令:

setfacl -m u:USERNAME:MODE FILE...

-m g:GROUPNAME:MODE FILE...

撤销赋权:

setfacl -x u:USERNAME:MODE FILE...

-x g:GROUPNAME:MODE FILE...

否定优先级最高: 一个用户在a b两个组   ab两个组都是文件A的特权组  此时 该用户执行A文件的时候 是执行否定级的   即 a组 ---  b组 rwx 时  该用户对该文件的权限是---

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值