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: ...
随机推荐
- Spring Boot 的Logback
Spring Boot 默认使用Logback记录日志 Spring Boot starter 都会默认引入spring-boot-starter-logging,不需要再引入 日志级别从高到低:TR ...
- 在ensp上配置基于接口地址池的DHCP
原理 实验模拟 实验拓扑 相关参数 开启dhcp服务 开启接口的dhcp服务功能,指定从接口地址池分配(接口1一样) 配置接口DHCP服务租期(租期默认是一天) 设置保留地址 设置dns 我们在pc1 ...
- 分页Model
<?php namespace Admin\Model; use Think\Model; class PageModel extends Model{ /* *此函数分页函数.传入表名和当前页 ...
- RestTemplate支持GET方法携带Body信息
首先必须声明: GET方法支持通过Body携带参数(HTTP1.1开始支持) 但是默认的RestTemplate是不支持滴!原因如下: RestTemplate支持通过setRequestFactor ...
- [转帖]Proof Of Work 工作量证明
Proof Of Work 工作量证明 https://www.cnblogs.com/zhang-qc/p/10451817.html 借鉴了 哈希现金(Hashcash)-1997年 英国密码学专 ...
- Python实现字典树
字典树,又称单词查找树,Trie 树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的优点是:利用字符串 ...
- 使用 Redis 的 sorted set 实现用户排行榜
要求:实现一个用户排行榜,用户数量有很多,排行榜存储的是用户玩游戏的分数,对排行榜的读取压力比较大,如何实现? 思路分析: 实现排行榜,可以考虑使用 Redis 的 zset 结构: 用户数量很多的话 ...
- PHP 去一定范围随机小数 随机浮点数
例如取2到3中的 随机小数(一位)或整数 mt_rand(20,30)/10 mt_rand()是随机取整函数 先扩大一定倍数,再缩小相应倍数,倍数代表精确到哪一位
- java知识精要(二)
java知识精要(一) 集合 Iterable v.s. Iterator 两者都是接口,在Collection继承的是Iterable. Iterable表达了集合具备迭代访问的能力,而Iterat ...
- 客开监控(BE/UI/BP)插件停用与启用
1.单据界面右键属性,获取当前客开监控页面URL连接:http://172.16.168.15/U9/erp/display.aspx?lnk=UFSoft.UBF.Cust.CustManager& ...