mac brew 安装php扩展报错:parent directory is world writable but not sticky

$ brew install php70-mcrypt

报错:

Error: parent directory is world writable but not sticky

搜索到github的答案

https://github.com/Homebrew/legacy-homebrew/issues/40345

原因:
/tmp目录权限不对

$ ls -ld /private/tmp

打印出来 /private/tmp 被标黄了

解决办法:

$ sudo chmod +t /tmp

$ ls -ld /private/tmp

打印出来 /private/tmp 被标绿了,应该表示是正常的意思了

再次执行

$ brew install php70-mcrypt

安装成功

知识点:

chmod +t

+t 表示设置粘着位(sticky bit),防止文件或目录被非属主删除

Set uid, gid,sticky bit的三个权限的详细说明:

一个文件都有一个所有者, 表示该文件是谁创建的. 同时, 该文件还有一个组编号, 表示该文件所属的组, 一般为文件所有者所属的组.

如果是一个可执行文件, 那么在执行时, 一般该文件只拥有调用该文件的用户具有的权限. 而setuid, setgid 可以来改变这种设置.

setuid: 设置使文件在执行阶段具有文件所有者的权限. 典型的文件是 /usr/bin/passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.

setgid: 该权限只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组.

sticky bit: 该位可以理解为防删除位. 一个文件是否可以被某用户删除, 主要取决于该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件,但同时不能删除文件, 则可以对文件使用sticky bit位. 设置该位后, 就算用户对目录具有写权限, 也不能删除该文件.

时间: 2024-11-05 15:17:29

mac brew 安装php扩展报错:parent directory is world writable but not sticky的相关文章

Mac下安装第三方模块报错:‘sqlfront.h‘ file not found的解决办法

1.软件环境: mac环境:10.11.6(15G31) python: 3.6 2.问题: sudo pip install pymssql 后出现下面问题: fatal error: 'sqlfront.h' file not found 3.解决方案: 终端执行  brew install [email protected] 终端执行  brew link --force [email protected] 终端执行  sudo pip install pymssql(或则 pycharm

Mac上安装mysqlclient的报错

[背景] 今天我把算把自己的python基础平台从python-3.6.2升级到python-3.7.2,在我安装完python-3.7.2之后,打算在此基础之上安装 mysqlclient的时候报错了: pip3 install mysqlclient Collecting mysqlclient Downloading https://files.pythonhosted.org/packages/de/d7/919042fb7ed78a89e21c4e43d5daed90d5df18ec1

mac下编译php扩展报错,找不到php.h文件

fatal error: 'php.h' file not found run command "xcode-select --install" to install the XCode5 Command Line Tools 原文地址:https://www.cnblogs.com/rickguo/p/10739565.html

Mac brew 安装mysql 报错 ERROR 2002 (HY000): Can't connect to local MySQL server through socket

安装mysql 最新版 56 brew install mysql 启动报错 ben:~ soul$ which mysql /usr/local/bin/mysql ben:~ soul$ mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 解决办法 运行 ben:~ soul$ mysql.server start Starting MySQL .

mac编译openssl扩展报错 openssl.c:44:10: fatal error: 'openssl/evp.h' file not found

解决办法 brew link openssl --force 然后 ./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config make sudo make install mac编译openssl扩展报错 openssl.c:44:10: fatal error: 'openssl/evp.h' file not found

laravel安装intervention/image图像处理扩展 报错fileinfo is missing

在安装intervention/image图像处理扩展 报错fileinfo is missing 报错信息如下: \blog>composer require intervention/imageUsing version ^2.3 for intervention/image./composer.json has been updatedLoading composer repositories with package informationUpdating dependencies (i

zabbix源码安装流程及报错解决方法

zabbix源码安装流程及报错解决方法 一. zabbix的介绍 1) zabbix是什么 zabbix是一款基于web页面的.开源的.企业级的,支持分布式部署的监控软件. 2)2.zabbix的作用 监控windows和Linux主机上的软硬件状态. 监控各网络设备,如路由器.交换机.防火墙.f5.打印机等. 支持邮件短信微信等平台发送告警通知. 通过web页面及图形展示监控数据. 3)zabbix的特性 由zabbix server和agent程序协同工作,还支持分布式监控,这时需要安装za

mysql5.7.17安装方式-与报错解决方式

mysql5.7.17安装方式-与报错解决方式 重点: 出错的地方:在于第三步,因为哪里要检查一下,需要安装微软的一些东西,如果直接跳过会导致后面配置的出错,死活配置不了. 卸载:进入注册表卸载,不然你直接到控制面板哪里会卸载不干净,导致你重新安装的时候出错. 勾选同意,然后点下一步. 然后根据个人需求选择一个安装,一般默认就可以了. 2.左边是你电脑上可以连接到mysql的软件,比如Visual Studio,Eclipse,PyCharm等,中间是需求的版本或者额外组件,右边是状态. 选择一

MAC OS 中mount nfs 报错问题.

记一下 MAC OS 中mount nfs 报错问题. 环境和配置文件 NFS 服务端 Ubuntu 安装 apt install nfs-kernel-server 服务端的配置文件 cat /etc/exports /nfsdata 192.168.22.1/26(rw,sync,insecure,no_root_squash) CentOS 下测试挂载 yum install nfs-utils -y mount -t nfs -o rw 192.168.22.8:/nfsdata /tm