使用 VS 代码命令行界面 (CLI) 打开 Raspberry Pi 网络附加存储 (NAS) 上的文件夹时权限被拒绝
Permission denied when opening folder on Raspberry Pi Network Attached Storage (NAS) with VS Code Command Line Interface (CLI)
我在 Raspberry Pi 4b 上安装了 Raspbian Lite 和 Samba。
下面是我的 smb.conf 文件。
[global]
workgroup = WORKGROUP
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
panic action = /usr/share/samba/panic-action %d
server role = standalone server
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes
[homes]
comment = Home Directories
browseable = no
read only = yes
create mask = 0700
directory mask = 0700
valid users = %S
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = yes
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = no
guest ok = no
[home]
path = /mnt/raid1
writeable = yes
create mask = 0777
directory mask = 0777
public = no
read only = no
browseable = yes
我从 Windows 10 和 Linux (Ubuntu 18.04.5 LTS) 客户端访问服务器。在 Windows 客户端上一切正常。登录 Linux 客户端后,我第一次尝试通过 VS 代码命令行界面 (CLI) code
打开 Raspberry Pi 上的文件夹时,它起作用了。但是,每次我尝试通过 code
打开位于 NAS 上的文件夹时,无论我使用哪个标志,我都会收到以下错误:
cannot stat path of the current working directory: Permission denied
当我使用 vim 打开 NAS 上的文件夹时,一切正常。此外,Eclipse IDE 的工作区存储在 Raspberry Pi 上,Eclipse 对此没有问题。除了 CLI code
.
,我可以在 NAS 上更改和保存文件
我只在处理存储在 NAS 上的文件夹时从 VS Code 命令行界面收到此错误。当我在本地硬盘驱动器或外部硬盘驱动器上工作时,没有任何错误。即使我通过桌面图标打开VS Code并在GUI中打开存储在NAS上的文件夹,这里也没有错误。
以下是我的 Linux 客户端上我的 NAS 挂载点的权限和所有者
rwxr-xr-x niko niko (niko is the user account on my Linux client)
下面是我的Raspberry Pi硬盘挂载点上文件夹的权限和所有者,可以使用SMB协议通过网络访问
drwxr-xr-x 7 pi pi
├── some folder
├── drwx------ 2 pi pi
├── some folder
├── drwx------ 4 pi pi
│ ├── drwxrwxrwx 2 pi pi
│ └── drwxrwxrwx 3 pi pi
│ └── drwxrwxrwx 20 pi pi
│ ├── drwxrwxrwx 41 pi pi
│ └── -rwxrw-rw- 1 pi pi
└── some folder
- 我添加了权限(用户、组、其他)以及拥有 Raspberry Pi 上的文件夹和文件的用户和组的名称,而不是文件夹和文件名。可以看到,当我以用户pi登录时,挂载点目录下的所有文件、文件夹和子文件夹都属于用户pi和组pi。
这是我用来自动挂载 Samba 服务器的/etc/fstab
行
//192.168.178.96/home /media/samba cifs credentials=/Path/To/My/Credentials,users,uid=1000,gid=1000 0 0
以下是我为 VS Code 安装的扩展,以防错误可能与扩展有关:
- AVR 支持
- 更好的评论
- C/C++
- Java
的 Checkstyle
- Cloudfoundry 清单 YML 支持
- 代码运行器
- Concurse CI 管道编辑器
- Java
的调试器
- Docker
- Eclipse 新建 Java 项目
- Java 扩展包
- Java 测试员
- 码头 Java
- Jupyter
- Red Hat Java(TM) 的语言支持
- Linux VS Code 主题
- Material 图标主题
- Maven Java
- 平台IO IDE
- Java
的项目经理
- 皮兰斯
- Python
- 远程 - 容器
- Spring 引导仪表板
- Spring 引导扩展包
- Spring 引导工具
- Spring初始化Java支持
- Tomcat 对于 Java
- Visual Studio IntelliCode
- x86 和 x86_64 程序集
- XML
- ESLint
我在NAS上安装anaconda3时也遇到权限问题。 Here是我另一个问题的link,我猜这两个是相关的。
提前感谢您的帮助和反馈。
我能够通过重新安装 VS Code 来解决这个问题。
我在 Raspberry Pi 4b 上安装了 Raspbian Lite 和 Samba。 下面是我的 smb.conf 文件。
[global]
workgroup = WORKGROUP
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
panic action = /usr/share/samba/panic-action %d
server role = standalone server
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes
[homes]
comment = Home Directories
browseable = no
read only = yes
create mask = 0700
directory mask = 0700
valid users = %S
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = yes
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = no
guest ok = no
[home]
path = /mnt/raid1
writeable = yes
create mask = 0777
directory mask = 0777
public = no
read only = no
browseable = yes
我从 Windows 10 和 Linux (Ubuntu 18.04.5 LTS) 客户端访问服务器。在 Windows 客户端上一切正常。登录 Linux 客户端后,我第一次尝试通过 VS 代码命令行界面 (CLI) code
打开 Raspberry Pi 上的文件夹时,它起作用了。但是,每次我尝试通过 code
打开位于 NAS 上的文件夹时,无论我使用哪个标志,我都会收到以下错误:
cannot stat path of the current working directory: Permission denied
当我使用 vim 打开 NAS 上的文件夹时,一切正常。此外,Eclipse IDE 的工作区存储在 Raspberry Pi 上,Eclipse 对此没有问题。除了 CLI code
.
我只在处理存储在 NAS 上的文件夹时从 VS Code 命令行界面收到此错误。当我在本地硬盘驱动器或外部硬盘驱动器上工作时,没有任何错误。即使我通过桌面图标打开VS Code并在GUI中打开存储在NAS上的文件夹,这里也没有错误。
以下是我的 Linux 客户端上我的 NAS 挂载点的权限和所有者
rwxr-xr-x niko niko (niko is the user account on my Linux client)
下面是我的Raspberry Pi硬盘挂载点上文件夹的权限和所有者,可以使用SMB协议通过网络访问
drwxr-xr-x 7 pi pi
├── some folder
├── drwx------ 2 pi pi
├── some folder
├── drwx------ 4 pi pi
│ ├── drwxrwxrwx 2 pi pi
│ └── drwxrwxrwx 3 pi pi
│ └── drwxrwxrwx 20 pi pi
│ ├── drwxrwxrwx 41 pi pi
│ └── -rwxrw-rw- 1 pi pi
└── some folder
- 我添加了权限(用户、组、其他)以及拥有 Raspberry Pi 上的文件夹和文件的用户和组的名称,而不是文件夹和文件名。可以看到,当我以用户pi登录时,挂载点目录下的所有文件、文件夹和子文件夹都属于用户pi和组pi。
这是我用来自动挂载 Samba 服务器的/etc/fstab
行
//192.168.178.96/home /media/samba cifs credentials=/Path/To/My/Credentials,users,uid=1000,gid=1000 0 0
以下是我为 VS Code 安装的扩展,以防错误可能与扩展有关:
- AVR 支持
- 更好的评论
- C/C++
- Java 的 Checkstyle
- Cloudfoundry 清单 YML 支持
- 代码运行器
- Concurse CI 管道编辑器
- Java 的调试器
- Docker
- Eclipse 新建 Java 项目
- Java 扩展包
- Java 测试员
- 码头 Java
- Jupyter
- Red Hat Java(TM) 的语言支持
- Linux VS Code 主题
- Material 图标主题
- Maven Java
- 平台IO IDE
- Java 的项目经理
- 皮兰斯
- Python
- 远程 - 容器
- Spring 引导仪表板
- Spring 引导扩展包
- Spring 引导工具
- Spring初始化Java支持
- Tomcat 对于 Java
- Visual Studio IntelliCode
- x86 和 x86_64 程序集
- XML
- ESLint
我在NAS上安装anaconda3时也遇到权限问题。 Here是我另一个问题的link,我猜这两个是相关的。
提前感谢您的帮助和反馈。
我能够通过重新安装 VS Code 来解决这个问题。