与我的问题相关:“ 我怎样才能configurationCassandra创build具有自定义权限的文件? 我试图从操作系统级别来解决这个问题。
鉴于两个不同的Linux用户 – cassandra和tomcat7 – 我可以给所有具有cassandra读取权限的文件提供tomcat7读取权限吗? 这些文件只有o+rw (所以我不能和团体一起玩)。 Cassandra不断创build新文件,因此手动设置组权限不是一个选项。
Node Express Unix域套接字权限
Linux的wordpress的不能写wp-config文件
如何在Windows中从Java创build非只读目录
为什么尽pipe将文件逐个移到NFS挂载的磁盘,rename()会返回false?
您可以尝试使用umask更改cassandra用户的默认文件权限,假设掩码没有被硬编码到Cassandra中。 这将允许您将tomcat7添加到具有读/写访问权限的默认cassandra用户组。
在shell配置文件或cassandra的其他配置文件中,可能有一条引用umask的行,其设置为077或0077.将第一个7替换为0将允许rw作为创建的所有新文件的组。 它可能位于shell配置文件中,因为它拥有自己的用户,但有时它是应用程序配置文件的一部分。 您当然需要更改现有文件的文件权限,但这应该是微不足道的。
手册页在解释umask的来龙去脉方面做得不是很出色,但是关于理解 Nix Craft的umask设置有一个很好的教程。 但是,为了防止链接腐烂,google搜索“linux umask”从每个人和他的狗上搜集了大量的教程。
有两种方法可以做到这一点
1)将密码文件中的uid更改为与cassandra和tomcat7相同。 将cassandra和tomcat7添加到同一组
为了显示这个实际的作品
sudo adduser likeme --shell /usr/bin/zsh
我添加了一个不同的shell,所以立即显示这个条目正在被使用
b)修改/ etc / passwd文件中的uid。 我使用这个命令并编辑文件,以便我的正常登录(jamie)的uid被用作新用户的uid。
sudo vipw
c)测试新用户。 这是发生了什么事
$ who am i jamie pts/10 2013-11-06 19:04 (:0.0) $ sudo su - likeme %
注意提示已经改变,因为正在使用不同的shell。 然而:
% id uid=1000(jamie) gid=1000(jamie) groups=1000(jamie)
它仍然说我是我! 这是因为从根本上说两个用户是一样的 。 您可能会说有两个用户名,但只有一个用户。
2)配置sudo让tomcat7成为cassandra
tomcat7 ALL = (cassandra:cassandra) ALL
假设你也对非系统用户有兴趣作为其他用户,我只允许他作为其他用户登录。
如果你不愿意给他另一个用户的密码,那么你可以允许他通过SSH(本地)和预共享密钥登录。 为此,生成一个密钥( ssh-keygen ),将其存储在~cassandra/.ssh/ ,并将公共部分放在~tomcat7/.ssh/authorized_keys 。 用户cassandra应该能够使用ssh tomcat7@localhost切换到其他用户。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。