引言
勤奋出天才
vi helloworld.py
def mian:
print(Hello world)
python3 helloworld.py
参考链接: https://blog.csdn.net/lydms/article/details/101368670.
博客内容有不足之处,欢迎评论留言,博主会继续自勉
一、规划思路
根据对应项目的需求,创建用户组以及用户。
(1). 不建议用户名与用户组发生重名
(2). 不同用户家目录下的.ssh/,依据不同加密算法生成的私钥仅存在一把,公钥分发给需要配置免密登录的远程主机(常用于私网分发)
(3). 不同用户的对服务器可操作的权限,根据实际项目情况规划。
案例:
开发组成员张三有存放代码文件所在路径下的read,write权限,测试组成员李四有代码execute的权限,这样子做的目的是万一发生代码修改而导致微服务出现故障,无法定责的情况出现。(因为在所有人当中,只有张三有写的权限,而当需要单元测试的时候,通知运维组成员王五把部分代码拉取至测试环境使用流水线作业运行起来,并授权测试组成员李四执行自动化测试用例,所以此案例中张三为主要事故责任人)
二、创建用户以及用户组
依据规划思路,创建项目指定的用户名以及用户组
用户名 | 用户组 | 部门 | 权限 |
---|---|---|---|
operator | maintence | 运维部 | 仅次root |
python | developer | 开发部 | python项目的代码文件拥有读写权限 |
java | developer | 开发部 | java项目的代码文件拥有读写权限 |
golang | developer | 开发部 | golang项目的代码文件拥有读写权限 |
jack | test | 测试部 | 对应项目代码的服务测试权限 |
vergil | guests | 非内部成员 | 服务的api调用权限 |
-
创建用户 :
创建operator用户:useradd +operator
创建python用户:useradd +python
创建java用户:useradd +java
创建golang用户:useradd +golang
创建jack用户:useradd +jack
创建vergil用户:useradd +vergil -
创建用户组
创建maintence用户组:groupadd +maintence
创建developer用户组:groupadd +developer
创建test用户组:groupadd +test
创建guests用户组:groupadd + guests
三、添加用户至用户组内
以此类推:
usermod + -aG+maintence+operator
四、列出指令列表
将已知范围内的操作系统指令列到一张表格里
服务器状态 | 进程 | 网络 | 磁盘 | 文件操作 | 文件查看 | 软件包管理工具 |
---|---|---|---|---|---|---|
reboot | ps | ping | fidsk | rm | tail | yum |
shutdown | kill | nmap | mount | mv | head | apt |
init | killall | ss | df | cp | sed | apt-get |
poweroff | top | netstat | du | vim | awk | pip |
halt | tcpdump | vi | grep | pip3 | ||
nslookup | touch | lsof | pipx | |||
iptables | echo | cat | helm | |||
firewalld | dnf | |||||
net | ||||||
route | ||||||
dhclient |
五、编辑sudoers文件
文件在/etc/sudoers
进入文件编辑模式
visudo
示例内容:
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
python ALL=(ALL) NOPASSWD: /usr/bin/git, /usr/bin/mkdir, /usr/local/bin/python3, /usr/bin/vim, !/usr/bin/rm, !/usr/bin/mv, !/usr/bin/su, !/usr/bin/passwd
java ALL=(ALL) NOPASSWD: /usr/bin/git, /usr/bin/mkdir, /usr/local/bin/java, /usr/bin/vim, !/usr/bin/rm, !/usr/bin/mv, !/usr/bin/su, !/usr/bin/passwd
golang ALL=(ALL) NOPASSWD: /usr/bin/git, /usr/bin/mkdir, /usr/local/go/bin/go, /usr/bin/vim, !/usr/bin/rm, !/usr/bin/mv, !/usr/bin/su, !/usr/bin/passwd
maintence ALL=(ALL) NOPASSWD: /usr/sbin/useradd, /usr/sbin/userdel, /usr/bin/passwd[A-Za-z]*, /usr/bin/chown, /usr/bin/chmod
六、验证权限
切换到指定用户下执行相应的指令,测试是否有对应的not allowed提示弹出。