标签: sudo

将sudo密码存储为脚本中的变量 - 是否安全?

以这种方式存储我的密码安全吗?

echo 'Write sudo password (will not be displayed) and hit enter'
read -s password
Run Code Online (Sandbox Code Playgroud)

我需要它来制作这样的命令:

echo $password | sudo -S apt-get install -y foo bar
Run Code Online (Sandbox Code Playgroud)

bash sudo

11
推荐指数
3
解决办法
8697
查看次数

如何以root身份使用NSTask?

在我正在创建的应用程序中,我需要以root身份运行以下命令(如果用户真的想要提示用户,并且将要求他们使用NSTask来解除他们的驱动器):

/bin/rm -rf /
#Yes, really
Run Code Online (Sandbox Code Playgroud)

问题是简单地使用替换用户Do(sudo)不起作用,因为用户需要输入密码到不可用的标准输入.当你点击Preferences.app中的锁时,我宁愿向用户显示你所看到的同一个窗口,这样(希望密码较短):

截图http://www.quickpwn.com/wp-content/uploads/2009/08/snow-leopard-enter-password.png


谁能帮我这个?谢谢.

cocoa sudo root nstask

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

Python导入web无法正常工作

所以我在运行导入的脚本时遇到以下错误web.

$ python bin/app.py
Traceback (most recent call last):
File "bin/app.py", line 1, in <module>
import web
ImportError: No module named web
Run Code Online (Sandbox Code Playgroud)

我尝试使用easy_install web但得到此错误:

$ easy_install web
Searching for web
Reading http://pypi.python.org/simple/web/
Reading http://www.pythonweb.org/web/
Reading http://www.pythonweb.org/web/release/
No local packages or download links found for web
error: Could not find suitable distribution for Requirement.parse('web')
Run Code Online (Sandbox Code Playgroud)

我试过pip install web但得到以下内容:

$ pip install web
Downloading/unpacking web
Could not find any downloads that satisfy the requirement web
No distributions …
Run Code Online (Sandbox Code Playgroud)

python sudo install pip web

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

如何使用sudo运行命令的pid

我想要得到这个命令的pid.

sudo -b tcpdump -i eth0 port 80 -w eth0.pcap
Run Code Online (Sandbox Code Playgroud)

unix linux bash shell sudo

11
推荐指数
2
解决办法
9626
查看次数

如何让sudo访问bash脚本?

我有一个bash脚本(chbr.sh)来改变终端的显示亮度,因为我的亮度键不起作用.

`sudo setpci -s 00:02.0 F4.B=30`
Run Code Online (Sandbox Code Playgroud)

现在,每次我运行该脚本时都要求输入我不喜欢的密码.所以,我google了一下,发现可以编辑/etc/sudoers文件来禁用密码功能.

所以,我sudoers用以下内容编辑了我的文件

ronnie ALL = (ALL) NOPASSWD: /home/ronnie/chbr.sh
Run Code Online (Sandbox Code Playgroud)

现在当我运行我的脚本,因为./chbr.sh它再次要求我的密码.那么,这不是让sudo访问bash脚本的正确方法,或者我在这里做错了什么.

ronnie@ronnie:~$ ls -l chbr.sh
~rwxrwxr-x 1 ronnie ronnie 46 Jul 13 15:59 /home/ronnie/chbr.sh
Run Code Online (Sandbox Code Playgroud)

bash sudo sudoers

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

用sudo设置其他用户的gsettings

在Ubuntu 13.10上,我将所有gsettings放在一个文件mygset.sh中.例如,mygset.sh包含许多行,例如

gsettings set com.canonical.Unity.Launcher favorites "['application://nautilus.desktop', 'application://firefox.desktop', 'application://chromium-browser.desktop', 'unity://running-apps', 'unity://expo-icon', 'unity://devices']"
Run Code Online (Sandbox Code Playgroud)

我有一个主安装脚本,我必须使用sudo运行(例如,它执行sudo apt-get install).从我要调用的主安装脚本mygset.sh.但是,无论我如何调用它,都不会更改我的用户的设置.我认为它正在改变root的设置.我已经尝试过(从中masterinstall.sh运行sudo ./masterinstall.sh):

sudo -u "wang" ./mygset.sh
sudo -u "wang" bash -c ./mygset.sh
Run Code Online (Sandbox Code Playgroud)

这些都不起作用(它们运行时没有错误并更改设置[我在脚本中用gsetting get检查]但不是用户"wang").

当我从命令行运行mygset.sh(没有sudo :) bash ./mygset.sh.它完美地运作.为什么会有这种差异,我该怎么做才能解决它masterinstall.sh

bash shell ubuntu sudo

11
推荐指数
3
解决办法
5058
查看次数

为什么没有找到sudo:bundle命令?

为什么使用sudo时找不到命令"bundle":

[root@desktop gitlab]# sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
sudo: bundle: command not found
[root@desktop gitlab]#
Run Code Online (Sandbox Code Playgroud)

但是在不使用sudo时确实存在:

[root@desktop gitlab]# bundle exec rake gitlab:setup RAILS_ENV=production
 Warning
  You are running as user root, we hope you know what you are doing.
  Things may work/fail for the wrong reasons.
  For correct results you should run this as user git.

This will create the necessary database tables and seed the database.
You will lose any previous data stored in the database. …
Run Code Online (Sandbox Code Playgroud)

ruby linux sudo rubygems bundler

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

Qt会话管理错误与matplotlib.pyplot.plot

突然间,每当我打电话matplotlib.pyplot.plot(在unix操作系统内)时,屏幕上都会显示以下错误:

Qt: Session management error: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed
Run Code Online (Sandbox Code Playgroud)

此错误不会中断该功能; 情节创建成功.但这个错误意味着什么?

用户linuxforums.org能够找到防止错误的方法:

"我不确切知道原因,但是在sudoers文件中为用户授予权限,然后使用该sudo命令运行程序,修复了错误."

然而,这仍然没有解决错误的原因以及它是否会影响所有正在进行的过程.

有没有需要编辑sudoers文件的解决方案?

注意:我在共享计算集群上做这项工作.

unix permissions qt sudo matplotlib

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

`sudo -i -u user`和`sudo su - user`有什么区别?

这两个命令:

sudo -i -u username
sudo su - username
Run Code Online (Sandbox Code Playgroud)

会像username我输入密码一样登录.这些命令之间是否有任何区别?

bash sudo su

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

`别名sudo ="sudo"`工作怎么样?

看看将当前用户的别名传递给sudo命令的方法,我在ArchWiki上找到了以下内容:

传递别名

如果您使用了很多别名,您可能已经注意到在使用sudo时它们不会转移到root帐户.但是,有一种简单的方法可以使它们工作.只需将以下内容添加到您 ~/.bashrc/etc/bash.bashrc:

alias sudo='sudo '

我不明白为什么会这样.如果shell不关心两个命令之间有多少空格,这怎么会有效?

手动添加空格时,我认为没有区别:

$ alias e=echo
$ sudo e foo
sudo: e: command not found
$ sudo  e foo              # Manual space addition
sudo: e: command not found # Fail
$ alias sudo="sudo "       # Now with alias
$ sudo e foo
foo                        # Succeeds, but why?
Run Code Online (Sandbox Code Playgroud)

可见别名sudo到sudo + space以某种方式允许传递别名.这部作品zsh,bash并且sh,所以它不是一个特定的壳行为.

这个别名如何运作?

shell alias sudo sh

11
推荐指数
1
解决办法
1736
查看次数

标签 统计

sudo ×10

bash ×5

shell ×3

linux ×2

unix ×2

alias ×1

bundler ×1

cocoa ×1

install ×1

matplotlib ×1

nstask ×1

permissions ×1

pip ×1

python ×1

qt ×1

root ×1

ruby ×1

rubygems ×1

sh ×1

su ×1

sudoers ×1

ubuntu ×1

web ×1