Gestión básica de permisos basada en linux

1. Descripción general básica de los permisos

1. ¿Qué son los permisos?

我们可以把它理解为操作系统对用户能够执行的功能所设立的限制,主要用于约束用户能对系统所做的操作,以及内容访问的范围,或者说,权限是指某个特定的用户具有特定的系统资源使用权力。

2. ¿Por qué debería haber permiso?

因为系统中不可能只存在一个root用户,一定会存在多个用户,为了保护每个登陆用户的隐私和工作环境,所以就有了权限。

3. ¿La relación entre permisos y usuarios?

在Linux系统中,针对文件定义了三种身份,分别是属主(owner)、属组(group)、其他人(others),每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)。

4. ¿Cuáles son los significados de rwx en permisos?

rwxrwxrwx:
    左三位:定义user(owner)的权限
    中三位:定义group的权限
    右三位:定义other的权限
carta sentido Permisos correspondientes
r (leer) Leer permiso 4
w (escribir) Permiso de escritura 2
x (ejecutar) Autoridad de ejecución 1
-(Permiso denegado) Permiso denegado 0
注意:如果权限位不可读、不可写、不可执行,则全部使用-作为占位符

2. Ejemplo de configuración de permisos

注意:在Linux中权限对文件和对目录的影响是有不同区别的。
Autoridad Impacto en archivos Impacto en el catálogo
Leer permiso (r) Datos de archivo disponibles Puede usar el comando ls para obtener una lista de todos los archivos debajo
Permiso de escritura (w) Datos de archivo modificables Puede modificar la lista de archivos en este directorio: crear o eliminar archivos
Autoridad de ejecución (x) Este archivo se puede ejecutar como un proceso Puede acceder a este directorio y usar ls -l para obtener la información detallada de los atributos de todos los archivos

1. Comando de gestión de autoridad: chmod

方式一: 赋权表示法

[root@jiangshen ~]# touch file                    #创建文件
[root@jiangshen ~]# chmod a=rwx file              #给所有人添加读写执行权限
[root@jiangshen ~]# chmod a=-rwx file             #取消所有的权限
[root@jiangshen ~]# chmod u=rwx,g=rw,o=- file     #属主读写执行,属组读写,其他人无权限
[root@jiangshen ~]# chmod ug=rwx,o=r file         #属主属组读写执行,其他人读权限
[root@jiangshen ~]# ll file
-rwxrw-r-- 1 root root 0 Apr 13 03:29 file

方式一: 授权表示法

[root@jiangshen ~]# touch file                    #创建文件
[root@jiangshen ~]# chmod a+r file                #给所有人添加读权限
[root@jiangshen ~]# chmod a-r file                #取消所有人读的权限
[root@jiangshen ~]# chmod u+r file                #给属主添加读权限

方式二:number

#选项:  -R递归修改
[root@jiangshen ~]# touch file
[root@jiangshen ~]# chmod 644 file
[root@jiangshen ~]# chmod 600 file
[root@jiangshen ~]# ll file
-rw------- 1 root root 0 Apr 13 03:29 file
#针对目录设定权限
[root@jiangshen ~]# mkdir dir
[root@jiangshen ~]# chmod 777 dir/    #修改目录允许所有人访问
[root@jiangshen ~]# chmod -R 755 dir/ #修改目录及子目录权限
[root@jiangshen ~]# ll -d dir/
drwxr-xr-x 2 root root 6 Apr 13 03:34 dir/

3. Caso de establecimiento de permisos

1. Caso de experimento de permiso de archivo:

#1.新建文件,并添加内容至文件中,默认文件匿名用户仅有读权限
[root@jiangshen ~]# echo "date" > filename
[root@jiangshen ~]# ll filename
-rw-r--r-- 1 root root 5 Jan 24 08:24 filename

#2.切换liu普通用户
[root@jiangshen ~]# su - liu

#3.对文件拥有读取的权限,但bgx用户对文件没有执行和删除的权限
[liu@jiangshen ~]$ cat  /root/filename
date

#4.使用root增加x执行权限
[root@jiangshen ~]# chmod o+x /root/filename
[root@jiangshen ~]# ll /root/filename
-rw-r--r-x 1 root root 5 Jan 24 08:24 /root/filename

#5.测试x权限是否真的能执行该文件
[liu@jiangshen ~]$ /root/filename
Wed Jan 24 08:28:34 EST 2018

#6.增加w执行权限
[root@jiangshen ~]# chmod o+w /root/filename
[root@jiangshen ~]# ll /root/filename
-rw-r--rwx 1 root root 5 Jan 24 08:24 /root/filename

#7.测试执行权限
[liu@jiangshen ~]$ vim /root/filename

2. Caso de experimento de permiso de directorio:

#示例1: 创建目录,并在该目录下创建文件,匿名用户对目录没有w权限,对文件有777权限 
[root@jiangshen ~]# mkdir /dirname
[root@jiangshen ~]# echo "test" >> /dirname/filename
[root@jiangshen ~]# chmod 777 /dirname/filename

#普通用户验证权限,能正常查看,但无法删除[奇怪]
[liu@jiangshen ~]$ cat /dirname/filename
test
[liu@jiangshen ~]$ rm -f /dirname/filename
rm: cannot remove ‘/dirname/filename’: Permission denied

#示例2: 设置目录777权限,相当于匿名用户对目录有w权限,对文件没有任何权限
[root@jiangshen ~]# chmod 777 /dirname/
[root@jiangshen ~]# chmod 000 /dirname/filename

#普通用户验证权限
[liu@jiangshen ~]$ cat /dirname/filename
cat: /dirname/filename: Permission denied
[liu@jiangshen ~]$ rm -f /dirname/filename
[liu@jiangshen ~]$ touch /dirname/filename_2

4. Configuración del grupo de propiedad

在Linux中如何变更一个文件或者一个资源的属主和属组呢,可以使用chown、chgrp命令实现。

#chown 更改属主以及属组 -R:递归修改

#准备环境,创建文件和目录
[root@jiangshen ~]# mkdir dir/test1 && touch dir/file

#示例1: 修改所属主为bin
[root@jiangshen ~]# chown bin dir/

#示例2: 修改所属组为adm
[root@jiangshen ~]# chown .adm dir/

#示例3: 递归修改目录及目录下的所有文件属主和属组
[root@jiangshen ~]# chown -R root.root dir/

Supongo que te gusta

Origin blog.51cto.com/15048360/2561999
Recomendado
Clasificación