标签: sudo

连接到没有sudo的mysql服务器

命令:

mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

给出错误:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Run Code Online (Sandbox Code Playgroud)

但运行sudo权限,有效:

sudo mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

是否有可能摆脱sudo要求,因为它阻止我在intellij中打开数据库?我在这个问题的答案中尝试了以下内容连接到没有sudo的本地MySQL服务器:

sudo chmod -R 755 /var/lib/mysql/
Run Code Online (Sandbox Code Playgroud)

这没有帮助.上面的问题引发了不同的错误

mysql sudo

35
推荐指数
6
解决办法
3万
查看次数

在OS X El Capitan我无法升级python包依赖于六个兼容性实用程序NOR我可以删除六个

我试图使用刮,但我有一个问题.

从six.moves导入xmlrpc_client作为xmlrpclib

ImportError:无法导入名称xmlrpc_client

然后,我尝试了pip install --upgrade six scrape,但是:

  Found existing installation: six 1.4.1
    DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
Uninstalling six-1.4.1:
Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 211, in main
status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 311, in run
root=options.root_path,
  File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 640, in …
Run Code Online (Sandbox Code Playgroud)

python macos sudo six

34
推荐指数
2
解决办法
2万
查看次数

错误:执行gem时...(Gem :: FilePermissionError)

我检查了所有其他类似的答案,没有一个与我的完全一样,这些解决方案都没有为我工作.

gem environmentsudo gem environment给出相同的结果:

RubyGems Environment:
  - RUBYGEMS VERSION: 1.5.3
  - RUBY VERSION: 1.8.7 (2011-12-28 patchlevel 357) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /usr/local/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/local/lib/ruby/gems/1.8
     - /home/ava/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/
Run Code Online (Sandbox Code Playgroud)

rvm -v : rvm …

ruby macos gem sudo osx-mountain-lion

33
推荐指数
9
解决办法
7万
查看次数

在没有密码的情况下使用sudo INSIDE脚本

出于某种原因,作为用户,我需要在没有sudo的情况下运行脚本script.sh,它需要root权限才能工作.
我看到将sudo INSIDE script.sh作为唯一的解决方案.我们来举个例子:

script.sh :

#!/bin/sh
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

当然,如果我执行这个脚本,我会得到一个提示,要求我输入密码.然后我添加到我的sudoers文件(最后覆盖其他所有内容):

user ALL=(ALL:ALL) NOPASSWD:/path/to/script.sh
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我也试过这条线:

user ALL=(ALL) NOPASSWD:/path/to/script.sh
Run Code Online (Sandbox Code Playgroud)

(我想我没有完全理解其中的区别)

但是如果我不使用sudo来执行这个脚本,这并不能解决我的问题:

# ./script.sh
[sudo] password for user: 
# sudo ./script.sh
Starts updating...
Run Code Online (Sandbox Code Playgroud)

好吧,所以我对自己说"好吧,这意味着如果我有一个像我一样的sudoers文件,只有当我用sudo打电话给他时,它才能正常工作,这不是我想要的".
好吧,我创建另一个脚本script2.sh如下:

script2.sh

#!/bin/sh
sudo /path/to/script.sh
Run Code Online (Sandbox Code Playgroud)

实际上它有效.但我对此解决方案并不满意,特别是因为我必须为每个命令使用2个脚本.

这篇文章是为了帮助人们解决这个问题,并寻找相同的解决方案(我没有找到一个好的帖子),也许有更好的解决方案来自你们.

随意分享您的想法!


编辑1:

我想坚持这样一个事实,即"apt-get update"只是我脚本实际上的一个例子.我的脚本有很多命令(有一些cd到root-access-only配置文件),解决方案不能"好吧,只需用apt-get直接执行".

一个例子的原则是帮助理解,而不是借口简化一般问题的答案.

linux bash shell sudo

33
推荐指数
4
解决办法
8万
查看次数

使用sudo运行时在shell脚本中获取$ USER?

如果我使用sudo运行shell脚本,如何获得正确的$ USER?

我在Mac安装包中将它们作为postinstall脚本运行,在那里它们被自动sudo-ed,但我需要使用用户名做一些事情.

但是,$ HOME是正确的.不优雅的方法是从主路径中提取名称,但我想知道是否有一种自然的方法来做到这一点.

我不能影响调用脚本的方式,因为它是安装程序内的自动调用.

unix shell sudo environment-variables

32
推荐指数
4
解决办法
2万
查看次数

不能在CentOS上运行Docker容器中使用yum

我无法在我的Docker容器中运行任何yum命令而不会收到以下错误:

ovl: Error while doing RPMdb copy-up:
[Errno 13] Permission denied: '/var/lib/rpm/Group'
You need to be root to perform this command.
Run Code Online (Sandbox Code Playgroud)

我很困惑,因为我非常确定docker容器是使用默认用户root运行的.不过,如果我尝试把须藤在前面yum install -y <package>yum update -y命令我得到:

/bin/sh: sudo: command not found
Run Code Online (Sandbox Code Playgroud)

我正在使用以下基本映像,因此我可以在Docker中轻松运行Java Wildfly应用程序:https://hub.docker.com/r/jboss/wildfly/

底层发行版是 CentOS Linux release 7.2.1511 (Core)

containers sudo centos yum docker

31
推荐指数
1
解决办法
1万
查看次数

如何在Linux上使用pip为所有用户安装模块?

如何在标准python环境中安装软件包, /usr/local/lib/python2.7/dist-packages使用pip并使这个新软件包可供所有用户使用而不使用virtualenv

通过使用以下内容,仅使用root权限安装软件包:

$ sudo pip install loremipsum
Downloading/unpacking loremipsum
  Downloading loremipsum-1.0.5.tar.gz
  Running setup.py (path:/tmp/pip_build_root/loremipsum/setup.py) 
  egg_info for package loremipsum

Installing collected packages: loremipsum
  Running setup.py install for loremipsum

Successfully installed loremipsum
Cleaning up...
Run Code Online (Sandbox Code Playgroud)

证明:

$ python -c 'import loremipsum'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named loremipsum

$ sudo python -c 'import loremipsum'

$ pip install loremipsum
Requirement already satisfied (use --upgrade to upgrade): loremipsum in …
Run Code Online (Sandbox Code Playgroud)

python linux sudo pip

30
推荐指数
4
解决办法
4万
查看次数

使用become/become_user的Ansible 2.1.0无法设置临时文件的权限

我的服务器上有一个ansible 2.1.0,我通过vagrant和PC 进行部署."部署"角色具有:

- name: upload code
  become: true
  become_user: www-data
  git: repo=git@bitbucket.org:****.git
     dest=/var/www/main
     key_file=/var/www/.ssh/id_rsa
     accept_hostkey=true
     update=yes
     force=yes
 register: fresh_code
 notify: restart php-fpm
 tags: fresh_code
Run Code Online (Sandbox Code Playgroud)

在这种情况下使用ansible 2.1.0我收到一个错误:

fatal: [default]: FAILED! => {"failed": true, "msg": "Failed to set permissions on the temporary files Ansible needs to create when becoming an unprivileged user. For information on working around this, see https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user"}
Run Code Online (Sandbox Code Playgroud)

我在我的电脑上使用它的2.0.1.0,通常都是 - 文件夹/ var/www /有文件夹主要与所有者和组www-data

如果我只使用become_user:www-data,如果我使用become_method:sudo with become_user:www-data - 我得到了同样的错误

需要做些什么来解决这个问题?

git sudo vagrant ansible ansible-2.x

29
推荐指数
2
解决办法
1万
查看次数

WSL 中的 VSCode:如何 sudo 根文件以便我可以编辑它

WSL v.1 -- VSCode v1.40.1(使用“远程 - WSL”扩展 40.3)

如何使用 sudo 和 VSCode 打开根拥有的文件进行编辑?(无需以 root 身份运行)

如果我打开一个没有 的根文件sudo,我将无法编辑它(预期): $ code /etc/profile.d/custom-profile.sh $

在此处输入图片说明

但是,如果我尝试使用sudo code该文件,我会得到:

$ sudo code /etc/profile.d/custom-profile.sh
[sudo] password for xxxx:
sudo: code: command not found
Run Code Online (Sandbox Code Playgroud)

下面的 Binarify 的回答表明我可以将默认用户切换到root,但我绝对不想以 root 身份运行,所以我仍在寻找其他解决方案。

sudo visual-studio-code windows-subsystem-for-linux vscode-remote

29
推荐指数
7
解决办法
2万
查看次数

如何在WinSCP中运行SUDO命令将文件从Windows传输到Linux

我正在尝试使用WinSCP将文件从Windows传输到Linux实例.

我使用私钥为我的实例使用ec2-user登录到亚马逊实例.但是,ec2-user无权写入Linux实例

我怎么sudo su - 使用WinSCP或任何其他文件传输方法访问根目录并写入linux框?

谢谢

linux sudo winscp

28
推荐指数
4
解决办法
7万
查看次数