这是我得到的最接近的:我在/Private
文件夹中安装了 gitolite ecryptfs-utils
(sudo apt-get install ecryptfs-utils
adduser git
ecryptfs-setup-private
然后剩下的就是使用根安装配置 gitolite )。
只要有人git
使用密码以用户身份登录(su git
使用 root 不起作用),它就可以正常工作。由于私有文件夹是通过密码登录激活的,而 gitolite 使用 RSA 密钥(必需),因此私有文件夹被隐藏,从而出现错误。
有没有办法可以在重新启动后登录到我的服务器,输入密码并让 git 用户私人文件夹可用,直到下次机器重新启动?
或者也许有一种简单的方法来加密 git 存储库的文件夹?
答案1
您只需删除该文件即可~/.ecryptfs/auto-umount
。
该文件是 pam_ecryptfs 在注销时检查的标志。默认情况下,此文件与 一起存在~/.ecryptfs/auto-mount
,以便在登录/注销时自动安装和卸载您的私有目录。但每个都可以单独删除以改变该行为。享受!
答案2
抱歉,无法发表评论...
也许你可以通过 sshfs 挂载你的 ssh 并在里面使用 encfs ?
答案3
使用screen
。只需创建一个屏幕,su进入用户并执行您需要执行的操作。使用 Ctrl+A,d 将其分离。然后您应该能够在不终止进程的情况下断开连接,从而有人始终登录。
答案4
如果您可以禁用 pam_ecryptfs 会话模块,那么 ecryptfs 挂载点将不会在注销时卸载,但这也会影响每个人。另一个想法是使用与您的登录名不同的密码来包装您的安装阶段短语。在这种情况下,它将无法在登录时自动安装它,因此它不应该(不会?)在注销时卸载。然后,您可以手动挂载 ecryptfs,它应该保持挂载状态,直到下次重新启动:
ecryptfs-umount-private
ecryptfs-rewrap-passphrase .ecryptfs/wrapped-passphrase
ecryptfs-mount-private