我正在编写一个 setuid 根程序。这个程序需要打开一个文件进行写入,然后写入一些内容。它只需要 euid 0 来打开文件,然后它就可以删除权限。
要删除权限,我可以将 seteuid 设置为当前 uid。但我正在考虑切换到nobody:nogroup。
现在,我想知道:我可以假设每个系统上没有人是 65534(而且 nogroup 也是 65534)?它是否由某些标准(POSIX,也许)定义?
要改变hardlimit for nice,我可以修改/etc/security/limits.conf
user - nice -11
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能为ionice做同样的事情
ionice -c 1 -p 31828
Run Code Online (Sandbox Code Playgroud)
我收到了错误
ionice: ioprio_set failed: Operation not permitted
Run Code Online (Sandbox Code Playgroud) 我应该首先说我认为自己是一个熟练的用户.但是今天我需要自动化这个并且被困住了.
让我们假设我是root用户,因此我能够遍历整个文件系统,但我不能运行"sudo"或"su".
我有一个给定的用户和一个给定的路径.
如何通过CLI检查用户是否能够读取和/或写入路径?
我知道这听起来很容易,但请记住:
我假设这不能通过任何命令完成,我需要首先收集所有用户组,然后遍历路径的整个层次结构,检查路径上的读取权限,然后读取和写入最终目录.听起来非常昂贵.

我已经研究了以下现有的SO问题及其引用的链接:
用户''在Windows 8上没有所需的权限,SSRS 2008
SQL Server R2 SSRS上的Reporting Services权限
SQL Server报告服务 - 服务管理器错误 - 用户没有必需的权限


我已经采取了这些建议的解决方案已经概述的步骤,但即使在所有这些以及退出和重新登录之后,一切都没有改变.实际上,在我开始执行此操作之前,我的用户名已被列为系统管理员.
其中一个解决方案(http://thecodeattic.wordpress.com/category/ssrs/)还提到了一个"文件夹设置"区域,您可以在其中指定用户的角色 - "内容管理器","发布者","浏览器", "报告构建器"和"我的报告" - 但我没有看到在任何地方导航到此部分的方法.
有任何想法吗?谢谢!
我是.NET,MVC和Identity Framework的新手.我注意到身份框架允许通过注释保护单个控制器操作.
[Authorize]
public ActionResult Edit(int? Id){
//edit action
}
Run Code Online (Sandbox Code Playgroud)
我想根据用户权限确保某些操作.
示例:只有创建博客文章的用户才能编辑的博客应用程序.
考虑到这一点,是否可以执行以下任一选项?如果是这样,是否有关于如何最好地实现的资源和示例?
[Authorize(Entity = "Entry", Permission = "Edit", Id = Id)]
public ActionResult Edit(int? Id){
//edit action
}
Run Code Online (Sandbox Code Playgroud)
要么
[BlogEntryPermission(Permission = "Edit", Id = Id)]
public ActionResult Edit(int? Id){
//edit action
}
Run Code Online (Sandbox Code Playgroud)
Id从请求中捕获博客的位置.
基于许可的身份验证的任何信息或方向都将非常受欢迎.在此先感谢您的帮助.
我正面临着如何根据从服务器获取的远程数据实现路由限制的问题.
假设我有以下配置文件:
angular.module('myApp')
.config(['$stateProvider', function($stateProvider) {
$stateProvider
.state('post', {
url: '/post/:post_id',
abstract: true,
[...]
})
.state('post.view', {
url: '/view'
[...]
})
.state('post.edit', {
url: '/edit'
[...]
})
}]);
Run Code Online (Sandbox Code Playgroud)
我的申请要求是:
帖子有所有者(帖子的创建者),其域名可以是公共的或私有的.
如果域是公共的,则每个用户都可以看到帖子(进入状态post.view),如果不是(域是私有的),只有所有者才能看到它.
post.edit只有业主才能进入该州.
要做到这一点,最好的方法是什么?
我正在考虑有一个解决承诺,从服务器(post的域和通讯用户角色)获取数据,执行所需的检查并相应地返回(承诺已解决或拒绝).
但是,如果他没有被授权,我将如何将用户重定向到正确的状态?例如,如果帖子的域是公共的,则尝试访问该post.edit状态的普通用户应该被重定向到该post.view状态...但是如果帖子的域是私有的,则应该呈现未授权的访问页面.在决心上直接做到这一点是一个好方法吗?有哪些替代方案?
我们将服务器从 2005 年迁移到 2014 年,用户可以在 2005 年服务器中删除它但在 2014 年我们收到错误,因为没有权限或不退出我们已经授予相同的权限,甚至他是系统管理员。在我们的应用程序方面,他们无法删除应用程序用户通过我们数据库中的用户连接的视图,他拥有所有权限并且他是 sysyadmin
我是Kubernetes的新手,正在尝试了解一些安全性知识。
我的问题是关于运行容器的用户的组ID(= gid)。
我使用以下官方示例创建了一个Pod:https : //kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
apiVersion: v1
kind: Pod
metadata:
name: security-context-demo
spec:
securityContext:
runAsUser: 1000
fsGroup: 2000
volumes:
- name: sec-ctx-vol
emptyDir: {}
containers:
- name: sec-ctx-demo
image: gcr.io/google-samples/node-hello:1.0
volumeMounts:
- name: sec-ctx-vol
mountPath: /data/demo
securityContext:
allowPrivilegeEscalation: false
Run Code Online (Sandbox Code Playgroud)
他们在文档中说:
在配置文件中,runAsUser字段指定对于Pod中的任何容器,第一个进程以用户ID 1000运行。所述 fsGroup字段指定组ID 2000与所有相关 的波德容器。组ID 2000还与/ data / demo上安装的卷以及在该卷中创建的任何文件关联。
因此,我进入了容器:
kubectl exec -it security-context-demo -- sh
Run Code Online (Sandbox Code Playgroud)
我看到第一个进程(即使用PID 1的进程)正在以用户1000 => OK运行,这就是我所期望的行为。
$ ps -f -p 1
UID PID PPID C STIME TTY …Run Code Online (Sandbox Code Playgroud) file-permissions userid security-context user-permissions kubernetes
我正在一个具有树状数据库模式的站点上工作.从上到下我有:
用户权限系统必须是灵活的,因为有人可以在树的任何级别获得或限制访问.例如,管理位置x的人将默认具有对位置x下方的所有车队和位置x下方的所有车辆的完全访问权.但我也应该能够限制用户访问位置x下面的任何节点.
为这样的权限系统开发模式的正确方法是什么?存储用户有权访问的每个节点是否现实,即使它是多余的?我的目标是能够轻松运行查询,例如获取用户有权访问的所有位置.
在命名权限方面,我应该遵循一些命名准则吗?现在,我找到的所有内容都类似于“添加 Foo”、“编辑 Foo”、“删除 Foo”、“添加 FooBar”、“编辑 FooBar”、“删除 FooBar”等等。
请记住,没有分组(这真是遗憾),并且当您有所有上述权限的管理屏幕时 - 上述方法似乎相当草率。
您所有的“添加”都在一起,“编辑”都在一起,等等,例如:
- Add Foo
- Add FooBar
- Add FooBarBez
- Edit Foo
- Edit FooBar
- Edit FooBarBez
- Delete Foo
- Delete FooBar
- Delete FooBarBez
Run Code Online (Sandbox Code Playgroud)
现在我倾向于类似于路线名称的东西,例如:
- foo.add
- foo.edit
- foo.delete
- foobar.add
- foobar.edit
- foobar.delete
- foobarbez.add
- foobarbez.edit
- foobarbez.delete
Run Code Online (Sandbox Code Playgroud)
它在将所有“父”权限保持在一起方面更有组织性(即:所有 Foo 在一起,所有 FooBar 在一起,等等)。当然,如果有实际的指导方针,请告诉我,或者您有其他有价值的意见/建议吗?
//为了清晰起见编辑更新
具体来说,
- __Are__ any naming conventions?
- Are there any preferences in terms of use of singular/plural …Run Code Online (Sandbox Code Playgroud) naming-conventions user-permissions laravel laravel-5 laravel-permission
user-permissions ×10
unix ×2
.net ×1
angularjs ×1
asp.net-mvc ×1
javascript ×1
kubernetes ×1
laravel ×1
laravel-5 ×1
linux ×1
mysql ×1
nice ×1
permissions ×1
php ×1
posix ×1
shell ×1
sql-server ×1
ssrs-2008 ×1
uid ×1
user-roles ×1
userid ×1