Linux文件及文件夹权限问题

Linux文件及文件夹权限问题

最近使用 python 写了段代码实现实时获取 公司运维添加的 登录服务器必须要的 FreeOTP的动态码,快速实现登录,不用每次手动登录.但是在配置 ssh脚本的时候 由于.ssh文件夹的权限太小导致程序执行失败,所以粗暴的执行了如下命令
sudo chmod -R 777 /Users/wsq/.ssh/
,将文件夹权限改为最大的,程序成功运行.结果就是这个动作卖下了祸根,从git 拉取所有项目代码都不行.

报错信息如下:大概意思就是私钥所在文件夹权限太宽,不允许访问git

intellij_git_error.png

那怎么办,只能将文件夹权限设置回默认值,执行 ls -l 命令查看 .ssh 文件夹下文件的默认权限

悲催都变成了 -rwxrwxrwx

但是执行命令的时候目录权限是用数字表示的,这里查看显示的是字符串,两边是什么关系,怎么对应的.

后面才知道,linux文件及文件夹的权限是使用三组二进制数字表示的,依次为:User、Group、及Other的权限。

每个角色使用 三个二进制数字表示权限,三个数字分别表示 读,写,运行. 1 表示有权限 0 表示没有

rwx 表示 有读,写,运行的权限表示成二进制就是 111 也就是10进制的 7

sudo chmod -R 777 /Users/wsq/.ssh/ 命令 R 后面的数字就是三个角色的 三组权限的 10进制值

777 表示为二进制就是 111 111 111 也就是三个角色都有读,写,运行的权限.

默认 git 相关的两个文件 权限分别是 id_rsa -rw——— 二进制就是110 000 000 十进制就是 600

id_rsa.pub -rw-r--r—@ 二进制就是 110 010 010 十进制就是 644

所以分别执行 :

sudo chmod -R 600 /Users/wsq/.ssh/id_rsa

sudo chmod -R 644 /Users/wsq/.ssh/id_rsa.pub

问题圆满解决.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。