标签: user-permissions

使用qWAVE所需的Windows权限/策略

我正在尝试使用qWAVE(在Windows Server 2008 R2上)在套接字流量上设置任意DSCP值.我想我正在正确设置流程,但是当我尝试调用QOSSetFlow()时,我收到一个ERROR_ACCESS_DENIED错误("调用应用程序没有足够的权限来执行请求的操作.").运行此代码的用户是Administrators组的成员,我查看了各种安全策略,但没有看到任何看起来相关的内容.有谁知道我需要什么权限才能让用户使这个API工作?

谢谢!

更新:我有一个测试程序,只是尝试设置DSCP值,当我检查兼容性菜单下的"以管理员身份运行"时,一切正常.所以代码没问题,管理员用户拥有必要的权限.遗憾的是,实际服务无法以管理员用户身份运行.有没有办法为管理员组(或特定用户)提供管理员用户具有的一些权限?

c++ windows qos user-permissions

7
推荐指数
0
解决办法
574
查看次数

从用户空间读取/ dev/cpu/*/msr:不允许操作

我正在尝试编写一个可以读取msr寄存器的简单应用程序,并从用户空间运行此应用程序.

我已经加载了msr模块,并为每个人提供了对/ dev/cpu/*/msr的读取权限.但是仍然用户无法访问这些文件,但root可以.

权限如下所示:

crw-r--r-- 1 root root 202, 0 sep  6 17:55 /dev/cpu/0/msr

crw-r--r-- 1 root root 202, 1 sep  6 17:55 /dev/cpu/1/msr

crw-r--r-- 1 root root 202, 2 sep  6 17:55 /dev/cpu/2/msr

crw-r--r-- 1 root root 202, 3 sep  6 17:55 /dev/cpu/3/msr
Run Code Online (Sandbox Code Playgroud)

当我尝试从用户空间读取这些文件时,我一直收到"不允许操作"错误消息,但当root尝试访问它们时工作正常.我究竟做错了什么?我在Ubuntu 13.04上使用内核版本3.11.0.

file-permissions user-permissions msr

7
推荐指数
2
解决办法
2954
查看次数

Docker 运行 - 用户组未按预期工作?

我有一个通过串行端口 ( ) 进行通信的脚本/dev/ttyUSB0。我想从 Docker 映像中运行它。但是我似乎没有权限从图像中执行此操作。我按照以下步骤操作:

在我的主机上,如果我运行ln -l /dev/ttyUSB0我会得到:

crw-rw---- 1 root dialout 188, 0 jul  2 14:34 /dev/ttyUSB0
Run Code Online (Sandbox Code Playgroud)

很好,这意味着为了读/写它,我需要成为root或 组的一部分dialout

我成为我的主机中该组的成员:

$ sudo usermod -aG dialout $(whoami)
Run Code Online (Sandbox Code Playgroud)

然后我注销并再次登录以使其生效。

之后,我验证我可以与/dev/ttyUSB0我的主机完美通信。但是,如果我运行 docker 映像:

docker run --user=1000:1000 --rm=true --tty=true --privileged=true --device=/dev/ttyUSB0 --volume=<my_dir>:<my_dir> --workdir=<my_dir> <my_docker_image> <my_script>
Run Code Online (Sandbox Code Playgroud)

然后它抱怨:

can't open device "/dev/ttyUSB0": Permission denied
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用:--user=1000:20,那么它工作正常。团体20就是dialout团体。

现在我的问题是:

为什么 Docker 不明白我的用户 (1000) 和组 (1000) 是该dialout组的一部分?

当我使用旧的docker …

linux ubuntu usergroups user-permissions docker

7
推荐指数
1
解决办法
5193
查看次数

Laravel spatie/laravel-permissions 命名约定

在命名权限方面,我应该遵循一些命名准则吗?现在,我找到的所有内容都类似于“添加 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

7
推荐指数
2
解决办法
2861
查看次数

Sendmail管道到PHP:无法打开输入文件

我已经安装了sendmail,并希望将传入电子邮件发送到php。

每当我向服务器发送电子邮件时,都会收到一封包含错误消息的电子邮件:

无法打开输入文件:/root/fw/catcher.php 554 5.3.0未知邮件错误1

我认为具有许可的catcher.php错误是错误的,但我自己无法解决。

已安装Sendmail,并添加了别名:

root: "|/usr/bin/php /root/fw/catcher.php"
Run Code Online (Sandbox Code Playgroud)

权限(之后chmod 777;我尝试过chmod 777chmod 755但都无法使用):

drwxrwxrwx 2 root root 4096 Jul 20 14:27 fw
-rwxrwxrwx 1 root root   45 Jul 20 14:27 catcher.php
Run Code Online (Sandbox Code Playgroud)

catcher.php(将行尾转换为Unix样式):

#!/usr/bin/php
<?php echo 'Test'; exit(0); ?>
Run Code Online (Sandbox Code Playgroud)

通过cli执行我的php文件效果很好。所有这些命令均有效:

/usr/bin/php /root/fw/catcher.php
/usr/bin/php7.3 /root/fw/catcher.php
php /root/fw/catcher.php
php7.3 /root/fw/catcher.php
Run Code Online (Sandbox Code Playgroud)

我认为sendmail的权限存在问题。

php file-permissions sendmail pipe user-permissions

7
推荐指数
1
解决办法
194
查看次数

设计用户访问/权限类

我正在开发一个站点,该站点将有几个模块可供某些用户完全使用,半可供其他用户使用,其余用户无法使用.

例如:

  • "员工"能够回复分配给他的客户支持票.

  • "经理"能够管理所有员工并支持团队中的门票,包括查看特定员工的门票.

  • "管理员"能够管理所有团队中的所有经理,员工和门票,以及其他一些核心功能.

此外,在某些页面上,如果当前用户是管理员或经理,则会显示一些其他字段.(例如删除/标记事物的链接).这些不会向员工显示.

我想创建一个'权限'模型,它将处理以下逻辑:

  • 确定用户是否可以访问当前页面.

  • 确定是否应显示页面的特定部分.(例如,仅向管理员和经理显示编辑/删除的特殊链接).

我需要一些建议/建议来设计这个类,特别是它应该有什么方法来完成第二个要求.

architecture oop design-patterns user-permissions

6
推荐指数
1
解决办法
2666
查看次数

PHP-FPM + Laravel + Nginx + Ubuntu权限

我之前尝试过搜索这个问题,但似乎没有任何地方可以彻底解释,大多数情况下只有许多问题app/storage没有设置,所以webserver可以写文件,但我的问题似乎更大更基本,我希望有人可以彻底解释如何设置,最好不需要设置权限777.

所以我的堆栈是Ubuntu 14.04,PHP 5.6PHP-FPM,因为我使用nginx 1.4.6并且我使用Laravel 4.2作为框架,ow和另外一个我使用Git作为我的版本控制工具.那么,允许以下内容的必要步骤是什么?

  1. 设置初始项目,Git和Nginx:

    据我所知,Nginx设置www-data为默认使用用户名?这是否意味着我必须将我的用户分配kevin给该组www-data?当我初始化git时,使用composer创建项目,设置SSH公钥/私钥,我是否需要属于该组www-data或者我必须是sudo什么?在我的生产服务器中,我尝试使用sudo设置所有内容,以便更容易完成上述所有操作,但这是最佳做法吗?

  2. app/storage为webserver 制作可写:

    我认为这是Laravel的第二个也是最重要的,因为除非这个工作Laravel不会运行,我的知识是这个文件夹必须可以被webserver(nginx)写入,所以我需要设置这个sudo chown -R www-data:www-data app/storagesudo chmod -R 664 app/storage对吗?但不知怎的,这似乎并不是一直有效,因为在我的开发过程中有时它会告诉视图的缓存无法写入app/storage文件夹,所以最后我必须设置它777或者775如果我很幸运.

  3. 公共文件夹或我的资产的位置

    在这里我也有一些不一致的地方,我在最后设置它777以确保nginx可以访问我的所有文件.有时nginx会告诉我,我的资产文件夹中的某些图像似乎被禁止,如果我设置777或更改组www-data:www-data,它将只返回HTTP 200 ,我是否必须为我创建的每个图像更改权限或组Gimp,Photoshop,或者当我从平面设计师设计新图标时从Dropbox或我的电子邮件下载时?

  4. 上传文件

    所以在某个时间,人们将能够上传例如他们的个人资料图片,或者当我发布博客时我可以上传图片,这意味着在某些时候文件上传脚本会将文件从/tmp文件夹移动到我的public文件夹,它可能只需要写入一个子目录,public或者有时需要根据某个目录创建一个文件夹 …

php ubuntu nginx user-permissions laravel

6
推荐指数
1
解决办法
6552
查看次数

即使从matchCallback使用Yii2行为返回false,也可以设置自定义denyCallback

我正在我的控制器中使用Yii2和利用他们的行为.

我正在构建自己的权限系统,因为权限相当复杂,我需要使用matchCallback.

这是一个例子:

public function behaviors() {
    return [
        'access' => [
            'class' => AccessControl::className(),
            'only' => ['view'],
            'rules' => [
                [
                    'allow' => true,
                    'actions' => ['view'],
                    'matchCallback' => function ($rule, $action) {
                        return Yii::$app->authManager->can($rule, $action);
                    }
                ],      
                // everything else is denied
            ],
        ],
    ];
}   
Run Code Online (Sandbox Code Playgroud)

现在,不幸的是一路matchCallback的作品是通过返回truefalse对是否应该继续执行该规则,而不是允许他们还是不能够返回true或false.

因此,如果我返回false它不应该继续(因此不允许它们),那么我无法自定义denyCallback它退出执行规则.

无论如何我可以自定义denyCallback即使我falsematchCallback- 或者我应该以不同的方式处理我的情况吗?

php permissions yii user-permissions yii2

6
推荐指数
1
解决办法
3112
查看次数

Spring安全访问控制列表Billion的行

基于Spring安全框架实现安全解决方案,尤其是acl模块.
应用程序中有数百万个域对象和数百个用户.

使用Spring Security Acl模块,acl_sid和其他相关表中的条目增长到10亿,这会影响应用程序的性能.

想知道处理此类场景的最佳实践.

是否有任何替代安全框架可以有效地处理类似情况.

performance authorization spring-security user-permissions spring-security-acl

6
推荐指数
1
解决办法
2493
查看次数

无法在Google Cloud中的MySql表上创建触发器

CREATE TRIGGER trigger_LocationType_Insert
BEFORE UPDATE ON LocationType
FOR EACH ROW
SET NEW.NAME = ''
Run Code Online (Sandbox Code Playgroud)

返回此错误:

[HY000] [1419]您没有SUPER特权,并且启用了二进制日志记录(您*可能*希望使用不太安全的log_bin_trust_function_creators变量)

我知道这是因为即使root用户也“拥有SUPER和FILE以外的所有特权”。 https://cloud.google.com/sql/docs/mysql/users

而且我认为,如果可以将“ log_bin_trust_function_creators设置为1”,那么它将起作用(该用户确实具有CREATE TRIGGER权限)。但是,我看不到如何在Google Cloud SQL控制台或sql语句中执行此操作。

您如何在此环境中创建触发器?

mysql triggers user-permissions google-cloud-sql

6
推荐指数
1
解决办法
1788
查看次数