ACL-设置权限,selinux,网络用户介绍,nfs客户端的使用_nfs3如何设置acl-程序员宅基地

技术标签: nfs客户端的使用  网络用户介绍  玩转linux7+  ACL-设置权限  selinux  

ACL-设置权限

用ACL为用户授权

当我们需要对具体的某个用户/组,进行权限设置的时候,我们要考虑用ACL;
setfacl -m u:用户名:rw- file/dir
setfacl -m g:组名:rw- file/dir
查看权限:
getfacl file/dir
取消acl权限:
setfacl -x u:用户名 file/dir
setfacl -x g:组名 file/dir
在这里插入图片描述

设置mask权限

mask权限的作用是,临时让已经配置过acl的权限生效。
设置mask权限:setfacl -m m::r-- hosts(文件)
取消mask权限:setfacl -m u:任意一用户名即可:rw- hosts(文件)
在这里插入图片描述
针对权限,权限位—时,实际上文件还是可读的,因为other有r权限,规则是:只要mask没有设置—,则mask权限生效,如果mask设置了—,则other生效
在这里插入图片描述

设置默认权限(只能对目录执行)

设置默认权限以后,该文件后选择的所有文件权限都为该默认权限。(注:设置默认权限仅对新文件生效,之前存在的文件权限不会改变其属性。)
设置默认权限:setfacl -m d:u:用户名:rwx 文件
在这里插入图片描述
可以看到创建默认权限的时候给了x权限,但查看的时候并没有x权限,是因为创建文件的时候最多的权限是666,也就是rw,所以无论通过何种方式创建文件,都不可能有x权限的,只有后期手动的修改权限。
取消默认权限:setfacl -x d:u:用户名 文件
在这里插入图片描述

selinux

selinux工作方式

selinux是用于提高系统安全性的;
selinux会为所有的文件及进程分配一个标签,这个标签我们称之为标识,或者 上下文,只有特定的上下文的进程,才能访问特定的上下文资源。 如果上下文不匹配,即使权限是777,依然不能访问。
在这里插入图片描述
setenforce 1:开启selinux
setenforce 0:关闭selinux
systemctl stop firewalld
selinux使用方法:先开启selinux,然后安装APACHE阿帕奇(httpd)服务:yum -y install httpd,启动服务:systemctl start httpd, 启动以后打开浏览器网址栏输入该服务器ip,能正常访问内容即可:
在这里插入图片描述
现在http访问的是/var/www/html/index.html 里的文件,所以可以简单定义里面内容,然后就会正常显示啦,如,echo 11111111 > /var/www/html/index.html (也可以在/var/htm/中新建文件,然后输入网址的时候ip/新建文件名):
在这里插入图片描述

selinux的上下文

selinux会为所有的文件及进程分配一个标签,这个标签我们称之为标识,或者 上下文,只有特定的上下文的进程,才能访问特定的上下文资源。 如果上下文不匹配,即使权限是777,依然不能访问。
所以现在来说一下 上下文不匹配的情况是什么样:以上述的apache为例,在/var/www/html/**该目录下的任何文件都是可以通过浏览器正常访问的,这时候,我们在根目录下建一个www:mkdir /www ,然后 cd /var/www/html目录中,建一个/www的软连接:ln -s /www www :
在这里插入图片描述
在软连接www目录中新建index.html(默认访问该文件内容,所以该文件必须有) 并在里面写入任意内容:echo wwwwww > /www/index.html,这时候通过浏览器访问该软连接地址:
在这里插入图片描述
/var/www/html/www/index.html确实存在,为什么会Forbidden呢,这就是之前说的 上下文不一样,因为www实际是属于根目录下的www,并非/var/www/html/中的原生文件,所以解决这个问题就是,必须把上下文改成一致:
在这里插入图片描述
ps auZ |grep 服务名称:查看上下文信息
ls -ldZ 文件名:查看文件的上下文(::中间的便是上下文信息)
chcon -R -t 上下文 目录名称:修改上下文
在这里插入图片描述
修改成功以后,再次到浏览器访问该目录,即可正常访问了:
在这里插入图片描述
restorecon -R 目录名:撤销定义的上下文信息。
在这里插入图片描述
自定义文件默认的上下文信息:semanage fcontext -a -t 上下文 文件名,如:semanage fcontext -a -t httpd_sys_content_t '/www(/.)?’ ——(/.)?解释:()?代表括号里的内容可有可无,(/.*) /固定存在,.代表一个或多个,所以整体可以理解为递归/www(?前为不存在),(/.)?问号前内容存在:/www/adf,/www/adf/adf,/www/adf/adf/adf,…
在这里插入图片描述
删除自定义默认上下文:semanage fcontext -d -t 上下文 文件名
不知道上下文的情况下可以用–引用参考:chcon -R --reference=引用参考文件 文件名,如:chcon -R --reference=/var/www/html /www :
在这里插入图片描述
万能(通用)上下文,改为此以后就不存在上下文不匹配的情况了,chcon -R -t public_content_t 文件 :
在这里插入图片描述

selinux的几种模式

输入setenforce可以看到介绍selinux有1和0两种模式:
在这里插入图片描述
enforcing——强制模式,必须要满足selinux的条件,不满足的话,则阻止访问且警报。
在这里插入图片描述
permissive——允许模式,可以不满足selinux的条件,不满足也可以访问,但是有警报。
所以有时我们访问不了服务的时候,想想是不是selinux导致的,可以临时关闭selinux,就是切换到pemissive模式:setenforce 0(关闭selinux)→允许模式, setenforce 1(开启selinux) → 强制模式 , getenforce → 查看状态
在这里插入图片描述
修改selinux的默认选项:vi /etc/selinux/config 中修改SELINUX=项内容即可;
在这里插入图片描述

selinux的布尔值(真或假)

所谓的布尔值我们可以理解为一个开关功能;
getsebool -a :查看所有布尔值,其中on为启用,off为禁用
在这里插入图片描述
在没有selinux的情况下,我们要启用某服务的某功能,只要在这个服务的配置文件里配置即可,但有了selinux之后,你还得要让selinux同意开启这个功能才行;所以,需要记住一条规则,就是当我们搭建某个服务然后从客户端往这个服务里写东西写不进去的时候,请按照下面的三个步骤进行检查:
检查配置文件是否允许
检查文件系统的权限
检查selinux上下文或布尔值让以ftp为例: 先直接ftp上传任意一个文件,如果put或get后面不跟设备名,则代表当前设备名,就是使用ftp…这个设备名:
在这里插入图片描述
排查1:检查配置文件是否运行:vi /etc/vsftpd/vsftpd.conf,发些权限被关闭了,把#删掉,然后重启服务:systemctl restart vsftpd
在这里插入图片描述
现在重新上传文件,发现依然报错,只是报错与1中不一样:
在这里插入图片描述
排查2:检查文件系统的权限 ls /var/ftp -ld
在这里插入图片描述
然后ftp进入到新建的目录中重新上传文件:
在这里插入图片描述
排查3:检查selinux上下文或布尔值 → 先关闭selinux试试:setenforce 0 ,关闭后再次ftp中上传文件,可以正常上传:
在这里插入图片描述
然后把selinux开启:setenforce 1 ,然后查看布尔值:getsebool -a |grep ftp :
在这里插入图片描述
setsebool 服务 on / setsebool 服务 1:开启布尔服务(临时生效)
setsebool 服务 off / setsebool 服务 0:关闭布尔服务(临时生效)
在这里插入图片描述
setsebool - P 服务 on / setsebool 服务 1:开启布尔服务(永久生效,会自动写入进配置文件中)
setsebool -P 服务 off / setsebool 服务 0:关闭布尔服务(永久生效)
把ftp的布尔服务(2个服务连接一起的)开启:
在这里插入图片描述
因为配置文件中有说明:
在这里插入图片描述
然后在到ftp中上传文件 也是可以正常上传(为了简单起见,所以一般直接关闭selinux即可):
在这里插入图片描述
可以通过图形化配置selinux和布尔值:system-config-selinux &
安装:先通过yum查找包名:yum whatprovides */system-config-selinux
在这里插入图片描述
筛选出报名后 :yum -y install policycoreutils-gui-2.2.5-15.e18.x86_64
在这里插入图片描述
安装成功后运行:system-config-selinux &
在这里插入图片描述
在这里插入图片描述
说一个关于上下文的实例: 新增http端口号808:
因为http默认端口为80,所以可以筛选查看:netstat -nutlp | grep :80
在这里插入图片描述
vi /etc/httpd/conf/httpd.conf,然后在配置文件中 :Listen ,再该处添加一个808
在这里插入图片描述
重启服务:systemctl restart httpd ——会报错
在这里插入图片描述
查看80端口的上下文:semanage port -l | grep ‘\b80\b’
在这里插入图片描述
然后更改端口的上下文:semanage port -a -t http_port_t -p tcp 808 (把端口类型是tcp的端口号808的上下文改为http_port_t)然后重启,正常:
在这里插入图片描述
再到浏览器使用808端口访问文件,正常:
在这里插入图片描述
尝试修改ssh的默认端口为2000

网络用户介绍

查看网络用户的详细信息:getent passwd 用户名
网络用户有2种方式
1、使用LDAP客户端(使用服务器较少的场景,家目录需要手动创建)
2、配置freeIPA(域的概念,适合服务器较多的场景,可以自动给网络用户创建家目录)

nfs客户端的使用

主服务器配置

先关闭防火墙:systemctl stop firewalld
vim /etc/exports :如果里面有内容,全删除
systemctl restart nfs-server, systemctl enable nfs-server:启动nfs服务并设置为开机启动
vim /etc/exports :在里面编辑以下内容(/aa是挂载目录)
在这里插入图片描述
exportfs -arv:分享aa的内容
在这里插入图片描述

客户端配置

首先要知道服务器共享的目录是什么
showmount -e 主服务器ip (如果没有改命令:yum -y install showmount)
在这里插入图片描述
然后新建一个文件用于挂载该目录:mkdir /nfs
挂载:mount 主服务器ip:目录 /nfs 即可完成,注:挂载的该目录默认是没有写权限的
在这里插入图片描述
开机自动挂载,写进/etc/fstab中:
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cuichongxin/article/details/103402362

智能推荐

SIPP-程序员宅基地

1 安装及概述:SIPp是一个测试SIP协议性能的工具软件。这是一个GPL的开放源码软件。它包含了一些基本的SipStone用户代理工作流程(UAC和UAS),并可使用INVITE和B YE建立和释放多个呼叫。它也可以读XML的场景文件,即描述任何性能测试的配置文件。它能动态显示测试运行的统计数据(呼叫速率、信号来回的延迟,以及消息统计)。周期性地把CSV统计数据转储,在

bugku——普通的二维码(进制转换)-程序员宅基地

题目地址:http://ctf.bugku.com/files/5e480ecb178711e82bc847a208e15b32/misc80.zip就一张二维码图片,用一些在线工具识别是乱码,用QQ识别出来是用16进制编辑器打开发现末尾有段很突兀的数据,不属于bmp位图的内容,想必flag就在其中观察这段数据发现只有0-7,没有8和9,很容易想到是8进制数据...

linux命令 把文件夹拷贝一遍_Linux系统怎么复制文件夹下的全部文件到另外文件夹?...-程序员宅基地

在Linux系统中复制或拷贝文件我们可以用cp或者copy命令,但要对一个文件夹中的全部文件复制到另外一个文件夹中去,如何进行操作呢? 下面简单来介绍一下。copy命令1、copy ,cp,该命令的功能是将给出的文件或目录拷贝到另外一个文件或目录中。语法: cp [选项] 源文件或目录 目标文件或目录2、例如;在/TEST目录下新建test1和test2两个子文件夹。 假设复制源文件test1..._linux复制整个文件夹命令

Hexo命令_lvenc2后缀文件怎么打开-程序员宅基地

1、创建文章进入hexo目录下的_post目录,如D:\Hexo\Blog\source_posts。输入命令hexo new “文章标题”。在这个目录下则会出现这个文件并包含储存对应文章图片的文件夹。2、清除缓存文件 db.json 和已生成的静态文件 public进入hexo目录下的_post目录,如D:\Hexo\Blog\source_posts。输入命令hexo clean。3、生成网站静态文件到默认设置的 public 文件夹进入hexo目录下的_post目录,如D:\Hexo\Bl_lvenc2后缀文件怎么打开

好程序员web前端培训JavaScript学习笔记Promise-程序员宅基地

好程序员web前端培训JavaScript学习笔记Promise,promise 是一个 ES6 的语法  Promise表示承诺的意思,它在语法上解决了传统的多层回调嵌套问题回调函数什么是回调函数?就是把函数 A 当作参数传递到 函数 B 中在函数 B 中以行参的方式进行调用function a(cb) {cb()}​function b() {console.log(‘我是函数 b’)}​a(b)为什么需要回调函数当我们执行一个异步的行为的时候,我们需要在一个异步

JDK JRE JVM-程序员宅基地

使用java很久,但是一直不清楚JDK,JRE,JVM直接的关系,今天特地梳理一下。JDK:Java Development ToolKit(Java开发工具包),JDK是整个JAVA的核心,包括Java运行环境(Java Runtime Environment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。最主...

随便推点

视频教程-LayaAir-从零开始掌握LayaAir引擎-其他-程序员宅基地

LayaAir-从零开始掌握LayaAir引擎 精通unity游戏开发,la..._为什么laya没有教学视频

微擎服务器最好的系统是哪个,微擎用什么配置云服务器好-程序员宅基地

微擎用什么配置云服务器好 内容精选换一换介绍常见的安全组配置示例。如下示例中,出方向默认全通,仅介绍入方向规则配置方法。不同安全组内的云耀云服务器内网互通仅允许特定 IP 地址远程连接云耀云服务器SSH远程连接Linux云耀云服务器RDP远程连接Windows云服务器公网ping云耀云服务器云耀云服务器作Web服务器云耀云服务器作DNS服务器使用FTP上传或下载文件场景举例:在云耀云服务器(Hal...

Tomcat的错误 之 java.lang.IllegalArgumentException: Document base * does not exist-程序员宅基地

Tomcat的异常 之 java.lang.IllegalArgumentException: Document base有些刚开始使用的Tomcat的朋友会出现的问题,明明已经将某个web应用从tomcat下的webapps下移除了,为什么还会抛这样的异常呢?java.lang.IllegalArgumentException: Document base *** doe...

真是没想到!原来OPPO手机可以通话录音,还能一键音频转文字-程序员宅基地

使用OPPO手机的朋友越来越多了,这是因为OPPO手机越做越好了,那使用OPPO手机的朋友知道通话录音这个功能吗?这个功能可以帮你将通话内容录制下来,通常用在领导安排工作或者汇报工作中,这样就能防止遗忘领导安排的重要信息了。不过回放的时候,从头到尾听一遍还是很是麻烦,其实我们可以使用工具,将电话录音一键转为文字,这样就能节省很多麻烦了。首先开启通话录音通话录音需要在通话界面中开启,当我...

【Kotlin-JetPack】融合组件(登录注册,bottombar)_kotlin登录界面代码-程序员宅基地

全体包 implementation 'androidx.navigation:navigation-fragment-ktx:2.1.0' implementation 'androidx.navigation:navigation-ui-ktx:2.1.0' //添加anko库 implementation 'org.jetbrains.anko:anko:0.10.8' //添加ButtonBar组件 implementation 'com.roughike:_kotlin登录界面代码

如何在百度查重_百度查重拓展-程序员宅基地

又是一年毕业季,又到了写论文,论文查重的时候啦~~查重的方法有好多种,如何在百度查重呢?浏览器搜索百度学术——论文查重即可,百度学术论文查重的官网是https://xueshu.baidu.com百度学术合作的官网平台有:万方、Paperpass、PaperYY、PaperFree等6个万方数据:3元/千字;PaperPass:1.5元/千字;PaperYY:1.5元/千字;PaperFree:1.5元/千字;PaperTime:1.5元/千字;龙源期刊论文查重:_百度查重拓展

推荐文章

热门文章

相关标签