如何安全设置Unix域套接字的组所有权?

克里斯·爱默生

我想创建一个限于特定组的Unix域套接字。因此,我理想地要做的是(忽略错误检查)类似:

// Set the "address" (ie filesystem path)
struct sockaddr_un addr;
memset(&addr, 0, sizeof(addr));
addr.sun_family = AF_UNIX;
strcpy(addr.sun_path, "./my.sock");

int fd = socket(AF_UNIX, SOCK_DGRAM, 0);  // create the socket

// Set the group owner and permissions
fchmod(fd, 0770); // This seems to succeed
fchown(fd, -1, wanted_group_id);  // Silently fails

// Create the filesystem entry
bind(fd, (struct sockaddr *)&addr, sizeof(addr));

但是,fchown在套接字上没有效果,因此,chown事后看来,这是设置组的唯一方法。我想避免使套接字临时可供不应被允许访问的进程访问。

我最好的主意是:

int fd = socket(...);
fchmod(fd, 0700);  // Remove group permissions
bind(fd, ...);     // Create fs entry
chown("./my.sock", -1, wanted_group_id); // set the correct group owner
fchmod(fd, 0770);  // And restore group permissions

当然,要使用Unix套接字,这是很常见的事情,并且有一种规范的方法可以实现这一点,但是我还没有找到明确的答案。

我只对Linux真正感兴趣,但是对仅依赖POSIX的东西有加分。

克里斯·爱默生

这样做的方法是将套接字放入具有正确权限的目录中。目录可以原子地创建(或重命名),一旦目录存在,套接字本身的权限就不是很重要。这在Unix上也适用,在Unix上并不总是尊重套接字本身的权限。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何恢复/ var下所有文件的默认组/用户所有权?

来自分类Dev

Firebase:无法验证Namecheap域的所有权

来自分类Dev

验证 AWS 路由 53 域的所有权

来自分类Dev

Ubuntu,搞砸了默认的组所有权

来自分类Dev

TYPO3默认组所有权

来自分类Dev

Ubuntu,搞砸了默认的组所有权

来自分类Dev

Linux中的组所有权

来自分类Dev

更改文件的组所有权-用户管理

来自分类Dev

永久更改LVM卷的所有权(或组)

来自分类Dev

更改文件作为组用户的所有权

来自分类Dev

春季安全 - 所有权的访问

来自分类Dev

获得C:/的“所有权”是否安全?

来自分类Dev

如何在Symfony中使用html文件方法验证(google)域所有权?

来自分类Dev

如何通过创建DNS记录来确认我的域的所有权?

来自分类Dev

如何在Ubuntu中更改文件的组所有权?

来自分类Dev

如何在rsync中任意映射用户/组所有权

来自分类Dev

使用 gvfs/sftp 挂载时如何让 Nautilus 传播组所有权权限

来自分类Dev

如何在UNIX中使用Secure Copy保存所有权

来自分类Dev

在复制或同步文件时设置所有权

来自分类Dev

rpmbuild设置错误的文件所有权说root:root(错误的所有者/组build:users)

来自分类Dev

如何在MariaDB(MySQL)中正确设置所有权和特权?

来自分类Dev

Docker:如何在仅数据容器中设置文件所有权?

来自分类Dev

我可以安全地更改/var/log/auth.log的组所有权吗?

来自分类Dev

我可以安全地更改/var/log/auth.log的组所有权吗?

来自分类Dev

NSArray如何获得C ++对象的所有权

来自分类Dev

如何更改 bintray 包所有权

来自分类Dev

在sssd启动后,需要UDEV为AD / LDAP用户和组设置设备所有权

来自分类Dev

QStyle所有权

来自分类Dev

锈迹所有权问题

Related 相关文章

热门标签

归档