rest - 我应该如何格式化 webhdfs 休息接口的 acl 规范 - op=SETACL
问题描述
此链接中的示例未说明如何格式化 aclspec: http ://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Set_ACL
我尝试了几种不同的格式化方法,但我不断收到错误消息:
"Invalid ACL: the user, group and other entries are required"
我正在发送 ACL,例如:
other::r-x
user:15b70438-f54b-4d7d-95aa-74afe8e1a09f:rwx
group::rwx
group:231db2e5-792c-4788-8abc-2187d7233ea8:r-x
ETC
这是 Scala Circe 代码:
val aclPermResp= sttp
.auth.bearer(accessString)
.body(Map("Content-Length" -> "0"))
.put(uri"https://$dlStorageName.azuredatalakestore.net/webhdfs/v1/$path?op=SETACL&aclspec=$oLine")
aclPermResp.send().unsafeBody
以下是 getaclstatus 返回的内容:
{
"AclStatus":{
"entries":[
"user:15b70438-f54b-4d7d-95aa-74afe8e1a09f:rwx",
"user:6fca950f-3ac4-495e-b9cf-ae55af2f5b11:rwx",
"user:dcb7b874-eeb0-44f6-8088-d1ff65a69807:rwx",
"user:fadc0eee-f2af-4e1b-b0c7-f7d2059ef065:rwx",
"group::rwx",
"group:231db2e5-792c-4788-8abc-2187d7233ea8:r-x",
"group:7c24b109-edf2-422e-b20e-df8095043b93:rwx",
"group:ec768852-cc88-40f2-91a8-3e57b5ee4a79:r-x",
"default:user::rwx",
"default:user:15b70438-f54b-4d7d-95aa-74afe8e1a09f:rwx",
"default:user:6fca950f-3ac4-495e-b9cf-ae55af2f5b11:rwx",
"default:user:dcb7b874-eeb0-44f6-8088-d1ff65a69807:rwx",
"default:user:fadc0eee-f2af-4e1b-b0c7-f7d2059ef065:rwx",
"default:group::rwx",
"default:group:231db2e5-792c-4788-8abc-2187d7233ea8:r-x",
"default:group:7c24b109-edf2-422e-b20e-df8095043b93:rwx",
"default:mask::rwx",
"default:other::---"
],
"owner":"6fca950f-3ac4-495e-b9cf-ae55af2f5b11",
"group":"7c24b109-edf2-422e-b20e-df8095043b93",
"permission":"777",
"stickyBit":false
}
}
我尝试修改这个现有的 ACL 并将其作为 aclspec 发回,但这也不起作用。它返回相同的错误消息。
解决方案
为了acl_spec
与权限位兼容,必须包含用户、组和其他人的条目。例如:
"user::rw-,user:hadoop:rw-,group::r--,other::r--"
推荐阅读
- python - pytest 夹具生成器何时继续使用,范围是否会影响这一点?
- matlab - 如何在 matlab 中免费安装 mosek 求解器?
- eiffel - 编译交通库的问题
- angular - Angular Http 与 HttpClient
- ruby-on-rails - 如何在 ruby on rails 中执行 .sh 文件
- php - 如何为目录中的所有 PHP 导入设置 ROOT?
- junit5 - 在 Eclipse 中使用 Maven SureFire 插件进行调试
- nativescript - NativeScript JavaScript 模式对话框在 iOS 上因 ViewHierarchy 错误而失败
- django - Django 我应该在单独的 django-app 中管理用户吗?
- sql - 使用多个部分词进行全文搜索