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..

相关文章
相关标签/搜索