知识分享之Ubuntu——去除sudo经常输入密码问题

本文介绍了如何在Ubuntu 20.04上通过编辑sudoers文件,实现免密执行sudo命令,适用于提高开发环境效率。通过在sudoers文件末尾添加用户和NOPASSWD指令,然后重启SSH连接,即可避免频繁输入密码。注意,此设置在生产环境中可能带来安全隐患。

知识分享之Ubuntu——去除sudo经常输入密码问题

背景

日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。
同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。

全文使用环境:

  • 操作系统:Ubuntu 20.04
  • 硬件:Vmware虚拟机 4核 8G内存 200G存储

正文

在我们使用Ubuntu时经常遇到需要使用最高权限执行的命令,这时就需要增加sudo,而sudo命令通常需要我们进行输入一次管理员密码才可以使用,一段时间不操作,或者我们重新SSH连接上去后,再次使用sudo时仍然需要重新输入管理员密码,这种限定在生产环境下是一种很好的方式,在开发环境下就为我们的操作带来了一定的时间浪费,尤其是密码比较复杂时更加麻烦。
因此我们能否使用sudo时不输入密码呢?答案是肯定的。下面我们就开始实现它。

1、对于sudoers文件进行编辑,执行如下命令

cnhuashao@cnhuashao:~$ sudo visudo

2、在打开的文件下面增加如下代码

cnhuashao    ALL=(ALL) NOPASSWD:ALL

最终结果如下:

# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:
cnhuashao    ALL=(ALL) NOPASSWD:ALL

#includedir /etc/sudoers.d

这时我们进行创建一个新的SSH连接,再次进行执行sudo测试,就会发现不需要输入密码了。

本文声明:

知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

<think> 嗯,用户这次明确询问Ubuntu系统下如何去掉挂载的方法。从问题表述看,用户应该已经完成了挂载操作,现在需要卸载设备。需要特别注意用户可能混淆了临时卸载和永久卸载的区别——如果是通过/etc/fstab设置的自动挂载,单纯用umount命令重启后仍会重新挂载。 用户引用了两个关于挂载的站内资料,虽然第一段提到"永久挂载"但重点在数据安全和权限,第二段主要讲WebDAV协议特性,与当前需求关联有限。不过可以推断用户可能操作过类似云盘挂载的场景。 考虑到用户的技术背景,应该优先提供最常用的命令行方案,同时区分临时/永久两种场景。图形界面方案虽然简单但不够灵活,作为备选即可。需要特别强调: 1. 权限问题(必须用sudo) 2. 设备忙时的处理技巧(lsof/fuser) 3. 永久卸载必须修改fstab 4. 安全卸载的重要性(避免数据损坏) 用户没有说明具体设备类型,所以机械硬盘、SSD、网络存储的方案要统一覆盖。意外发现用户引用的阿里云盘案例,补充了WebDAV卸载的特殊说明——这可能是用户没说出口的实际使用场景。 最后生成的提问刻意引导用户说明设备类型,因为网络存储的卸载流程比本地磁盘更复杂。另外两个问题分别针对卸载失败和权限错误的常见痛点,应该能覆盖多数故障情况。 </think> 在Ubuntu系统中安全卸载挂载点的方法如下,分为**临时卸载**和**永久卸载**两种场景: --- ### **一、临时卸载(重启后挂载恢复)** #### 1. **查看已挂载设备** 终端执行: ```bash df -h # 查看挂载点及设备名(如 /dev/sdb1、/mnt/data) mount | grep "/mnt" # 筛选特定目录挂载 ``` #### 2. **卸载设备** ```bash sudo umount /挂载点路径 # 示例:sudo umount /mnt/data ``` **常见问题处理:** - **设备忙(Device is busy)**: 关闭占用文件的进程: ```bash sudo lsof +D /挂载点路径 # 查看占用进程 sudo kill -9 <进程ID> # 结束进程 sudo umount -l /挂载点路径 # 强制延迟卸载(lazy unmount) ``` --- ### **二、永久卸载(彻底移除挂载配置)** #### 1. **删除 `/etc/fstab` 中的挂载项** ```bash sudo nano /etc/fstab # 编辑配置文件 ``` 删除对应设备的挂载行(例如:`/dev/sdb1 /mnt/data ext4 defaults 0 0`),保存退出。 #### 2. **卸载并清理残留(可选)** ```bash sudo umount /挂载点路径 # 确保已卸载 sudo rmdir /挂载点路径 # 删除空目录(如无需保留) ``` --- ### **三、特殊场景:卸载网络存储(如WebDAV)** 若通过 `webdav` 挂载(如引用[2]的阿里云盘): ```bash # 查找进程并结束 pgrep -f "webdav" | xargs sudo kill -9 # 卸载目录 sudo umount -l /挂载点路径 ``` --- **注意事项** 1. **数据安全**:卸载前确保无程序读写挂载点,避免数据损坏[^1]。 2. **权限问题**:操作需 `sudo` 权限,卸载后检查目录归属。 3. **网络存储**:若配置了自动挂载(如 `systemd` 服务),需同步禁用服务。 > **提示**:永久卸载后,若需重新挂载,需重新配置 `/etc/fstab` 或自动挂载工具。 --- **
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CN華少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值