2010-12-21 23 views
10

我使用PSCP將文件傳輸到使用此命令虛擬Ubuntu的服務器:使用PSCP並得到許可被拒絕

pscp test.php [email protected]:/var/www/test.php 

,我得到的錯誤權限被拒絕。如果我嘗試轉移到文件夾/ home/user /我沒有問題。

我想這與我正在使用的用戶無權訪問文件夾/ var/www /。當我使用SSH時,我必須使用sudo來訪問/ var/www /路徑 - 而且我也可以。

是否可以指定pscp應該「sudo」傳輸到服務器,以便我可以訪問/ var/www /路徑,並且實際上能夠將文件傳輸到此文件夾?

+0

文件發送到`/ home/user中/ test.php`。然後使用`plink`或其他SSH客戶端在需要時使用sudo移動文件。我認爲這比玩權限和打破一切都好。 – 2017-08-02 01:37:28

回答

9

如果你自己的服務器:

將自己添加到WWW的數據組:

sudo usermod -G -a www-data <username> 

,並設置適當的權限:

sudo chown -R www-data:www-data /var/www/ 
sudo chmod -R 0775 /var/www/ 

這應該做的伎倆。

+1

我會記下一些文件夾的當前所有者,因爲執行上述操作會破壞我的一個網站。我知道這是我自己的錯,但是我不得不改回所有權,因爲我配置了ruby/rails/rvm來使用一組單獨的用戶名。 – 2012-01-06 09:56:35

7

謹防以下,當你寫

sudo usermod -G www-data <username> 

選項-G會使指定的用戶()指定該特定基團的成員。因此,上述說明將使用戶成爲www-data組的一部分,但將從該用戶所屬的任何其他組中刪除該用戶。要避免這種情況,您必須添加選項-a或指定您希望用戶加入的所有當前組。我無意中將用戶「管理員」從sudo組中取出,因爲我不知道這一點。所以如果你想讓指定的用戶保持當前的組成員身份,那麼寫下面的命令。

sudo usermod -G -a www-data <username> 

有關usermod命令的詳細信息,請訪問:

Ubuntu manpages - usermod

相關問題