Questions tagged «sudo»

sudo-以超级用户权限执行命令。


6
Ubuntu无根sudo设置的缺点/缺点
默认情况下,Ubuntu不创建用户可以登录的根帐户。相反,用户sudo在需要执行需要管理访问权限的操作时使用。 显然,Ubuntu的人觉得这是个好主意,我在Ubuntu站点上阅读的所有内容都提供了许多理由,使他们认为这是个好主意(例如,参见RootSudo @ Ubuntu Wiki)。 但是,许多其他主流发行版,例如Debian,Gentoo等,默认情况下都不会采用这种方式进行设置,而我试图找出原因。如果Ubuntu的默认sudo-root设置是一个好主意,为什么所有其他主流发行版也不都这样做呢?这使我相信,可能有很强的理由不这样做。但是我很难找到任何可以提供任何细节的信息。我所发现的只是谈论它多么伟大的文章/帖子... 所以我的问题是:Ubuntu的sudo设置是否存在任何主要问题(不安全性,功能限制等),它们会阻止其他发行版使用此设置,如果是,它们是什么?当然,这可能是一个好主意,因为其他发行版的发行速度缓慢或受其抵制,因为它与过去30年的运作方式不同。如果是这样,我想知道。
9 ubuntu  sudo  root 

3
使用sudo运行vim时“未指定协议”
最近,我开始使用时收到“未指定协议” sudo vim。我猜这只是一个警告,因为一切都正常工作(我可以打开,编辑和保存文件)。如果我使用该消息,则不会出现该消息,sudo -E vim因此我认为/etc/profile最近编辑时做错了什么,但不确定。我怎样才能解决这个问题?

3
回显tail命令会产生意外的输出?
此命令单独运行时,将产生预期的结果(crontab的最后一行): tail -n 1 /etc/crontab 但是,当我将其作为echo命令的一部分运行以将结果发送到文件时,它会添加工作目录中所有文件的摘要以及预期结果: sudo bash -c 'echo $(tail -n 1 /etc/crontab) > /path/to/file' 为什么此命令产生额外的数据?
8 bash  sudo  cron  echo  tail 

1
我可以告诉查找到不还原初始工作目录吗?
findsudo -u如果初始工作目录对用户不可见,则无法在后面运行时“恢复初始工作目录” 。这导致find总是打印出令人讨厌的“ 权限被拒绝”警告消息: $ pwd /home/myuser $ sudo -u apache find /home/otheruser -writable find: failed to restore initial working directory: Permission denied 阻止查找打印此消息的最佳方法是什么? 一种方法是cd /在运行find之前,更改为find用户可以还原的目录。理想情况下,我只想找到诸如这样的选项,--do-not-restore-initial-working-directory但我想那是不可用的。;) 我主要使用基于RedHat的发行版。
8 linux  find  sudo 

2
为什么带有通配符的sudo mv操作不起作用?
我认为必须对此有一个简单的答案,但我不知道为什么这不起作用! 我的主目录中有一个文件夹(好几个级别),称为安装插件。我想将该文件夹的所有内容(大约15个.jar文件)传输到另一个文件夹,也称为安装插件。 这是我正在尝试的: $ sudo mv /home/jira-plugins/installed-plugins/* /var/atlassian/application-data/jira/plugins/installed-plugins/ mv: cannot stat `/home/jira-plugins/installed-plugins/*': No such file or directory 我怎么了 该文件夹绝对不是空的。这是ls输出: $ sudo ls /home/jira-plugins/installed-plugins analytics-client-3.15.jar plugin.2223138796603023855.jira-importers-plugin-6.0.30.jar atlassian-chaperone-2.0.3.jar plugin.330169947367430109.jira-fisheye-plugin-6.2.8.jar atlassian-client-resource-1.0.jar plugin.4363048306537053933.jeditor-2.1.7.2.jar atlassian-pocketknife-api-commons-plugin-0.19.jar plugin.4438307615842123002.jira-ical-feed-1.0.4.jar atlassian-pretty-urls-plugin-1.8.jar plugin.461510159947098121.jira-issue-collector-plugin-1.2.5.jar base-hipchat-integration-plugin-7.8.24.jar plugin.5630909028354276764.atlassian-universal-plugin-manager-plugin-2.7.8.jar base-hipchat-integration-plugin-api-7.8.24.jar plugin.6920509095052318016.atlassian-bonfire-plugin-2.9.13.jar hipchat-core-plugin-0.8.3.jar plugin.6952408596192442765.atlassian-bonfire-plugin-2.8.2.jar hipchat-for-jira-plugin-1.2.11.jar plugin.7079751365359230322.jira-importers-bitbucket-plugin-1.0.8.jar jira-email-processor-plugin-1.0.29.jar plugin.7451827330686083284.atlassian-universal-plugin-manager-plugin-2.21.4.jar jira-fisheye-plugin-7.1.1.jar plugin.7498175247667964103.jira-importers-redmine-plugin-2.0.7.jar jira-ical-feed-1.1.jar plugin.7803627457720701011.jira-importers-plugin-3.5.3.jar jira-issue-nav-components-6.2.23.jar plugin.7977988994984147602.jira-bamboo-plugin-5.1.6.jar jira-servicedesk-2.3.6.jar …
8 shell  sudo  wildcards  mv 

2
如何防止在sudo中使用调用方的shell
我在CentOS 6.5上运行sudo-1.8.6。我的问题很简单:如何防止SHELL从用户环境传播到sudo环境? 通常人们会选择另一种方式-他们想要保留环境变量。但是,我的用户“ zabbix”的shell /sbin/nologin尝试通过sudo运行命令时遇到问题。Sudo保留,/sbin/nologin以便root无法运行子shell。(更新:这部分是正确的,但不是SHELL环境变量。这是从/ etc / passwd中提取的shell值。) 我提供了一个可以说明问题的测试;这不是我的实际用例,而只是说明保留了调用用户的SHELL。我有一个以用户身份运行的程序zabbix。它调用/usr/bin/sudo -u root /tmp/doit(程序作为zabbix守护程序运行,因此/sbin/nologin密码文件中的shell不会阻止它运行)。/tmp/doit是一个shell脚本,仅具有: #!/bin/sh env > /tmp/outfile (模式显然是755)。在outfile我可以看到的SHELL是/sbin/nologin。但是,此时脚本通过sudo以root身份运行,因此它不应该具有先前用户的环境变量,对吗? 这是我的/ etc / sudoers: 默认要求 默认值!visiblepw 默认为always_set_home 默认值env_reset 默认值env_keep =“颜色显示主机名历史记录输入INPUTRC KDEDIR LS_COLORS” 默认值env_keep + =“邮件PS1 PS2 QTDIR用户名LANG LC_ADDRESS LC_CTYPE” 默认值env_keep + =“ LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES” 默认值env_keep + =“ LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER …

1
为什么sudo需要回送接口?
我们试图在Ubuntu计算机上安装我们的软件。为此,我们需要root特权。基本上,我们需要做的就是运行一个可运行的jar,如:sudo java -jar runnableJar.jar。 所有这些命令将返回:Unable to resolve host xxxxx。 该/etc/hosts文件hostname针对环回接口列出了不正确的内容,从而导致了此错误。所有不需要的命令都sudo运行良好。 我一直在阅读回送接口,并且我的理解是它设置了本地主机并且是一个虚拟网络接口。但是,为什么根本sudo需要它呢?
8 sudo  hostname 

2
sudo sudo是什么意思?
我正在使用Cloud9进行Rails开发,它使用Ubuntu环境。在有关使用PostgreSQL数据库的文档中,它说: 连接到服务: $ sudo sudo -u postgres psql 两次输入sudo是什么意思? https://docs.c9.io/setting_up_postgresql.html
8 sudo 

1
第一须藤总是慢
sudo我在Ubuntu 14.04服务器上输入的第一个总是很慢。密码提示会立即显示,但是在我按Enter键之后,大约需要10到15秒钟,直到打印输出。此后所有sudo命令都会立即执行。 sudo strace -S time -c sudo echo hi在这种情况下,运行类似之类的命令不会显示任何有用的信息,因为sudo from sudo echo hi已经是第二个sudo并且可以快速执行。如果过了一段时间,并且我必须在运行的会话中重新输入密码,那么它又很慢。 我发现的所有解决方案都是在/etc/hosts文件中添加主机名作为127.0.0.1的解析,但我没有用。su root立即执行。我记得最近几天更改的唯一一件事是服务器路由,安装samba,dnsutils和bind9的子网的子网掩码。但是这些进程都没有运行,并且问题仍然存在,包括物理访问,ssh会话以及tmux会话。 编辑:新方法 我尝试sudo tcpdump -vvvi any > tcpdump.log 在所有NIC都断开连接的情况下运行。日志显示以下内容: 18:35:09.453399 IP (tos 0x0, ttl 64, id 49112, offset 0, flags [DF], proto UDP (17), length 76) localhost.38498 > localhost.domain: [bad udp cksum 0xfe4b -> 0x1050!] …
8 sudo  dns  pam 

3
从詹金斯致电sudo
我有一台构建计算机,该计算机的abcsudo访问权限受到限制。当我签出源代码并运行构建脚本时,它可以正常工作。生成脚本包含的sudo调用不会说“ sudo:不存在tty且未指定askpass程序”。但是,当我在添加为从属的构建机上对Jenkins执行相同的操作时,它显示“ sudo:不存在tty且未指定askpass程序”。 我发现一种解决方案说Default requiretty在文件中注释掉/etc/sudoers。但我无权访问此文件。 我该如何克服这个问题?

1
sudo-模拟用户
我试图正确使用sudo命令和sudoers文件,以便我可以以其他用户身份运行命令。 我的sudoers文件设置如下: beans ALL = (root,apache) NOPASSWD: /opt/renovations/var/script-*.sh 根,apache和bean是该组bean的一部分。 另外/ opt具有755权限,而/ opt / renovations目录及其子目录归bean用户和组所有。 我试图以bean身份运行的命令是: sudo -n -u apache -i /opt/renovations/var/script-test.sh -n:是,这样就不会提示我输入密码,因为它将由cron运行 -u:是,以便我可以模拟apache用户 -i:是,以便模拟登录,而我的.profile已加载。我需要这样做,以便访问.profile中的环境变量。 问题是,当我运行sudo命令时,收到以下消息: sudo:对不起,运行sudo需要密码 我试过在AIX和Ubuntu上都运行它,但是问题出在两个系统上。如果我运行,这可以工作: sudo -n -u apache /opt/renovations/var/script-test.sh 但是,如果没有-i,则我的环境不会包含我需要存在的所有环境变量。 我需要在sudoers文件中进行一些更新以使之成为可能吗?
8 sudo  users 

4
如何以根用户身份在远程服务器上执行更改?
我想知道是否有一种方法可以从本地计算机执行脚本/命令,而无需在远程计算机上以root用户身份进行任何修改? 一些背景 我试图通过Capistrano设置一些任务,但我需要sudo访问权限。大约有30台以上的服务器,对我而言,手动更新/etc/sudoers会很痛苦,所以我想知道是否有一种方法可以远程更新此文件?
8 sudo  root 

1
Linux桌面如何执行系统操作?
从桌面登录后,Linux桌面可执行一些操作,否则用户将无法使用这些操作。输入密码后,只有sudo用户才能使用诸如系统关闭和更改系统时间之类的操作。这是如何运作的。是否有运行的root守护程序接收登录用户的命令。请引导我找到正确的答案。 我正在运行Ubuntu 13.10。
8 sudo  desktop 

4
如果没有sudo,为什么我们不能以其他用户身份执行命令列表?
在其他论坛中已经以不同的方式提出了这个问题。但是还没有一个很好的解释,为什么不能用bash进行以下操作。 #!/bin/bash command1 SWITCH_USER_TO rag command2 command3 通常,建议的方法是 #!/bin/bash command1 sudo -u rag command2 sudo -u rag command3 但是为什么不能在bash执行bash脚本期间的某个时候更改为其他用户,并以其他用户身份执行其余命令?
8 bash  sudo  su 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.