本文共 1735 字,大约阅读时间需要 5 分钟。
在 Jenkins 中部署服务之前,首先需要配置目标服务器。配置目标服务器相对简单,只需将服务器的 IP、账号密码或账号密钥配置在 Jenkins 中。然而,在配置服务器之前,了解 Linux 系统中的用户和用户组管理是必不可少的。特别是要掌握如何创建用户,以及如何将用户添加到组,这将帮助我们更好地管理服务器环境。
在 Linux 系统中,用户和用户组是管理系统资源的基础。要向一个群组添加用户,我们需要以具有 sudo 访问权限或以 root 用户身份登录。Linux 组是一种组织单位,用于管理用户帐户,主要用于定义对系统资源的访问权限。组的权限可以在组内的用户之间共享。
Linux 系统中的组分为两种类型:
/etc/passwd 文件中。docker 组后,该用户将能够运行 docker 命令。每个用户可以完全属于一个主要组,同时也可以加入零个或多个次要组。这种设计使得用户可以灵活地获得不同的权限。
以下是常用的用户和组管理命令:
将用户附加到某个组:
sudo usermod -a -G groupname username
-a 开关可以确保用户只会从组中删除那些在命令中未列出的组。sudo usermod -a -G groupname1,groupname2 username
将用户从某个组中删除:
sudo gpasswd -d username groupname
创建新的组:
sudo groupadd groupname
删除现有的组:
sudo groupdel groupname
更改用户的主要组:
sudo usermod -g groupname username
创建用户并分配到组:
sudo useradd -g users -G wheel,docker username
设置用户登录密码:
sudo passwd username
查看用户组信息:
id username
或者:
groups username
在我的实验环境中,我创建了一个 maintainer 运维用户,并将其添加到 docker 组和 wheel 组。同时,我还设置了该用户可以使用密钥登录。
sudo useradd -g users -G wheel,docker maintainer
sudo passwd maintainer
以 maintainer 用户登录后生成密钥文件:
ssh-keygen -t rsa -b 2048 -v
如果需要在其他服务器使用相同的密钥文件,执行以下命令(前提是目标服务器上已经存在该用户):
ssh-copy-id -i maintainer.pub maintainer@192.168.31.111
在 Jenkins 中完成服务器配置后,进入【系统管理】→ 【系统设置】→ 【SSH Servers】,点击【新增】并填写服务器信息。
在【高级】设置中勾选【Use password authentication, or use a different key】,并设置登录密码。
点击【Test Configuration】测试配置是否正常,提示 "Success" 表示配置成功。
在【Publish over SSH】处配置统一的密钥文件路径,例如:
/home/maintainer/.ssh/maintainer
依次新增支持密钥登录的服务器配置,确保密钥登录方式正常。
通过以上步骤,我们可以成功配置 Jenkins 服务器并进行部署。
转载地址:http://wglzk.baihongyu.com/