centos source /etc/sudoers 报:bash: Defaults: 未找到命令...
时间: 2024-01-25 09:04:10 浏览: 35
当你运行 `source /etc/sudoers` 命令时,出现 "bash: Defaults: command not found" 错误,这是因为 `/etc/sudoers 文件不应该被直接加载或执行,它是由系统自动解析的。`source` 命令用于加载 shell 脚本文件,而 `/etc/sudoers` 并不是一个可执行的脚本文件。
如果你需要重新加载 sudoers 文件使更改生效,可以使用以下命令:
```
sudo -i
```
这将以 root 用户身份登录并打开一个新的交互式 shell。在这个 shell 中,sudoers 文件会自动加载,并且你的更改将生效。
请注意,在修改 sudoers 文件之前,务必小心并确保对文件的更改是正确的。任何错误的更改都可能导致系统安全性问题。如果你不确定如何修改 sudoers 文件,请备份原始文件并寻求系统管理员或其他有经验的人员的帮助。
相关问题
centos 设置-bash: /etc/sudoers:行100: 未预期的符号 `(' 附近有语法错误
在 CentOS 上遇到 "sudoers: line 100: unexpected symbol `(' near syntax error" 错误通常是由于 `/etc/sudoers` 文件中存在语法错误导致的。请按照以下步骤检查和修复该问题:
1. 使用 visudo 命令编辑 sudoers 文件:
执行以下命令以使用 visudo 命令编辑 `/etc/sudoers` 文件:
```
sudo visudo
```
请注意,不要使用普通的文本编辑器直接编辑 `/etc/sudoers` 文件,因为这样可能会导致更多的语法错误。
2. 定位并修复语法错误:
在打开的 `/etc/sudoers` 文件中,定位到行号为 100 的行,并检查附近是否存在语法错误。错误可能是由于括号、引号、方括号等符号使用不正确导致的。确保所有符号都正确关闭,并且没有多余的符号。
3. 保存文件并退出编辑器:
修复语法错误后,保存 `/etc/sudoers` 文件并退出 visudo 编辑器。
4. 验证 sudoers 文件:
执行以下命令验证 sudoers 文件是否有语法错误:
```
sudo visudo -c
```
如果没有显示任何错误消息,则表示 sudoers 文件中的语法错误已被修复。
请注意,在修改 sudoers 文件时要非常小心,因为对该文件的错误更改可能导致系统安全性问题。如果你不确定如何修复语法错误,请备份 sudoers 文件,或者寻求系统管理员或其他有经验的人员的帮助。
-bash /etc/init.d/mysqld :没有那个文件或目录
### 回答1:
这个错误通常意味着 MySQL 服务没有安装或者已经被卸载了。你可以尝试重新安装 MySQL 并检查是否存在 `/etc/init.d/mysqld` 文件。
如果你使用的是 Ubuntu 或 Debian 等基于 Debian 的 Linux 发行版,可以使用以下命令重新安装 MySQL:
```
sudo apt-get update
sudo apt-get install mysql-server
```
如果你使用的是 CentOS 或 Red Hat 等基于 Red Hat 的 Linux 发行版,可以使用以下命令重新安装 MySQL:
```
sudo yum update
sudo yum install mysql-server
```
安装完成后,你可以使用以下命令来检查 `/etc/init.d/mysqld` 文件是否存在:
```
ls /etc/init.d/mysqld
```
如果文件存在,你可以使用以下命令来启动 MySQL 服务:
```
sudo /etc/init.d/mysqld start
```
如果文件不存在或者以上方法不能解决问题,你可以尝试使用 `systemctl` 命令来启动 MySQL 服务。例如:
```
sudo systemctl start mysql
```
### 回答2:
这个错误提示翻译为中文是“-bash /etc/init.d/mysqld: 没有那个文件或目录”。这个错误通常是由于系统中不存在mysqld服务的启动脚本所致。
要解决这个问题,可以执行以下几步:
1. 首先,确认你的系统上是否安装了MySQL数据库。可以通过运行命令“mysql -V”来检查MySQL的版本信息。如果未安装,可以使用适合你操作系统的包管理器来安装MySQL。
2. 如果MySQL已经安装,但是找不到mysqld的启动脚本的话,有可能是脚本的路径不同。你可以尝试搜索一下系统上的MySQL启动脚本,可以使用以下命令来搜索:
```shell
find / -name "mysqld"
```
这将在整个文件系统中搜索名为“mysqld”的文件。如果找到了,可以根据实际路径修正启动脚本的路径。
3. 如果未找到mysqld脚本,可以尝试查看MySQL安装目录下的init.d文件夹或者bin文件夹,看看是否有类似的启动脚本。如果没有,可以在MySQL官方网站上下载适合你的版本的MySQL,然后将其解压并安装。
4. 如果你确定已经安装了MySQL,并且mysqld启动脚本确实不存在,那么可能是因为安装过程中出现了错误。你可以尝试重新安装MySQL来修复问题。
总之,如果你遇到了“-bash /etc/init.d/mysqld: 没有那个文件或目录”这个错误,首先要确认MySQL是否已经正确安装,并且启动脚本是否存在或者路径是否正确。如果没有正确安装或者脚本不存在,需要重新安装MySQL来解决问题。
### 回答3:
这个问题的原因是在执行"-bash /etc/init.d/mysqld"命令时,系统找不到相应的文件或目录。这通常是由以下几个可能的原因所引起的:
1. MySQL未正确安装:首先,您需要确保MySQL已经成功安装到系统中。您可以使用适合您的Linux发行版的包管理器来安装MySQL。
2. MySQL服务名称不正确:命令中"/etc/init.d/mysqld"指定了MySQL的服务脚本路径。然而,如果您的系统中的MySQL服务脚本名称与此路径不匹配,则会出现该错误。您可以尝试查找正确的MySQL服务脚本路径或名称。
3. MySQL服务不在指定的路径中:您还需要确保您的MySQL服务脚本实际存在于"/etc/init.d/"目录中。如果没有,请尝试查找MySQL服务脚本所在的正确路径。
4. 权限问题:还有可能是由于权限问题导致系统无法找到"/etc/init.d/mysqld"文件或目录。请确保您具有足够的权限来执行该命令。
综上所述,您需要确认MySQL已成功安装,正确指定MySQL服务脚本的路径和名称,并确保您具有足够的权限来执行该命令。如果问题仍然存在,请参考相关文档或搜索以了解更多解决方法。