在Ubuntu中删除文件遇到Permission denied

本文介绍了解决在尝试删除一个看似普通但实际被其他终端占用的空文件夹时遇到的Permission denied错误的方法。通常这种问题与用户权限相关,但在此案例中是因为文件夹在另一终端中被打开而导致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在清理文件时想删除文件 face_tracking ,情况如下图所示:

todo@team317:/mnt/d/ProgrammingCode/local_project$ ll
total 0
drwxrwxrwx 1 todo todo 4096 Oct 11 18:28 ./
drwxrwxrwx 1 todo todo 4096 Oct 11 16:47 ../
drwxrwxrwx 1 todo todo 4096 Oct 12 08:26 face_tracking/
drwxrwxrwx 1 todo todo 4096 Oct 11 22:57 python_practice/
todo@team317:/mnt/d/ProgrammingCode/local_project$ rm -rf ./face_tracking/
rm: cannot remove './face_tracking/': Permission denied
todo@team317:/mnt/d/ProgrammingCode/local_project$ sudo rm -rf ./face_tracking/
rm: cannot remove './face_tracking/': Permission denied

现在face_tracking是一个空文件夹。以往遇到 Permission denied 一般和用户权限有关。但是face_tracking 文件夹属于用户todo,同时属于todo用户组,用户todo却无法对他进行删除。

后面发现在其他终端中 cd 到了face_tracking文件夹中,相当于face_tracking 在其他终端中打开了,导致其被保护起来,无法删除。

解决方案也简单,关闭另一个终端,或者在另一个终端中通过 cd 命令退出 face_tracking 文件夹。

### Ubuntu 中 'Permission Denied' 的解决方案 在 Ubuntu 系统中遇到 `permission denied` 错误通常是因为当前用户缺乏足够的权限来访问某些资源或执行特定命令。以下是几种常见的解决方法: #### 方法一:切换至 Root 用户 可以通过设置并切换到系统的超级用户(root)来解决问题。具体步骤如下: 1. 使用以下命令为 root 设置密码: ```bash sudo passwd ``` 输入两次新密码后完成设置[^1]。 2. 切换到 root 账户: ```bash su root ``` 成功切换后,终端提示符中的 `$` 将变为 `#`,表示已获得管理员权限。 #### 方法二:授予目标文件夹适当权限 如果仅需对某个文件夹或文件赋予更高的权限,可以使用 `chmod` 命令调整权限级别。例如: ```bash sudo chmod -R 777 /path/to/folder ``` 其中 `-R` 表示递归修改整个目录及其子目录的权限;`777` 表示所有用户均具有读取、写入和执行权限[^2]。需要注意的是,过度放宽权限可能带来安全风险,因此建议只针对必要路径进行此操作。 #### 方法三:编辑 SSH 配置允许 Root 登录 (适用于远程连接场景) 当通过 SCP 或其他方式尝试从另一台机器上传输数据时遭遇拒绝访问的情况,可能是服务器端禁用了 root 登录功能。对此可做如下处理: 1. 修改SSH服务配置文件 `/etc/ssh/sshd_config` ,找到行 `PermitRootLogin no` 并将其更改为 `yes`; 2. 保存更改后的文档退出编辑器; 3. 重新启动SSH服务使改动生效: ```bash systemctl restart sshd.service ``` #### 方法四:运行 Docker 容器时增加特权选项 对于涉及Docker容器启动失败的问题,可以在原有指令基础上添加参数以提升权限等级。比如下面的例子展示了如何附加 `--privileged=true` 参数以及映射宿主机上的共享存储位置给容器内部使用的情形: ```bash docker run -d -p 9091:8080 -v /home/daniu/docker/tomcat/webapps/:/usr/local/tomcat/webapps/ --privileged=true --name managertomcat xuhaixing/mytomcat ``` 这样做的目的是让容器能够完全控制其所在环境下的硬件设备及其他敏感区域[^4]。 综上所述,面对不同类型的 `permission denied` 报错现象,可以根据实际情况选用上述任意一种策略加以应对。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值