Articles of sudo

如何configuration日常pipe理使用sudo?

当我每天做95%的事情需要root访问权限时,为每个需要运行的命令添加sudo前缀有什么好处? 我发现sudo对基本日志logging谁有什么用处,以及限制对某些命令的访问(dev可以重新启动Apache)是有用的。 除此之外,我不明白什么是好处。 这不会奇迹般地节省我进入错误的dd目标和远程目标运行shell脚本开始可以变得相当复杂( ssh user@somehost sudo apt-get update && sudo apt-get upgrade ..有点荒谬,但你得到点)。 有没有一些configurationsudo日常root访问我缺less的方法? 其他pipe理员如何将其用于日常工作stream?

从本地工作,但从另一台服务器的包装员要求根权限

有一点上下文,我使用一个可靠的configuration器在AWS上创buildAMI映像。 包装员的有关部分和ansible: packer.json "provisioners": [{ "type": "shell", "inline": [ "sleep 15", "sudo apt-get update", "sudo apt-get install -y aptitude python" ] }, { "type": "ansible", "playbook_file": "../provision/ansible-playbook.yml", "groups": ["webworker"], "extra_arguments": [ "–become-method=sudo" ] }] tasks.yml – name: Install tools become: true apt: name: "{{ item }}" state: latest with_items: – build-essential – git 在我的本地机器上,一切顺利。 但是作为CI的一部分,使用我们的Jenkins服务器来运行这个打包器脚本,但是在第一个已经成型的任务中失败了,在这种情况下,第一步是通过apt模块安装一些工具: […]

在新鲜的Ubuntu服务器上安装RVM的正确方法

我正在设置一个干净的Ubuntu 16.04机器来运行rails。 我第一次login到机器是sudoer ubuntu的SSH会话。 我想创build第二个用户,说apprunner没有访问sudo ,将执行所有的应用程序相关的东西,如git pull bundle install gem install rvm 。 使用sudo apt-get安装一些先决条件为ubuntu后,我想要安装rvm创build一个新用户,给新用户使用rvm的能力,然后以新用户身份login,并从那里做大部分的事情。 每次我这样做,我都有持久性的问题。 我可以让它工作一次,但后来我得到警告Warning! PATH is not properly set up, '/usr/local/rvm/gems/ruby-2.4.1/bin' is not at first place. Warning! PATH is not properly set up, '/usr/local/rvm/gems/ruby-2.4.1/bin' is not at first place. 或者rvm根本找不到。 什么是适当的一套命令,在新的Ubuntu 16.04机器,当第一次login作为sudoer ubuntu的 安装rvm 创build一个将运行rails应用程序的新用户。 给新用户访问rvm。 切换到新用户的login上下文,并certificatervm使用rvm –version 确保这些设置不是短暂的?

以ec2用户身份从apache用户运行命令

我试图运行以下命令 /usr/bin/ocr 1.pdf 1.xml 从Apache,但不幸的是,这个命令只适用于ec2用户。 所以我试图编辑我的PHP文件,使其运行如下: /usr/bin/sudo -u ec2-user /usr/bin/ocr 1.pdf 1.xml 但是我得到了以下错误: sudo: no tty present and no askpass program specified 所以我已经添加了以下行到/ etc / sudoers apache ALL=(ALL) NOPASSWD: /usr/bin/sudo -u ec2-user /usr/bin/ocr 但我仍然有同样的错误。 唯一的工作是: apache ALL=(ALL) NOPASSWD: ALL 但是,如果我是对的,它允许Apache与sudo运行任何命令,所以这是一个重大的安全漏洞。 你有什么想法,我怎么可以干净的方式做到这一点?

Sudo永远是第一次运行

我遇到了这个问题,第一次运行sudo命令需要大约30秒钟才会提示我input密码。 (注意:input密码后,所有以下sudo命令立即运行) 我已经得到尽可能运行下面的命令: # As Root chmod u+s /usr/bin/strace # As My User strace -r -o trace1.log sudo echo hi 哪些事情显示了发生放缓的地方。 问题是日志有点超出我的理解。 这是什么日志说: 0.000039 read(11, "AGREE_UNIX_FD\r\n", 2048) = 15 0.000038 poll([{fd=11, events=POLLOUT}], 1, -1) = 1 ([{fd=11, revents=POLLOUT}]) 0.000036 sendto(11, "BEGIN\r\n", 7, MSG_NOSIGNAL, NULL, 0) = 7 0.000085 poll([{fd=11, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=11, […]

Linux ksu(kerberized超级用户)命令无法使用caching的服务(主机)票据

问题在最后 关于我的环境 我已经尝试了两种不同的环境:(i)在Active Directory(微软)域中注册的Linux Ubuntu 16.04LTS服务器和(ii)在Ubuntu FreeBSD Realm注册的Linux Ubuntu 16.04LTS服务器。 Krb5二进制版本: $ strings libkrb5.so | grep BRAND KRB5_BRAND: krb5-1.13.2-final 1.13.2 2015050 我喜欢做什么 我试图使用ksu命令作为另一个用户login当前主机( authdemo4.addemo.it ): kservice 。 详细地说,我试图(i)为主机authdemo4.addemo.it获取用户kservice的服务票证,(ii)将票证保存在MITcaching文件/ media / public / krb_kservice中 ,(iii)提供这张票以ksu命令为了login为kservice 。 它应该是可能的 ksu麻省理工学院的文件指出,从caching文件使用服务票据是可能的,让我们引用: 否则,ksu将在源caching中查找适当的Kerberos票证。 该票可以是最终服务器,也可以是目标主体领域的票证授予票(TGT)。 如果terminal服务器的票证已经在caching中,则解密并validation。 如果它不在caching中,但是TGT是,则TGT用于获取terminal服务器的票证。 terminal服务器票证然后被validation。 我的实验和结果 当使用TGT Kerberos票证时,它就像一个魅力: $ kinit -c /media/public/krb_kservice kservice Password for [email protected]: $ ksu […]

SUDO NOPASSWD没有在特定的命令上工作

我有一个棘手的情况。 我需要一个用户nagios作为另一个用户jenkins执行一个特定的命令 – 但是这个命令只适用于jenkins环境完全加载。 否则,我运行的命令将不起作用,所以我需要执行su – usertypes的命令。 从根目录运行时,命令正常工作: /bin/su – -c "pm2 show proxy" jenkins (我得到预期的输出) 当从nagios用户运行时: nagios@srv01:~$ sudo /bin/su -c "pm2 show proxy" jenkins [sudo] password for nagios: visudo条目我试过了: nagios ALL=(root) NOPASSWD: /bin/su – -c "pm2 show proxy" jenkins nagios ALL=(jenkins) NOPASSWD: /bin/su – -c "pm2 show proxy" jenkins 上述工作都没有,还是要求input密码。 它工作如果我只是授予nagios用户完整的权限: nagios ALL=(root) NOPASSWD: […]

安全问题给予apache用户一个tty

我需要从一个PHP脚本(networking触发)调用sudo,以便作为另一个用户运行一个命令。 但是,我收到消息“sudo:对不起,你必须有一个tty来运行sudo”。 在给用户nobody任何问题的时候会有什么安全问题? 你会推荐一个不同的方法来做我所需要的(作为一个不同的用户运行一个shell脚本)?

Sudo yum似乎在CentOS上失败了,但是在sudo -i之后工作正常

目前,我通过sudo遇到了一些麻烦。 出于某种原因,它似乎不工作: aron@graviton [/var/log]# sudo yum clean all There was a problem importing one of the Python modules required to run yum. The error leading to this problem was: /usr/lib64/python2.4/lib-dynload/datetime.so: failed to map segment from shared object: Cannot allocate memory Please install a package which provides this module, or verify that the module is installed […]

将svn的cmnd_alias添加到/ etc / sudoers时是否存在安全问题?

将svn的cmnd_alias添加到/ etc / sudoers时是否存在安全问题?