这是一个安全的想法.我们的员工可以访问Linux服务器上的一些命令,但不是全部.他们应该可以访问日志文件(less logfile)或启动不同的命令(shutdown.sh/ run.sh).
背景资料:
所有员工都使用相同的用户名访问服务器:我们的产品以"正常"用户权限运行,不需要"安装".只需在用户目录中解压缩并运行即可.我们管理了几个"安装"应用程序的服务器.在每台机器上都有一个用户johndoe.我们的员工有时需要在命令行上访问应用程序以访问和检查日志文件或手动重启应用程序.只有一些人才能拥有完整的命令行访问权限.
我们在服务器上使用ppk身份验证.
如果employee1只能访问日志文件而employee2也可以执行X等,这将是很好的...
解决方案:
作为解决方案,我将使用接受答案command中所述的选项.我将创建自己的小shell脚本,这将是可以为某些员工执行的唯一文件.该脚本将提供几个可以执行的命令,但没有其他命令.我将使用下列参数从为表示在这里:authorized_keys
command="/bin/myscript.sh",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty
ssh-dss AAAAB3....o9M9qz4xqGCqGXoJw= user@host
Run Code Online (Sandbox Code Playgroud)
这对我们来说足够安全.谢谢,社区!
我正在为几个用户寻找一个git托管环境.因此,我搜索了Gitolite,Gitlab和Gitorius之间的比较.但我没有得到任何有用的东西.
有没有人,谁有不同的托管工具的经验,可以提供建议?
一年多来,我一直遇到GIT和目录/文件权限的麻烦.我有一个中央存储库,多个开发人员使用ssh(源设置为ssh:// example/git/repository)向其推送代码.我已按如下方式设置存储库:
1)我在中央存储库中的配置文件:[core] repositoryformatversion = 0 filemode = true bare = true sharedrepository = 0660
2)所有存储库目录权限设置为770(rwxrwx ---)3)./objects/XX和./objects/info中的所有文件都设置为440(r - r -----)4)全部其他文件设置为660(rw-rw ----)5)所有权设置为root:group_name
(请注意,这来自此主题中顶部响应中的推荐设置:使git push尊重权限?)
所有访问用户都是组"group_name"的成员.
问题是如果user1推送到存储库,某些文件的文件所有权设置为user1:user1 - 意味着该组已更改.一旦发生这种情况,其他用户就无法从存储库中推送(或拉出),因为他们无权再从存储库中的所需文件进行读取,写入或执行.
我已经阅读了有关Stack Overflow问题的所有线程,以及网络上的其他任何地方,但我仍然遇到同样的问题.
问题是,我不确定这个问题是GIT还是UNIX之一,我不知道如何修复它.当用户推送到存储库时,如何阻止更改组?
这只是关于 git 如何运作的一般问题。我在 git 手册中找不到与此相关的任何内容,也许我没有找对地方。
当您使用来自 git 服务器的 ssh 链接进行克隆时,它使用的用户名是 git,而不是您尝试使用的密钥的用户名。为什么 git 这样做,以及 git 如何知道它应该使用哪个密钥对来验证连接。
我想设置一个Git服务器,让我的开发人员使用用户名和密码登录,以便提交和更改项目.我还需要管理开发人员对项目的访问权限(我想我应该使用gitolite).
我怎样才能做到这一点?
我习惯Subversion这很容易,因为你可以为每个开发人员设置用户名和密码,这可以轻松访问存储库而无需生成SSH密钥并将其放在服务器上.
我的服务器上有Debian,Fisheye和Git.我的git回购由Fisheye管理.Fisheye部分没有认证.所有身份验证过程都由git管理.
我想使用SSH身份验证,因此当我将更改推送到服务器时,我不需要提供用户名和密码.我知道如何创建rsa密钥,但是在哪里可以在服务器上复制我的公钥?
如何限制shell命令和目录,我如何允许用户ssh到我的服务器?
我正在使用git将代码部署到我的服务器.我有2台服务器,第一台是产品服务器,第二台是git服务器.
我的团队使用git服务器来提取/推送代码.
在我的产品服务器上,我设置了git客户端.每当我想发布一个版本,我就把它推送到我的git服务器(主服务器或其他分支机构......),然后我ssh到我的产品服务器来提取代码.
我想与我的队友分享代码拉取权限,但是不想让他们运行任何命令而只是git,并且只将它们限制在目录中.
我想限制的目录的所有者是apache:apache,所以如果ssh用户运行apache特权,那将非常好.
谢谢,
解决:我使用了lshell和一组限制命令.