我有一个在 Ubuntu Server 20.04 上运行的带有一个共享的 Samba 服务器。我可以从我的笔记本电脑访问此共享,并以我的身份登录到 Samba 服务器。但是,如果我使用 sudo 运行需要访问 Samba 服务器的进程,它会返回“权限被拒绝”错误。我需要在服务器上或在我的进程中更改什么才能使其正常工作?
以下是smb.conf中共享的设置:
[ourshare]
path = /srv/ourshare
valid users = me otheruser
force group = ourshare
browseable = no
guest ok = no
read only = no
create mask = 0660
force create mode = 0660
directory mask = 0770
force directory mode = 0770
服务器目录权限如下:
/srv: drwxr-xr-x 5 root root 4096 Mar 19 2023 srv
/srv/ourshare: drwxrws--- 9 nobody ourshare 4096 Apr 16 07:47 ourshare
就像我一样,我可以使用以下命令从命令行访问该目录:
me@mylaptop:~$ cd /run/user/1000/gvfs/'smb-share:server=192.168.1.100'
但是,当我使用 sudo 运行的脚本尝试使用 tar 访问相同路径时,出现“权限被拒绝”的错误:
tar -cvf /home/me/backup.tar -T /home/me/file-list.txt
其中 file-list.txt 包含以下行:
/run/user/1000/gvfs/'smb-share:server=192.168.1.100'
如果我执行 sudo -s 然后尝试 cd 进入共享,它也会失败并显示“权限被拒绝”。