首页 > 其他分享 >如何解决普通用户使用 sudo 找不到命令

如何解决普通用户使用 sudo 找不到命令

时间:2022-11-26 20:00:16浏览次数:63  
标签:git develop sudo 命令 api usr 普通用户 local

转载自:http://t.zoukankan.com/murry-p-8717151.html

 

====================================

 

一、在linux的普通用户下,要使用root权限的命令需要使用sudo

[dev@dev1 client_api]# sudo git pull origin develop
sudo: git: command not found

但是发现git命令找不到

二、使用whereis找git的绝对路径

[dev@dev1 client_api]$ whereis git
git: /usr/local/git

再次尝试

[dev@dev1 client_api]$ sudo /usr/local/git pull origin develop
sudo: /usr/local/git: command not found

还是不对的 换成which试试

[dev@dev1 client_api]$ which git
/usr/local/git/bin/git

这次找到的位置是截然不同的
再次尝试

[dev@dev1 client_api]$ sudo /usr/local/git/bin/git pull origin develop
From IP地址:client_api
 * branch            develop    -> FETCH_HEAD
Updating 81608e5..815cbbb
error: Your local changes to the following files would be overwritten by merge:
    app/Models/OrderMaster.php
    app/Services/OrderService.php
    config/params.php
Please, commit your changes or stash them before you can merge.
Aborting

很明显成功了 

三、寻找原因

因为sudo默认的配置文件下只是指定三个命令位置,如下

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

所以采用软连接的方式

ln -s /usr/local/git/bin/git /usr/bin/git

这次再尝试直接使用命令

[dev@dev1 client_api]$ sudo git pull origin develop
remote: Counting objects: 34, done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 21 (delta 13), reused 0 (delta 0)
Unpacking objects: 100% (21/21), done.
From IP地址:018_client_api
 * branch            develop    -> FETCH_HEAD
   815cbbb..a93dc24  develop    -> origin/develop
Updating 81608e5..a93dc24
error: Your local changes to the following files would be overwritten by merge:
    app/Models/OrderMaster.php
    app/Services/OrderService.php
    config/params.php
    routes/api.php
Please, commit your changes or stash them before you can merge.
Aborting

好了 完美

标签:git,develop,sudo,命令,api,usr,普通用户,local
From: https://www.cnblogs.com/hd92/p/16928169.html

相关文章

  • 学到的一些基本cmd、dos命令与小技巧
    文件资源管理器里路径前面加cmd可以直接在当前目录打开CMD(盘符号)://切换盘符dir//查看当前目录下全部文件(查看子目录)cd(当前目录下文件夹名字)//进入子目录cd/d......
  • 命令模式(Command)
    将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。 结构:......
  • Centos常用硬件查看命令
    1、查看硬盘信息查看磁盘使用情况可以使用【lsblk】【fdisk-l】【df-h】等命令进行查看,每个命令有多种使用方法,这里只介绍最基本的使用方法。查看磁盘和分区分布,可以......
  • docker常用命令
    docker的常用命令帮助命令dockerversion#显示docker的版本信息dockerinfo#显示docker的系统的详细信息docker命令---help#帮助命令帮助文档的地址:https://......
  • 使用MeshCmd实现AMT命令行远程开机
        MeshCmd(MeshCommander)是一个新的全功能命令行工具,适用于在Windows和Linux上运行的英特尔®AMT。新工具称为“MeshCmd”,也称为“MeshCommand”。它使使用......
  • Linux操作系统之hostname 命令
    前言①hostname显示或设置系统的主机名。②Linux操作系统查看主机名hostname的两种方式通过hostname命令来查看本机的hostname;命令: hostnameLinux操作系统的hostname是一......
  • Linux操作系统之hostname 命令
    前言①hostname显示或设置系统的主机名。②Linux操作系统查看主机名hostname的两种方式通过hostname命令来查看本机的hostname;命令: hostnameLinux操作系统的hostname是一......
  • git命令及常用操作
    1、基础操作1.1、常用命令提交代码gitstatus-sbgitadd.gitcommit-m"fix"gitpushorigindev_20190510001 查询状态gitstatus 查看日志gitlog--st......
  • 使用了京东云,系统为centos8在使用yum命令进行下载时,提示404
    鉴于CentOS8操作系统版本已结束生命周期(EOL),且CentOS社区已于2021年12月31日起停止CentOS8版本维护,京东云将不再对CentOS8镜像进行维护和更新。停止维护影响说明:①您使......
  • UG二次开发NXOpen-Python(十二) 通过命令行运行程序
    因为各种原因,有时候,我们不希望在UG程序界面通过人机交互来执行二次开发程序,我们希望可以在后台运行程序,例如我们自己做了一个UI界面,想通过点按钮生成一些部件文件。比如说......