对文件目录设置acl权限
发表于|更新于
|浏览量:
尽管 sudo 可以设置某个用户有特殊权限,确实会增大这个用户的权限。
为了限制这个特殊目录只有特定用户可以读,您可以对特殊用户设置目录访问控制列表 acl。
以 user 用户为例,这样设置之后可以实现只有 user 用户可以对这个目录有读权限,其他普通用户无权限
setfacl -m u:user:r– /目录名/文件名
如果想要一次设置可以添加 -R 参数 递归设置整个目录,以及整个目录下的所有文件
setfacl -R -m u:user:r– /目录名/
这样就可以保证某个特殊普通用户对这个目录有可读权限
如果这个目录需要 user 用户可以 cd 进入的话,设置时可以增加大写 X 参数,设置 acl 的时候,大写 X 表示遇到目录给执行权限,遇到文件对象不给执行权限
setfacl -m u:user:r-X /目录名/
setfacl -m u:user:r-X /目录名/文件名
这样设置,可以让 user 用户能 cd 进入特殊目录
文章作者: Michael Pan
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael Blog!
相关推荐
2020-05-20
Openshift结合IaaS的LB与Nginx实现高可用可伸缩外部负载均衡器
背景 Openshift在集群部署时需要额外提供一个负载均衡器,该负载均衡器对master api及router haproxy中的80与443服务进行负载,实现高可用。 如果在IaaS上部署Openshift集群的话,我们很自然地会使用IaaS的LB服务,直接对LB作TCP端口负载就解决问题了,既实现了需要的负载均衡,而且还有健康检查,负载高可用,非常方便。 但是我们的Openshift集群并不是部署在IaaS上,而是额外部署。IaaS上的LB无法直接将集群中的服务器作为监听器的后端进行负载,这时我们就需要在Openshift集群下额外独立部署负载均衡器。考虑到保证负载均衡器的高可用性,及监控等,这会是一个比较复杂的过程。 那么我们是否可以结合IaaS上的LB现有的机制,制定一套既方便部署,又高可用的方案呢?答案是肯定的。 该篇就是介绍如何结合IaaS的LB与代理应用Nginx实现Openshift高可用的外部负载均衡 原理 负载均衡器应用,首先大家想到的最多的两款应用是:Nginx与Haproxy,我们选用了Nginx。 将IaaS的LB与Nginx结合的思路也很简单。在I...
2020-05-20
Openshift3-9上部署Prometheus+Grafana实现集群的监控与告警
Openshift从3.9版本开始官方支持Prometheus和Grafana 从官方部署脚本 openshift-ansible 中的目录playbooks下的列表 中可以看到相关部署脚本openshift-prometheusopenshift-grafana 既然官方支持,部署安装就十分简单了。 部署安装Prometheus /etc/ansible/hosts添加配置 12[OSEv3:vars]openshift_hosted_prometheus_deploy=true 执行安装 1ansible-playbook playbooks/openshift-prometheus/config.yml 打开宿主机的9100端口(kubernetes-nodes-exporter) 1ansible all -m shell -a 'iptables -A OS_FIREWALL_ALLOW -p tcp -m state --state NEW -m tcp --dport 9100 -j ACCEPT; servic...

2020-05-20
Openshift上使用shell-operator创建自己的operator
shell operator是由Falnt公司开发并开源的。Flant公司是一家致力于提供解决所有基础设施问题的解决方案的公司。他们自称是提供DevOps-as-a-Service的服务。 需求 一个简单的任务:监听项目创建与删除事件,并发出告警。 一种简单的解决方法:定时脚本cron,每隔一段时间(如1min)获取对Openshift集群的所有项目,并将它与上次获取的结果值进行比较,得到新创建的项目及删除的项目该方法的缺点: 不及时 性能差,很多时候并没有操作项目,但仍然需要不断执行脚本 如果1min内即创建了新项目,又把这个项目删除了,则无法监测到 另一种解决方法:事件驱动,即订阅来自Kubernetes对象的事件,如果有对Project操作就触发告警。很明显这种方法解决了定时任务的所有问题。 该很么做呢?会不会非常复杂。不会。使用shell-operator项目就可以非常简单地实现。shell-operator项目地址:https://github.com/flant/shell-operator 实现部骤 创建shell-operator项目 1$ oc n...
2020-05-20
OpenShift-4-3部署安装(国内需要使用科学上网支持)
准备好本机访问科学上网环境 安装pip软件 1$ yum install python2-pip 安装shadowsocks包 1pip install shadowsocks -i https://pypi.douban.com/simple 编辑文件/etc/shadowsocks.json 123456789101112$ cat > /etc/shadowsocks.json <<EOF{ "server":"shadowsocks的IP", "server_port":8388, "local_address": "0.0.0.0", "local_port":1080, "password":"fuuuuuuuuuuuuckgfw", "timeout":300, "method&q...

2020-05-20
OpenShift-集群为项目提供专属节点
背景介绍在生产实践中,某些系统因一些特殊的要求,需要独占节点,即专属节点:具有特殊要求的应用POD必须运行在这些专属节点上;同时这些节点不为其它应用服务。本文将提供一种具体的配置策略,以满足这种特殊的调度需求。该策略主要使用到两种工具: 节点标签实现应用与节点的绑定 污点配置实现其它应用不会被调度到该节点。 设置步骤 为专属节点设置特定标签LABEL:dedicated=sys0,及设置污点 12$ oc label node node-10 dedicated=sys0$ oc adm taint nodes node-10 dedicated=sys0:NoSchedule 在使用专属节点的应用编排中绑定的Node 123456789101112spec: replicas: 1 template: metadata: name: nginx labels: app: nginx spec: nodeSelector: dedicated: "sys0" ...
2020-05-20
自定义Service添加到Openshift中的Prometheus
prometheus.yml中定义了keep, drop, update等状态1234567891011121314151617181920212223242526272829303132333435363738394041424344- job_name: 'kubernetes-service-endpoints' tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt # TODO: this should be per target insecure_skip_verify: true kubernetes_sd_configs: - role: endpoints relabel_configs: # only scrape infrastructure components - source_labels: [__meta_kubernetes_namespace] action: keep rege...
