可能重复:
通过SSH打开文件,使用Emacs打开Sudo
我想在Emacs上使用TRAMP通过ssh连接的远程机器上使用sudo(比如/ etc/hosts)打开一个文件.
我尝试了几种选择,但没有一种可行.任何人都可以告诉我如何去做吗?
谢谢
我有个问题.我正在编写一个软件,它需要执行一个操作,要求用户处于sudo模式.运行'sudo python filename.py'不是一个选项,这引出了我的问题.有没有办法在python脚本的一半更改为sudo,安全性不是问题,因为用户将通过以下方式知道程序应该运行的sudo密码来说明问题
我的问题在于第3步,你可以建议的任何指针或框架都会有很大的帮助.
干杯
克里斯
每当我需要运行 powershell 脚本时,它都会抱怨安全性,如果我添加,powershell.exe -nologo -executionpolicy bypass -File .\install.ps1我仍然会得到权限被拒绝的未授权访问异常。我只想运行此安装脚本,在 Windows 上的 powershell 上键入的 sudo 等效项是什么?
目前我总是跑,sudo npm install <package-name>但据我所知,这是不正确的.
我希望有机会不以root用户身份使用它.我遵循了一些建议并使用了这个命令,sudo chown -R <username> ~/.npm但它不起作用......
例如,它是我的输出 npm install jade
...
npm http 200 https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm http 200 https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm ERR! Error: EACCES, symlink '../jade/bin/jade'
npm ERR! { [Error: EACCES, symlink '../jade/bin/jade'] errno: 3, code: 'EACCES', path: '../jade/bin/jade' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
Run Code Online (Sandbox Code Playgroud)
如您所见,下载已成功启动,但随后失败了..
我想知道在npm上禁止sudo的最佳方法是什么?
我目前正在尝试在Windows操作系统上安装和更新一些软件包.唯一的问题是我使用Cygwin来通过终端键入命令(我知道,我可以在Cygwin上键入Linux类型的命令,如cd,ls等 - 我可能错了).但是,当我尝试安装包如:
sudo apt-get install paparazzi-dev
Run Code Online (Sandbox Code Playgroud)
我得到了答复:
-sh: sudo: command not found.
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?
我似乎陷入了NFS限制和Cron限制之间.
所以我有root cron(在RHEL5上)运行一个shell脚本,除其他外,需要通过NFS挂载rsync一些文件.NFS挂载上的文件由模式700的apache用户拥有,因此只有apache用户可以运行rsync命令 - 以root身份运行会产生权限错误(NFS很少见,显然,root用户是不是全能的?)
当我只想手动运行rsync时,我可以使用"sudo -u apache rsync ..."但是在cron中没有工作 - 它说"sudo:对不起,你必须有一个tty来运行sudo".
我不想将整个脚本作为apache(即来自apache的crontab)运行,因为脚本的其他部分确实需要root - 它只是一个需要作为apache运行的命令.而且我真的不想改变文件的模式,因为这将涉及对其他应用程序的重大更改.
有必要从cron完成"sudo -u apache"的方法吗?
谢谢!抢
我尝试使用以下命令在我的系统上安装新的beta版:
sudo gem install rails --pre
Run Code Online (Sandbox Code Playgroud)
但无论我怎么做,我仍然得到这个该死的错误:
已成功安装rails-3.0.0.beta3
1 gem 安装rails-3.0.0.beta3的
ri文档...
找不到文件:lib
因为我对红宝石很新,我真的不知道该怎么办.
我该如何完成安装呢?这已经安装好了吗?为什么在这里中止?
在类UNIX系统中,我们有一个用户模式和一个内核模式.有些指令在用户模式下无法访问.但是,当我们这样做时sudo,我们可以访问操作系统的许多关键部分,执行关键操作.
我的问题是:当程序在sudo模式下执行时,整个程序是否以内核模式运行?或者,sudo模式只是一个管理用户,其权力仅仅是内核可以执行的操作的子集?
当然,这个问题可能并不特定于树莓派.另外,我对Linux比较陌生.
我想写一个小库(在node.js中,如果这很重要)来使用sysfs访问raspberry pi的GPIO.但是,访问sysfs需要sudo访问权限,这显然是有原因的.
Quick2Wire似乎有一个解决方案,但我想更好地理解它,而不是盲目地使用它.他们当然使用了C语言,但从我的理解来看,代码并不复杂,而且可能只用bash就可以完成,即使不那么优雅.但是,最重要的是,我不确定它为什么会起作用.
任何帮助都会很棒.
编辑:感谢您的评论.很明显,我需要重新解释这个问题.这里说:一旦安装(作为root),应用程序不再需要使用根权限吗?在这种情况下,如何将某人添加到群组中?/sys/devices/virtual/gpio不是gpio sysfs可用的位置,那有什么诀窍呢?我真的是一个n00b,所以这些问题可能是n00b-ish,所以请耐心等待.
我有一项服务,我想从系统启动开始.我已经为它构建了一个ap @ .service定义作为模板,因为可能有很多实例.
在root systemd中定义,这很好用,并启动和停止系统的服务.systemctl enable ap@inst1正如预期的那样安装服务实例.Root也可以毫无问题地启动和停止服务.该服务在其自己的帐户(myuser)中运行,而不是root,由ap @ .service模板中的User = myuser控制.
但我希望用户'myuser'能够在不影响系统安全的情况下启动和停止自己的服务.
我切换到使用用户systemd,并启用了延迟loginctl enable-linger myuser.然后,我启用~myuser/.config/systemd/user目录中定义的服务.现在,该服务按照设计与系统一起干净地启动和停止.如果我以"myuser"身份登录终端systemctl --user start ap@inst1,并且systemctl --user stop ap@inst1两者都能正常运行.
但是,如果我以其他用户(user2)身份登录并sudo su - myuser在终端中执行,则systemctl --user命令现在失败,并显示错误消息"无法获得D-Bus连接:没有此类文件或目录".
如何systemctl --user在sudo su - myuser命令切换用户后启用?