使用sudo更改目录


22

如何更改为root拥有的目录?

如果我做: sudo cd RootOwedDir

我得到: sudo cd: command not found

如果我 su root

我得到:authentication failure,可能是因为我从未真正设置过实际的root帐户。

我在这里做错了什么?


总结:既赛勒斯的“命令苏”和“须藤SH -SC‘CD dir_path’(注意添加的“PARM)解决了这个问题感谢大家的帮助。
未知的谷歌用户

Answers:


20

而是尝试使用sudo -s启动根shell,然后简单地cd进入目录。
以root用户身份完成后,请按CtrlD或键入exit

重要的是要注意,作为根用户,很容易损坏基本的系统组件。小心使用!


5

那是因为cd它不是命令,而是内置的shell函数。并su需要root密码。只需使用:

sudo su

以root权限运行shell。完成后,键入exit或按Ctrl+ D返回上一个外壳。


2
sudo su是不必要的复杂。sudo -s使sudo启动shell;或者您可以运行,sudo bash或者sudo zsh如果您不想记住该-s选项。
吉尔斯(Gilles)“所以,别再邪恶了”,2010年

3
sudo sh -c "cd dir_path"

这对我也不起作用。可能是因为我要输入的目录名称中包含嵌入的空格。我已经尝试了sudo sh -c“ cd my \ path”的变体而没有运气。没有错误消息,它只是像执行某项操作一样返回,但我仍在同一目录中。尽管我通常使用bash,但sh已安装在我的系统上。
未知的google用户,2010年

@unknown-我一直认为您必须生成一个子shell才能以root身份运行shell内置程序,无论是在bash还是普通的旧sh中。我决心弄清楚这一点。
韦斯利·赖斯2010年

沿着-c添加-s选项可以解决问题。感谢您的努力。
未知的Google用户,2010年

1

您也可以sudo vim在文件夹上执行a ,即sudo vim RootOwedDir,它将显示文件夹的vim视图,该视图将显示该文件夹中的所有文件/文件夹。那么您可以从文件夹外部运行所需的内容,然后像平常一样对它进行sudo。


0

su -然后输入您的密码。现在,您可以cd进入目录。请记住,如果您不希望成为root用户,那么在进行任何操作之前,请先ctrl-d。


这会在Ubuntu上产生身份验证错误。
韦斯利·赖斯2010年

真?我从来没有遇到过问题。
Unfundednut

2
对于OP来说,当然会的,因为他没有适当的root帐户。
韦斯利·赖斯2010年

有趣的是,我在全新安装的Ubuntu上,我从不“设置” root用户,但我可以简单地认为sudo -我是系统的上帝。
Unfundednut

是的,我刚收到验证错误。
未知的google用户,2010年

0

对我来说,是sudo和结合起来的screen

sudo -iu vagrant screen -mS npm_install bash -c 'cd /vagrant && npm install'

该命令首先切换到vagrant用户。然后vagrant将目录更改为/vagrant并执行npm install


-2

最简单的方法是启用root帐户并使用su成为root。由于潜在的滥用,Ubuntu可以很好地保护根帐户,但是有时,使用根帐户比在每一行上使用sudo容易得多。只要注意您在任何给定时间使用的帐户即可。

这里拍摄:

打开终端,然后输入:sudo passwd root。当看到提示“输入新的UNIX密码”的提示时,输入所需的root用户密码并确认。

此时,您将可以使用sucd更改为root 到目录。


-1。这充满了错误。GDM与什么有什么关系?OP希望将其“ cd”到仅可由root读取的目录。没有人可以通过GDM以root身份登录。
韦斯利·赖斯2010年

好点子。我没有完全读完我粘贴的内容。
zcid 2010年

就像其他人所说的那样,用sudo -s启用根外壳比这容易得多,并且比起学习su(如果使用得好),它比su更灵活,更精细的工具要好得多。
2011年
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.