不管对于Linux或者windows来说,权限都是非常重要的一个环节。如果一个账号没有任何权限,那么他就相当于是一个摆设,放在那么没什么作用。那么如果说是一个超级管理员拥有所有的全选呢?那么属于为所欲为了!

1、权限介绍

在Linux中分别有:读、写、执行的权限

读权限:
对于文件夹来说,读权限影响用户是否可以列出目录结构
对于文件来说,读权限影响用户是否可以读取文件的内容
写权限:
对于文件夹来说,写权限影响用户是否可以在文件夹下:创建、删除、移动到、复制到文档
对于文件来说,写权限影响用户是否可以编辑文件的内容
执行权限:
一般都是对于文件来说,特别是脚本文件夹
对于文件来说,执行权限影响用户是否可以运行
对于文件夹来说,执行权限影响用户是否可以在文件夹内执行指令

2、身份介绍




设置sudo权限 sudo文件夹权限_linux 全选


3、Linux的权限查看

drwxr-xr-x .5 root root 4096 2月 16 19:44 . //一个标准的权限组成结构
// 只看着前面的10位组成。
// 第1位表示文件的类型,常见取值 d表示文件夹 -表示文件。只有第一"-"表示文件后面的9位"-"表示没有权限
// 第2-4位表示文件所有者身份权限的控制,取值r表示读取w表示写入x表示执行,如果是-表示没有权限。
// 第5-7位表示同组用户权限的控制,取值r表示读取w表示写入x表示执行,如果是-表示没有权限。
// 第8-10位表示其他用户的权限控制,取值r表示读取w表示写入x表示执行,如果-表示没有权限。
注意:除了rwx之外还有s、t(黏贴位,特殊权限位),权限控制的顺序不允许改变必须为rwx

4、权限设置


设置sudo权限 sudo文件夹权限_设置sudo权限_02


设置多个身份的权限时候,每个身份之间需要通过英文逗号分开。

案例:设置文件“~/php.txt”权限,要求所有者全部权限,同组用户拥有读权限、写权限,其他人拥有读权限


设置sudo权限 sudo文件夹权限_linux sudo权限_03


设置sudo权限 sudo文件夹权限_linux 修改文件夹权限_04


扩展:

在Linux系统中,创建文档的权限有一个默认值,以当前的系统为例,其创建文件夹之后的默认权限是755,创建文件之后的权限是644。

之所以会这样是受到了系统中umask(掩码)的值的影响,其是用于指定文档创建好之后的权限,umask默认为022。

5、属主与属组

属主:所属的用户(文件的所有者)

属组:所属的用户组(同组用户的组名称)


设置sudo权限 sudo文件夹权限_linux 全选_05


设置sudo权限 sudo文件夹权限_linux 全选_05


这两项信息在文档创建的时候会使用创建者的信息(用户名、用户所属的主组名称)。

之所以需要设置这个:如果有时候去删除某个用户,则该用户对应的文档的属主和属组信息就需要去修改(类似离职之前的工作交接)。

5.1、chown

作用:更改文档的所属用户(change owner)

语法:#chown [-R] 新的username 文档路径

[ root@locahost 桌面] # chown [-R] 新的username 文档路径
// -R还是表示的文件夹注意:修改所有者的人必须是root或者所有者自己,其他人无权修改所有者.

注意:修改所有者的人必须是root或者所有者自己,其他人无权修改所有者。

5.2、chgrp

作用:更改文档的所属用户组(change group)

语法:#chgrp [-R] groupname 文档的路径

6、sudo

在Linux中只有最高权限root才有reboothaltinit权限,普通用户如果也想拥有root账号操作命令,使用sudo就能解决这个问题。sudo能让root事先定义的特殊命令谁都能执行。默认的sudo文件是除了root以外没有别的用户配置(事先放权规则)

Sudo配置文件:/etc/sudoers

该文件默认只读,不允许修改,因此不能直接修改。

a. 配置sudo文件请使用“#visudo”,打开之后其使用方法和vim一致

[ root@locahost 桌面] # visudo
//即可打开sudoers操作方式与vim一致,进入visodu后使用数字 + gg快速定位到98行
98行数据: root ALL=(ALL) ALL
root:表示用户,如果是用户组,则需要写成"%组名"
ALL:表示运行登录的主机
(ALL):表示以谁的身份执行,ALL表示root
ALL:表示当前用户执行的命令,多个命令用,分隔
添加一行sodo权限的配置,让此用户可以添加用户
admin ALL=(ALL) /usr/sbin/useradd

注意:在写sudo权限规则的时候,不建议直接写命令而是写命令的完整路径。使用which 指令名称 查看命令的完整路径

注意:在我们修改完sudoers后,如果需要使用指令需要在执行的指令前加上sudo才能执行,不然执行不了

注意:如果需要查看当前用户可以执行那些指令 sudo -l即可查看