linux用户的问题
最近在开发的时候遇到一个问题:
我在某个项目下的某个文件夹内写了一个可以单独run的A.py文件,这个文件里面的代码可以调用kubernetes的python接口来请求kubernetes上的信息(比如pod信息)。问题发生在,这个文件所在的项目的运行是前后端之间要联通的,当我在其他的后端文件调用A.py的方法就会报错,看日志是加载kubernetes的配置文件出错了。可是为啥我单独运行A.py来测试run就没问题呢 ?
于是乎,请教了linux比较了解的人,找到了问题所在。
首先,单独run A.py的代码时候,打印一下system(“whoami”),在控制台看到的输出是root。这没毛病,因为我把kubernetes的配置文件放在了/root/.kube/config这个路径下,config就是那个配置文件。
可是当把整个项目run起来的时候这个文件就找不到了,就会报错,配置文件找不到,根本没法访问kubernetes。为啥呢,检查了环境变量和路径以及路径对应的文件。在这些没有错误的前提下,最后得出的问题是linux用户的问题。程序运行时是不同的用户,导致文件系统的隔离,/root下面的文件其他用户是没有办法访问的,是不可见的,即使给文件设置了777文件权限也没有用,/root的目录依旧是不可见的。
所以,最后的解决办法是,将kubernetes的配置文件转移到/目录下,在加载kubernetes配置文件的方法那里指定文件路径问题解决了。理论上应该找出项目运行时的用户,将对应的配置文件放在用户可以访问的目录下,这样应该是比较好的方案,但由于项目的问题,用户没确定出来,所以采用了上面的方法,但问题是解决了。
关于linux账户与用户组
可见:鸟哥的linux私房菜, P418
这里我们讨论一下用户账户:这里有两个命令 cat /etc/passwd 和 cat /etc/shadow.都是以文件的形式进行的记录,可以进行vi编辑修改,但不要乱修改,不知道的不要修改!还有一个cat /etc/group这个可以先忽略。/etc/passwd是管理用户UID与GID的重要参数,/etc/shadow是专门管理密码相关数据的,这两个文件的数据值得研究,如果要备份linux用户信息,记得这两个文件都要备份!
linux用户的问题的更多相关文章
- linux用户权限相关内容查看
linux用户权限相关内容查看 1 用户信息 创建用户一个名为 webuser 的账号,并填写相应的信息: root@iZ94fabhqhuZ:~# adduser webuser Adding ...
- Linux用户体系和文件权限总结
一. Linux系统用户和用户组相关文件 1. /etc/passwd文件 这个passwd文件是Linux用户信息文件.文件格式说明如下: root:x:0:0:root:/r ...
- linux 用户管理
linux 用户管理 创建一个用户 foo 这个用户只能在/home/foo 上面增加删除文件, foo 不能在其他目录加减文件 useradd -d /home/foo -m foo [root@] ...
- linux 用户创建、管理、权限分配
(1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...
- Linux 用户和用户组管理
Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...
- 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令
Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...
- Linux用户配置sudo权限
Linux用户配置sudo权限 创建sudo权限用户 #useradd supope #passwd supope #visudo #supope ALL=(ALL) AL ...
- Linux用户与“最小权限”原则
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 作为一个Linux用户来说,我们并不需要特别关心下面的机制.但是,当我们去编写一个 ...
- 用户管理 之 Linux 用户管理工具介绍
Linux是一个多用户的操作系统,她有完美的用户管理工具,这些工具包括用户的查询.添加.修改,以及用户之间相互切换的工具等:通过这些工具,我们能安全.轻松的完成用户管理: 在这里我们要引入用户控制工具 ...
- 修改linux用户密码
对于初学者来说,如何修改linux用户密码也不是件容易的事,其实非常简单,下面举例说明: 如果是以root身份登录,修改root密码.只要输入 passwd 就会出现: New password: ...
随机推荐
- Nodejs接收图片base64格式保存为文件
base64的形式为“data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0....”:当接收到上边的内容后,需要将data ...
- 快速修改Windows系统密码命令
因现场需要,要对30多台虚拟机进行密码修改.正常修改方式为进入控制面板--用户账户--修改密码,输入原始密码.2遍新密码(一遍用于密码确认)完成密码修改. 这种方式操作较为繁琐,我们可以直接通过命令的 ...
- java实现视频转码
废话不多说,直接上代码: 这是转码工具类: package com.gcsoft.pyas.sysbase.utils; import com.gcsoft.pyas.AppProperties; i ...
- django缓存相关
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_39726347/articl ...
- jdbc(mysql)数据库连接
0.将驱动引入项目 在项目根目录新建文件夹lib,把数据库驱动mysql-connector-java-5.1.7-bin.jar放入该文件夹. 右键点击项目名称->properties-> ...
- js精度缺失问题
/** ** 加法函数,用来得到精确的加法结果 ** 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显.这个函数返回较为精确的加法结果. ** 调用:accAdd(arg ...
- shoshana-摄影文集
20190331 冬宫之油画 20190427 [遇见•梦露]画展 20190428 [三极探索之旅]公益摄影 20190504 赏美-第[000]期 20190505 赏美-第[001]期 201 ...
- 读文件时出现这个错误 'utf-8' codec can't decode byte 0xba in position 21: invalid start byte
''' file2 文件内容: 很任性wheniwasyoung ''' 源代码: f = open("file2",'r',encoding="utf-8") ...
- Linux基础(02)MakeFile的创建和使用
makefile是生成文件的脚本 , 把当前文件下的.c文件生成.o文件和可执行程序 SRC = $(wildcard *.c) OBJS = $(patsubst %.c,%.o,$(SRC)) C ...
- Akka-CQRS(10)- gRPC on SSL/TLS 安全连接
使用gRPC作为云平台和移动前端的连接方式,网络安全应该是必须考虑的一个重点.gRPC是支持ssl/tls安全通讯机制的.用了一个周末来研究具体使用方法,实际上是一个周末的挖坑填坑过程.把这次经历记录 ...