新项目现在目前交给外包在做,买了一个服务器,需要对权限进行控制,不能直接给外包 root 权限。现在想问一下,咱们一般做服务端的这一块的权限问题是怎么控制的,给一个用户什么样的权限给他开发合适,公司项目是用 PHP 做的,可能有时候要用 ftp 直接传文件这样。
求大大们给一条明路,这两天可能就要用了。给外包一个账号,让他们能开发的时候不乱动系统的东西,又能保证开发需求。
简单点就做个 ftp ,限制在一个目录
他们开发的时候把做好的程序放在这个文件里面 那还有相关的数据库权限呢
sftp+数据库新建用户
需要什么权限就开对应的非 root 用户的权限,比如 ftp 就跟上面兄弟说的限制目录,数据库就新建用户,其他就类似处理。需要用到的东西不要装个系统 bin 下,装在 home 下。
只是测试的话, wdcp 划分虚拟主机 虽然问题多多,但还是不错的。
directadmin 、 cpanel 也不错,但这些正版的要装在公网上。
directadmin 开心版 可以随便装。
用这类虚拟主机管理软件,你就不用考虑分配给他们的用户的权限问题了。 webserver ftp 数据库 ssh 访问权限 都能帮你搞定。
这个场景用 docker 正合适。
开个 KVM 虚拟机啊,做好快照。
virtualmin 吧……
个人感觉这事情不光光是文件权限的问题了
当然,虚拟机方案更好点,但也更麻烦。
最小权限原则,够用就行:
用 vsftp 做 ftp 服务器, 建一个普通用户,不给 ssh 登录权限,限制用户目录在 web 目录下。
装一个 phpmyadmin ,操作管理 mysql , mysql 也建一个普通用户,只对项目数据库有操作权限。
对于 web 服务器配置( apache,nginx 等),让他们给部署文档,你们照着做。
其实最好是让供应商给完整的部署文档,全部由你们操作;操作时,要明白他们每一步做的是什么。