Ell*_* B. 4 sftp centos accounts
我们公司有一个用于开发的网络服务器,我们的每个开发人员都有一个用户帐户。服务器还有一个用户“ app ”的帐户。用户“应用程序”不属于一个人——它是一个共享帐户,任何开发人员都可以使用它来部署准备进行 QA 的代码。准备测试的代码上传到 /home/app/public_html/
我们正在尝试找出一个有效的系统来管理对这个共享帐户的访问。目前,我们都只是共享“应用程序”用户的密码——出于多种原因,这很糟糕。
我们希望有一个系统,开发人员仍然可以使用 SFTP 或 FTP 将文件直接上传到“应用程序”用户帐户。我们考虑修改 /home/app 和子文件夹上的组,以便“wheel”组的成员也有添加、修改和删除文件的权限。但是,您随后遇到了用户上传到 /home/app 的文件的问题,这些文件不归“app”所有,而是归上传它们的用户所有。
是否有管理共享帐户访问权限的最佳做法?
管理共享帐户的最佳做法是锁定共享帐户。
与其管理对共享帐户的访问——这在很多方面都是不好的,您应该将所有开发人员添加到一个组(即app_development
),将测试人员添加到另一个组(即app_testing
)等。一旦您拥有用户(每个是仅由一个人)根据职位和/或现在他们正在做的任务摆在团体,授予组对文件的相应权限。
对于此示例,用于开发 Web应用程序的软件开发人员将属于software_development
和web_development
(开发本地应用程序的开发人员可能属于application_development
而非web_development
)。团队的测试员/QA 成员将属于software_testing
和web_testing
组。
组中的用户wheel
始终具有通过 root 进行读写的权限(除非您使用 SELinux 直接限制他们对它的访问)。
sudo -i
groupadd software_development
groupadd web_development
groupadd software_testing
groupadd web_testing
mkdir -p /home/software_development/web_development/staging`
Run Code Online (Sandbox Code Playgroud)
POSIX 访问控制列表
为协作制作目录结构,给予组最低权限
chown -R root:software_development /home/software_development
chmod 550 /home/software_development
setfacl -m g:software_development:r-x /home/software_development
setfacl -m g:software_testing:r-x /home/software_development
chown -R root:web_development /home/software_development/web_development
chmod -R 2570 /home/software_development/web_development
setfacl -R -m g:web_development:rwx /home/software_development/web_development
setfacl -R -m d:g:web_development:rwx /home/software_development/web_development
setfacl -m g:web_testing:r-x /home/software_development/web_development
setfacl -m d:g:web_testing:0 /home/software_development/web_development
setfacl -m d:g:web_testing:r-x /home/software_development/web_development/staging
setfacl -R -m d:u:root:r-x /home/software_development
Run Code Online (Sandbox Code Playgroud)
root
和任何人在群体software_development
或software_testing
可以进入/home/software_testing
并查看其内容。 web_developers
都可以查看和修改/home/software_development/web_development
所有子目录(包括当前存在的和将来可能创建的所有子目录)的内容。web_testers
都可以看到 的直接内容/home/software_development/web_development
,但不能看到除 之外的任何子目录staging
。web_testing
并且software_testing
没有任何写访问权限 - 因为他们不需要它来完成他们的工作。重要的是,网页开发人员明白,他们的项目应放在内子目录的web_development
(通常是一个项目名称:即web_development/project_1
,从而否定了测试人员进入查看当前功能于敏荧光源当它准备用于测试/质量保证。 ,他们会将其复制到 staging 子目录。
归档时间: |
|
查看次数: |
1125 次 |
最近记录: |