thinkphp應用目錄不可寫,目錄沒法自動生成! 請手動生成項目目錄~

一是 要把 html下的相關目錄設置成 777 chmod -R 777 /var/www/html/.....html

二是 要設置 selinux , 或者是 臨時 關閉 selinux: setenforce 0node

永久關閉 selinux : 在 /etc/selinux/ 目錄中, 編輯 /etc/selinux/config
設置爲 : enforcing = permissive/disabled就行了.mysql

============================================linux

在linux中, 任何用戶 在 任何地方均可以建立文件或目錄 , 只要 它由那樣的 相應的 權限便可. 也就是說, 在某個用戶, 好比 foo用戶, 所屬的 一個目錄 , 這個目錄下的全部文件或 目錄 並不必定全都是 屬於 foo用戶的, 多是其餘用戶建立並所屬的. 好比 tp在 html目錄的application目錄 , 這個目錄自己屬於機器上的一個普通用戶, 已經設置了 o+w, 可是仍然不能成功, 原來, 在tp中, 要建立 Application下的目錄, 並非 由這個普通用戶創 建的, 而是由 apache用戶建立的, 因此 因爲 selinux的關係, apache用戶 是不能建立目錄的, 因此要 關閉 selinux.

drwxrwxrwx. 5 lee lee 4096 Jan 21 14:02  Application:  //  這裏的 Application目錄自己是屬於 foo的, 
drwxrwxrwx. 2 lee lee 4096 Jan 21 14:00 Public
[lee@localhost html]$ ll   Application/
total 12
drwxr-xr-x. 4 apache apache 4096 Jan 21 13:47 Common
drwxr-xr-x. 7 ***apache apache**** 4096 Jan 21 13:47 Home         ///  可是 這裏的 Applicatino 目錄 下的 子目錄 則是由 apache 用戶 建立 並所屬的!
drwxr-xr-x. 6 apache apache 4096 Jan 21 13:47 Runtime
[lee@localhost html]$

===============================sql

即便安裝了vim, 原來的vi包並無被刪除 , vi和vim 均可以用, 可是 它們仍然是兩個 徹底不一樣 的文件! 並非 alias的關係, vim並非 vi的 alias別名(雖然你能夠將vi設置爲vim的別名)

[root@localhost html]# ll -i -h /usr/bin/vi 
18743454 -rwxr-xr-x. 1 root root 1.1M Jun  2  2016 /usr/bin/vi   //  他們的inode不一樣, 並且他們的文件  .  大小 也是 相差很大的一個是1.1M ,  一個是 2.7M
                                                                                                                //  各自使用 的配置文件也是 不一樣的, 不能混用的!
[root@localhost html]# ll -i -h /usr/bin/vim
18746957 -rwxr-xr-x. 1 root root 2.7M Jun  2  2016 /usr/bin/vim

如何給 普通用戶 "臨時 " 提權?

  • 安裝時/平時使用都是用的 普通用戶, 須要進行一些 特權要求的操做時, 都是使用的 su 切換,
    可是, 當須要 編輯 html/Home/....等目錄下的 文件時, 因爲這些文件是屬於mysql的, 有的文件是 使用root 用戶 從其餘地方拷貝過來的, 還屬於 root用戶, 因此使用普通用戶 就無權編輯保存
    若是切換爲 su root用戶來編輯, 雖然是能夠的, 可是::: 因爲以前的 vim編輯器以及vim的插件和配置 都是針對普通用戶的, 只有普通用戶啓動vim進程時, 這些配置和插件才能使用! 用root用戶來啓動vim時, 插件和配置不能使用, 因此須要把普通用戶 在不改變用戶名, 不改變帳戶的狀況下, 提高它的權限爲超級用戶
  • 這種權限的提高 也只是 "臨時的" "暫時的/短時間的". 當完成工做後, 就要切換回來
  • 由三種方法: 一是直接修改/etc/passwd/下的 普通用戶的id, 該爲0, 由於內核判斷進程的權限時是以啓動該進程的euid來決定的 ; 二是修改visudo: /etc/sudoers文件中的: 在root ALL=ALL:ALL 下面添加 一行: Common_User_Name ALL=ALL:ALL, 而後su - 一下; 三是仍然修改 visudo, 啓用 %Wheel組, 而後使用 usermod -g wheel user_name 將普通用戶加入到 wheel組中 而後 su -:
  • 第一種方法不須要 su -, 直接就由root的特權了, 至關於root的兄弟了, 另外兩種方法 都須要用 su -, 由於它們走的 都是 sudoers文件.apache

  • wheel組, 至關於 win下的 Administrator管理員組. (能夠 配置 /etc/pam.d/su 文件 和 /etc/login.defs 文件來實現 更爲嚴格的 su權限控制 ): 即只有 屬於 wheel組的 用戶 才能使用 su命令, 而不是 像以前的 任何用戶均可以使用 su命令 . 參考: http://www.cnblogs.com/jan5/p/3359421.html
    staff是由不能使用 su命令的普通用戶, 非 wheel組的普通用戶組成的 普通組.vim

當直接修改 uid=0 後, 會發生很神奇的事情: 登錄的仍是普通用戶, 可是 實際得到的權限/操做者卻已是 root了

[lee@localhost ~]$ su -c visudo   // 這個是以前的 普通用戶, 權限顯示 $. 

#### 修改 /etc/paswd 中的uid後
[root@localhost lee]# su lee   // 切換到 普通用戶後
  
[root@localhost ~]# whoami    /// 顯示真實的euid身份是root  此時權限已是 #了
root  
[root@localhost ~]# who   // 實際上登錄的仍是普通用戶
lee      tty2         2019-01-21 18:37 (:0)
[root@localhost ~]# ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
[root@localhost ~]# pwd
/home/lee

可是 無論用上面那種狀況, 實際上都能得到 root權限, 並且就是 以 root身份 來進行工做的, 因此無論你 怎麼改, 你都不能改變root的運行環境 , 你都不能使用 爲 普通用戶配置的vim環境和插件. 除非你爲root用戶設置了 vim的插件和環境.

因此, 比較直接省事的方法是: 臨時地 爲這些你要編輯的文件/目錄 賦予 o+w權限. 等到編輯修改完成後, 再恢復原來的權限, 即: 取消/去掉 other用戶的寫權限!app

=====================================================編輯器

That's all over. no longer take blogs..

相關文章
相關標籤/搜索