首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以授予Linux用户与其他用户完全相同的权限吗?

问我可以授予Linux用户与其他用户完全相同的权限吗?
EN

Stack Overflow用户
提问于 2013-11-06 08:49:17
回答 3查看 1.1K关注 0票数 2

与我的问题有关:"如何配置Cassandra来创建具有自定义权限的文件?“。我正试图从操作系统级别着手解决这个问题。

考虑到两个不同的Linux用户-- cassandra和tomcat7 --我能给所有通过cassandra读取访问权限的文件授予tomcat7读取访问权限吗?这些文件仅为o+rw (所以我不能使用组);Cassandra一直在创建新文件,所以手动设置组权限不是一种选择。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-06 10:36:49

您可以尝试使用umask更改Cassandra用户的默认文件权限,前提是掩码不是硬编码到cassandra中。这将允许您将tomcat7添加到默认的具有读写权限的cassandra用户组中。

在cassandra的shell配置文件或其他配置文件中的某个位置,很可能有一行引用umask,设置为077或0077。将前7替换为0将允许在创建的所有新文件上为组提供rw。它可能在shell配置文件中,因为它有自己的用户,但有时它是应用程序配置文件的一部分。当然,您需要更改现有文件的文件权限,但这应该是微不足道的。

手册页面在解释umask的来龙去脉方面做得并不出色,但是在Nix上有一个关于了解umask设置的很好的教程。然而,为了防止链接腐烂,在googling上搜索"linux“会从每个人和他的狗身上删除大量的教程。

票数 1
EN

Stack Overflow用户

发布于 2013-11-06 09:01:05

有两种方法可以做到这一点

1)将密码文件中的uid更改为为cassandra和tomcat7相同。将cassandra和tomcat7添加到同一组组中

为了证明这确实有效

( a)添加一个用户,我使用以下命令

代码语言:javascript
复制
sudo adduser likeme --shell /usr/bin/zsh

我添加了一个不同的shell,因此很明显这个条目正在被使用。

b)更改/etc/passwd文件中的uid。我使用了这个命令并编辑了文件,以便我的普通登录名(jamie)的uid被用作新用户的uid。

代码语言:javascript
复制
sudo vipw

c)测试新用户。下面是发生的事情

代码语言:javascript
复制
$ who am i
jamie    pts/10       2013-11-06 19:04 (:0.0)
$ sudo su - likeme
%

注意,提示符已经更改,因为正在使用不同的shell。然而:

代码语言:javascript
复制
% id
uid=1000(jamie) gid=1000(jamie) groups=1000(jamie)

它仍然说我就是我!!这是因为从根本上说,这两个用户是相同的。您可能会说有两个用户名,但只有一个用户。

2)配置sudo以允许tomcat7成为cassandra

代码语言:javascript
复制
tomcat7  ALL = (cassandra:cassandra) ALL
票数 1
EN

Stack Overflow用户

发布于 2013-11-06 09:01:52

假设您也对非系统用户感兴趣,这些用户应该被允许充当另一个用户,我只允许他作为另一个用户登录。

如果您不愿意只给他其他用户的密码,那么您可以允许他通过ssh (本地)和预共享密钥登录。为此,生成一个密钥(ssh-keygen),将其存储在~cassandra/.ssh/中,并将公共部分也放在~tomcat7/.ssh/authorized_keys中。然后,用户cassandra应该能够使用ssh tomcat7@localhost切换到另一个用户。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19807527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档