在Fedora中如何授予权限给用户使用Docker

在Fedora中如何授予权限给用户使用Docker

本文翻译自Daniel J Walsh的一篇开源文章:http://opensource.com/business/14/10/docker-user-rights-fedora
在Docker-dev邮件列表,有人问有关描述了如何将用户添加到Docker组的Fedora文档。用户希望让他的用户做一个Docker搜索,试图找到他们可以使用的镜像。

从有关Fedora的docker安装文档

授予用户权限的使用Docker

Fedora的19和20随Docker0.11。如果你还在使用0.11版本的包已经更新到1.0的Fedora20,您将需要授予权Docker的用户。

docker命令行工具,通过接触被一群Docker拥有的套接字文件/var/run/docker.sockdocker守护进程。其中一个必须是该组的成员,以便联系docker-d进程。

幸运的是,这个文件是有点错了,你还需要将用户添加到Docker组,以便他们使用Docker从非root帐户。我希望所有的发行有这样的政策。

在Fedora和RHEL我们对docker.sock以下权限:

# ls -l /run/docker.sock
 srw-rw----. 1 root docker 0 Sep 19 12:54
 /run/docker.sock

这意味着,只有Docker组中的root用户或用户可以向此套接字。此外,由于Docker运行asdocker_t,SELinux的防止全密闭域连接到此docker.sock。

从Docker无授权控制

Docker目前没有任何授权控制。如果你可以跟docker插座或Docker监听网络端口上,你可以谈论它,你可以执行所有Docker命令。

例如,如果我添加“dwalsh”的Docker组我的机器上,我可以执行。

> docker run -ti --rm --privileged --net=host -v /:/host fedora /bin/sh
 # chroot /host

在这一点上你,或具有这些权限的任何用户,都有你的系统上完全控制。

将用户添加到该Docker组应被视为一样加入:

USERNAME= ALL(ALL)NOPASSWD:ALL

到/ etc/ sudoers文件。用户运行任何应用程序在他的机器上能够成为root,即使没有他知道。我相信,一个更好更安全的解决方案是编写脚本,允许用户要允许访问。

cat /usr/bin/dockersearch
 #!/bin/sh
 docker search [email protected]

然后设置sudo:

USERNAME ALL=(ALL) NOPASSWD: /usr/bin/dockersearch

我希望最终加入某种授权数据库来Docker,让管理员可以配置哪些命令,你会允许用户执行,以及容器中,你可能会允许他们开始/停止。

首先消除执行Docker运行--privileged或Docker运行--cap,删除是在正确的方向迈出了一步的能力。但是,如果你看过我的其他职位,你知道,需要更多的工作要做,以使容器中包含

作者最初发布的www.projectatomic.io为“授予用户权限在Fedora中使用Docker。”

本文翻译自Daniel J Walsh的一篇开源文章:http://opensource.com/business/14/10/docker-user-rights-fedora

时间: 2024-10-11 22:23:01

在Fedora中如何授予权限给用户使用Docker的相关文章

oracle创建用户、授予权限及删除用户1

oracle创建用户.授予权限及删除用户 创建用户 oracle对表空间 USERS 无权限 alter user 用户名 quota unlimited on users; //创建临时表空间 create temporary tablespace test_temp tempfile 'E:/oracle/product/10.2.0/oradata/testserver/test_temp01.dbf' size 32m autoextend on next 32m maxsize 204

Oracle_创建用户_授予权限

Oracle_创建用户_授予权限 --创建用户,需要足够的权限  create create user hzf identified by hzf;    --给用户bjsxt分配权限  grant grant connect,resource to hzf; grant dba to hzf; --撤销权限 revoke revoke connect,resource from hzf;   --删除用户 drop user hzf;   权限 权限指执行特定类型SQL 命令或访问其他对象的权

oracle创建用户、授予权限及删除用户

创建用户 oracle对表空间 USERS 无权限 alter user 用户名 quota unlimited on users; //创建临时表空间 create temporary tablespace test_temp tempfile 'E:/oracle/product/10.2.0/oradata/testserver/test_temp01.dbf' size 32m autoextend on next 32m maxsize 2048m extent management

Security5:授予权限

SQL Server授予用户访问对象的权限,通常的模式是:Grants permissions on a securable to a principal(user or login),也就是说,授予权限的命令分为三部分:Permission,Securable 和 Principal,用一句话来解释这三个概念:授予 Principal 操作 Securable 的 Permission.Principal是被授予权限的主体,是被授与者(Grantee),是Login,User或Role.Sec

oracle角色、权限和用户

oracle角色.权限和用户 [转贴 2010-1-25 10:29:45]  字号:大 中 小 Oracle内置角色connect与resource的权限 首先用一个命令赋予user用户connect角色和resource角色: grant connect,resource to user; 运行成功后用户包括的权限: CONNECT角色: --是授予最终用户的典型权利,最基本的 ALTER SESSION --修改会话 CREATE CLUSTER --建立聚簇 CREATE DATABAS

一个用户下表、批量授予权限给另一个用户

工作中经常会用到一个用户对另外一个用户下表的操作,遇到批量的授权或回收权限可以用如下语句执行就可以了,一般是授予 select\update\delete\insert 也可以用 grant all 表示所有 对存储过程的授权为 grant execute on 过程 to 用户 如果加 with grant option 当前被授权的用户则可以再授予给其他用户 以下是示例,实际工作中根据情况进行修改即可 --批量授予与收回 --授予 查询 插入 权限 declare cursor cur_a

[权限相关]在PeopleSoft中查找可以使用DataMover的用户

DataMover是一个功能非常强大的工具,它的访问权限应该被控制,特别是在PRD环境中.在每个公司,许多用户可能在一段时间内切换部门,角色和职责,所以每隔一段时间就应该检查这些用户的权限,以确认他们没有任何不需要访问的权限. 下面一些sql语句可以帮助理解与检查拥有DateMover权限的用户. SQL1:该SQL可以查询出能够使用DataMover的用户列表. SELECT DISTINCT ROLEUSER  FROM PSROLEUSER A WHERE A.ROLENAME IN   

此操作只能由 SQL Server 中拥有配置数据库读取权限的用户在已加入到某个服务器场的计算机上执行

错误提示:此操作只能由 SQL Server 中拥有配置数据库读取权限的用户在已加入到某个服务器场的计算机上执行.若要将此服务器连接到服务器场,请使用 SharePoint 产品配置向导,该向导可从 Microsoft SharePoint 2010 产品的“开始”菜单启动. 问题原因:服务器场系统域帐号webrun密码已过期. 解决办法:设置该系统域帐号密码永不过期.

使用MySQL命令行新建用户并授予权限的方法

MySQL命令行能否实现新建用户呢?答案无疑是肯定的.而且在使用使用MySQL命令行新建用户后,还可以为用户授予权限. 首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的.注:本操作是在WIN命令提示符下,phpMyAdmin同样适用.用户:phplamp用户数据库:phplampDB 1.MySQL命令行新建用户 //登录MYSQL@>mysql -u root -p@>密码//创建用户mysql> insert into mysql.user(