Mac 下终端 root 权限问题

目录

  1. root
  2. 权限问题
  3. 总结

一、root

完成某些任务需要系统更多区域的访问权限,Mac 管理员可以使用 root 帐号来完成这些任务。

  • “root”用户账户是一个超级用户,拥有更多系统区域(包括 macOS 用户账户中的文件)的读写权限。
  • 默认情况下,root 用户处于停用状态,root 用户账户不适合日常使用

二、权限问题

使用 mac 做 nodejs 或 java 或 python、php 等项目开发时,在终端执行命令常会遇到权限不足的问题 EACCES: permission denied,这可能是因为在项目依赖安装时使用了 sudo 或者项目中某个需要用到的文件权限是 root 用户。下面介绍几种解决方法。

1 手动修改文件权限

  • 根据命令行报错复制无权限的文件夹路径
  • 查看无权限文件夹的权限
ls -la 文件夹路径
  • 发现权限拥有者是 root,更改权限拥有者
/*
 * 权限说明 mode
 * 777 的权限是 rwxrwxrwx
 *  - 第一位 7 (4 2 1): rwx,所有者有读取、写入、执行的权限; 
 *  - 第二位 7 (4 2 1): rwx,同组用户具有读取、写入、执行权限;
 *  - 第三位 7,代表公共用户有读取、写入、执行的权限。
 *
 * 755 的权限是 rwxr-xr-x
 *  - 第一位 7 (4 2 1): rwx,所有者有读取、写入、执行的权限; 
 *  - 第二位 5 (4 0 1): r-x,同组用户具有读取、执行权限;
 *  - 第三位 5,代表公共用户有读取、执行的权限。
 *
 * 644 的权限是 rw-r–r–
 *  - 第一位 6 (4 2 0): rw-,所有者有读取、写入的权限; 
 *  - 第二位 4 (4 0 0): r–,同组用户具有读取的权限;
 *  - 第三位 4,代表公共用户有读取的权限。
 */
// -R:递归修改
// chown 用来更改某个目录或文件的用户名和用户组的
chown [-R] 用户名 文件夹路径
// chmod 用来修改某个目录或文件的访问权限
chmod [-R] mode号 文件夹路径
  • 再次查看文件夹权限,发现已经成功修改

2 重新配置项目环境

3 使用 sudo 或使用 root 用户(不推荐)

// 直接使用sudo
sudo xxxx
// 使用 root 用户
// 1. 启用 root 用户
sudo passwd root 
// 2. 登录 root 用户并输入密码
su root

三、总结

📌 不要随意使用 root 用户,否则会引起后续一系列的问题。

posted @ 2023-03-01 16:30  琪有此理  阅读(594)  评论(0编辑  收藏  举报