历史版本10 :Linux用户权限说明 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

概述编辑

在部署运维平台时,需要使用服务器用户登录终端,上传、解压、运行finekey工具,以部署启动运维平台。

在部署运维项目时,需要提供服务器用户名称与密码,用于项目的部署和运行。

执行相关操作,需要确保所使用的服务器用户的权限满足需求。

优先推荐使用超级管理员账号部署编辑

优先推荐使用用户id为0且名叫root的服务器用户部署运维平台和运维项目。

注意:用户id为0但不叫root的用户,不支持部署,请更名为root

非超管账号部署需要配置权限编辑

权限要求说明

如需使用非超管root用户进行项目的部署和运行,至少需要拥有以下权限:

权限名
使用场景

sh

用于一次性执行多个需要sudo权限的命令

echo

sed

cp

sysctl

用于修改一些配置文件和内核参数,主要用于修改/etc/sysctl.conf

如果这些参数已经配置成了目标值,只会令这些参数生效,不会再去修改文件

例如:vm.max_map_count、net.bridge.bridge-nf-call-iptables、net.ipv4.conf.all.forwarding、net.ipv4.ip_forward、vm.overcommit_memory

swapoff用于关闭交换空间,提高性能
rm部署失败或其他场景下,用于清理残留文件
kill让docker进程热加载配置文件

mkdir

chown

安装docker和组件

docker临时安装在用户的home目录,最终安装在/usr/bin目录

docker数据和组件安装在前台填写的项目挂载目录

groupadd

gpasswd

添加docker用户组,并将当前用户添加到docker用户组中
modprobe

docker网络通信需要加载br_netfilter模块

modprobe命令只在br_netfilter模块未加载时需要

systemctl配置docker service启动
sudo使用sudo -l 检测某个命令是否有sudo权限时,sudo本身也要用sudo执行

权限配置步骤

请自行编辑 /etc/sudoers 文件,确保满足以下两项

步骤说明
修改用户的sudo权限

自行修改dev为你的用户名

1)允许用户"dev"在任何主机上以root身份使用sudo权限执行后续配置的命令

dev     ALL=(root) /bin/sh,/bin/mkdir,/bin/rm,/bin/cp,/bin/systemctl,/bin/kill,/usr/sbin/sysctl,/usr/bin/gpasswd,/usr/sbin/groupadd,/usr/bin/chown,/usr/sbin/modprobe,/usr/bin/echo,/usr/bin/sed,/usr/sbin/swapoff,/bin/sudo

2)如果仍然权限不足,还可以配置NOPASSWD的sudo权限(自选)

dev     ALL=(root) NOPASSWD:/bin/sh,/bin/mkdir,/bin/rm,/bin/cp,/bin/systemctl,/bin/kill,/usr/sbin/sysctl,/usr/bin/gpasswd,/usr/sbin/groupadd,/usr/bin/chown,/usr/sbin/modprobe,/usr/bin/echo,/usr/bin/sed,/usr/sbin/swapoff,/bin/sudo

对用户禁用requiretty选项

注释掉原本的requiretty相关内容

确保 dev 用户在执行 sudo 命令时不需要 TTY 会话,否则无法通过脚本/远程命令使用sudo

#Defaults: requiretty

sudoers 文件示例:(本文件仅作为示例,请勿直接拷贝覆盖,请逐一参考上文修改)

# User privilege specification

root    ALL=(ALL:ALL)       ALL


Defaults requiretty


# Allow dev user to run specific commands as root

dev     ALL=(root) /bin/sh,/bin/mkdir,/bin/rm,/bin/cp,/bin/systemctl,/bin/kill,/usr/sbin/sysctl,/usr/bin/gpasswd,/usr/sbin/groupadd,/usr/bin/chown,/usr/sbin/modprobe,/usr/bin/echo,/usr/bin/sed,/usr/sbin/swapoff,/bin/sudo