當前位置: 首頁>>技術問答>>正文


如果’cd’命令有700個權限並且不屬於我,那麽如何使用’cd’命令輸入目錄?

, , , ,

問題描述

我嘗試使用sudo cd name_of_dir但收到錯誤消息:

sudo: cd: command not found

有沒有其他方法可以輸入擁有700權限的其他用戶擁有的目錄?

最佳解決方法

sudo cd無法正常工作,因為cd命令內置於shell中。所以你說成為root然後運行這個命令。你成為root,然後搜索sudo之後的命令,但沒有找到cd命令。

使用的方法是切換到擁有該目錄的用戶。權限700表示“所有者可以讀取,寫入和執行”。

因此,如果root擁有目錄sudo -i,則密碼然後是cd {dir}是唯一正確的方法。如果其他人擁有該目錄,您仍然可以使用第一種方法,但也可以使用su {username}更改為該用戶,然後使用cd作為該用戶。

次佳解決方法

sudo -i

然後打開”root console”

cd /path/to/directory

(cd是一個shell內置命令,所以它不能是sudo目標)

第三種解決方法

要打開根目錄,我們可以運行root shell,例如:

sudo su
# cd /root

第四種方法

正如其他人指出的那樣 – 它的 shell 是內置:

~ % which cd
cd: shell built-in command

那麽,你為什麽不sudo shell本身呢?

~ % sudo $SHELL -c "cd name_of_dir"

第五種方法

您還可以通過以下方式將自己提升為root用戶:

sudo -s

然後你可以cd到任何不允許普通用戶的目錄:

cd /root

要麽

cd /var/lib/

在你完成之後輸入:

exit

注銷root用戶權限。

為了以root身份提升自己,您還可以通過&&運算符組合這兩個命令,如果當前命令成功執行並且隻允許執行下一個命令,則此運算符也會保持其執行順序:

sudo -s && cd /var/lib

要麽

sudo -s && cd /root

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/1802.html,未經允許,請勿轉載。