我正在Amazon AMI上的几个用户之间build立一个共享文件夹(详见下方)。 我正在试图让文件夹与一个用户特别是哪个工作。
我的想法是创build一个名为“存储库”的用户组,我将添加用户。 我运行了以下命令:
sudo groupadd repository sudo usermod -a -G repository jenkins sudo usermod -a -G repository ec2-user sudo mkdir /repository sudo chown jenkins:repository /repository sudo chmod 770 /repository
现在在这一点上,我期望jenkins用户将没有麻烦在这个文件夹中的目录。 但它似乎并没有工作。
sudo runuser -l jenkins -c "mkdir /repository/hello"
不做一个目录。 尝试ec2用户,这也是“存储库”组的一部分。
sudo runuser -l ec2-user -c "mkdir /repository/hello"
成功创build一个目录。 使用groups jenkins和groups ec2-user双重检查groups ec2-uservalidation这两个用户是“存储库”组的一部分。
我哪里错了? jenkins用户是一个服务帐户的问题?
有问题的jenkins帐户是一个jenkinsnetworking服务器和用户可以改变,但我想保持不变。
下面是os的详细信息:
>cat /etc/*-release NAME="Amazon Linux AMI" VERSION="2015.03" ID="amzn" ID_LIKE="rhel fedora" VERSION_ID="2015.03" PRETTY_NAME="Amazon Linux AMI 2015.03" ANSI_COLOR="0;33" CPE_NAME="cpe:/o:amazon:linux:2015.03:ga" HOME_URL="http://aws.amazon.com/amazon-linux-ami/" Amazon Linux AMI release 2015.03
find了一个解决scheme,但不知道为什么它的工作经过一些更多的周围我结束了更改壳的jenkins用户从/bin/false到/sbin/nologin和一切正常工作后。 任何人都可以解释为什么使用/bin/false会造成这种情况?
所以在/etc/passwd
来自: jenkins:x:498:498:Jenkins Continuous Integration Server:/var/lib/jenkins:/bin/false
到: jenkins:x:498:498:Jenkins Continuous Integration Server:/var/lib/jenkins:/sbin/nologin