tpg*_*tpg 17 permissions dropbox 18.04
这个问题已经被问过几次了,但标准答案并不适用。
当前系统:Ubuntu 18.04,内核版本 4.15.0-29-generic。但它开始于 - 我认为 - 16.xx。
系统在用户登录时带有此问题。一个简单的取消就可以让 Dropbox 做它应该做的事情。有时它会在登录会话的某个地方询问 3 次。
论坛上的标准建议是将相应的行更改/usr/bin/dropbox为PARENT_DIR = os.path.expanduser("~"),但过去几年已经是这样了。我在交替的根分区上从头开始安装每个版本,所以没有剩余。/home位于一个单独的分区上,所以这是一个可能遗留的地方。该消息最近已经消失了大约 3 周,但在最新的内核更新后它又回来了。请注意,系统现在要求执行权限/bin/sh,而不是/usr/bin/dropbox.
如果 Dropbox 在其文件夹中发现不属于您的用户的文件,它会尝试运行具有超级用户权限的脚本,将这些文件的所有权更改为您的用户。
如果单击取消,Dropbox 将不会运行该脚本,但您会继续看到弹出窗口,因为它会继续检测问题。
如果您能够确认是 Dropbox 导致弹出窗口,那么解决方案是输入您的凭据并让它运行脚本。更多详情如下。
我刚刚得到了同样的弹出窗口,但在登录时没有:
我展开了详细信息,然后在网上搜索了org.freedesktop.policykit.exec指向我的pkexec.
查看我的流程pkexec,我发现:
$ ps -ef | grep [p]kexec
root 11040 26447 0 14:16 ? 00:00:00 pkexec /bin/sh /tmp/tmp5vgk_93m
Run Code Online (Sandbox Code Playgroud)
所以我当然很好奇那个文件在做什么:
$ cat /tmp/tmp5vgk_93m
#!/bin/bash
chown -h -R 1234 "/home/user/Dropbox"
chmod -R u+rwX "/home/user/Dropbox"
Run Code Online (Sandbox Code Playgroud)
看起来 Dropbox 一定已经检测到我的 Dropbox 文件夹中有一些文件不属于我的当前用户所有。
我曾经find确认:
$ find ~/Dropbox/ ! -user $USER
/home/user/Dropbox/Projects/picodrive/cpu/fame/famec.o
/home/user/Dropbox/Projects/picodrive/cpu/drc/cmn.o
/home/user/Dropbox/Projects/picodrive/cpu/cz80/cz80.o
...
Run Code Online (Sandbox Code Playgroud)
果然,看起来有些文件不属于我的用户:
$ ls -l /home/user/Dropbox/Projects/picodrive/cpu/fame/famec.o
-rw-r--r-- 1 root root 1346564 Dec 18 13:33 /home/user/Dropbox/Projects/picodrive/cpu/fame/famec.o
Run Code Online (Sandbox Code Playgroud)
理论上,Dropbox 同步该文件应该没有任何问题,因为它是世界可读的,但至少他们所做的事情是有道理的。
我还注意到,在 Dropbox 同步时,我看到了这样的错误,这似乎是一个额外的确认:
Can't sync "famec.o" (access denied)
最后但并非最不重要的一点,我将把它放在这里,因为我在网上搜索这个问题时遇到了麻烦:
Authentication is needed to run `/bin/sh' as the super user
Dropbox 可能因各种原因(例如所有权、权限位或损坏的链接)而无法读取文件。我假设您正在使用当前的普通用户。
\n\n查找不属于当前用户的文件
\n\nfind ~/Dropbox/ ! -user $USER\nRun Code Online (Sandbox Code Playgroud)更改这些文件的所有权和组
\n\nfind ~/Dropbox/ ! -user $USER -exec sudo chown $USER:$USER "{}" + \xe2\x80\x93\nRun Code Online (Sandbox Code Playgroud)查找当前用户无法读取的文件
\n\nfind ~/Dropbox/ ! -readable -ls # -delete to remove them\nRun Code Online (Sandbox Code Playgroud)IMO 这是 Gnome 上的一个安全问题。
\n因为某些原因
chmod 755 ~/Dropbox
Run Code Online (Sandbox Code Playgroud)
为我解决了问题。我记得我最近将我的 Dropbox 文件夹从我的主文件夹中符号链接的 NTFS 分区移动到了我的主文件夹中 - 并且之后可能没有设置权限。
运行“start dropbox”时观察终端,我还看到以下建议:
Please run "echo fs.inotify.max_user_watches=100000 | sudo tee -a /etc/sysctl.conf; sudo sysctl -p" and restart Dropbox to fix the problem.
Run Code Online (Sandbox Code Playgroud)
这为我解决了问题,而无需授予 Dropbox sudo 权力来执行它想做的任何事情。
| 归档时间: |
|
| 查看次数: |
5252 次 |
| 最近记录: |