Bash

我怎樣才能 sudo su 並在之後更改目錄?

  • October 17, 2019

我想創建一個別名來做這樣的事情:

alias userYYY='sudo su userYYY; cd /a/path/that/only/userYYY/has/access'

所以然後從我的命令行,我用 sudo 使用者登錄,我想輸入別名userYYY,以便我的 shell 現在用userYYYpwdis登錄/a/path/that/only/userYYY/has/access

我怎樣才能做到這一點?這userYYY是為了執行一些程序,它的home裡面肯定有什麼東西。因此,我嘗試使用以下方法更改其 $HOME:

sudo usermod -m -d /a/path/that/only/userYYY/has/access userYYY 

然後從我的 shell 和我的 sudoer 文件中我做了sudo su userYYY。但這沒有用。唯一有效的是sudo su -l userYYYY,它在我原來的 shell ( -bash-4.1$ ....) 中打開了一個新的 bash。

總之,我想要的是簡單地避免在我的 shell 中寫兩行:

sudo su userYYY
cd /a/path/that/only/userYYY/has/access

有任何想法嗎?

alias userYYY='sudo su userYYY -c "cd /a/path/that/only/userYYY/has/access; /bin/bash"'

一種選擇是編輯~/.bashrc目標使用者,並在cd那裡添加:

cd /a/path/that/only/userYYY/has/access

引用自:https://unix.stackexchange.com/questions/156931