自动化部署用户及权限(实践篇)

一、初始化用户及角色系统

  1. 通过Jenkins插件管理,安装Role Strategy Plugin,然后重启生效。
  2. 进入系统管理 =》全局安全配置, 将访问控制修改为『Unix用户/组数据库』, 授权策略修改为 『Role-Based Stategy』。
  3. 『Unix用户/组数据库』需要将jenkins服务的运行者修改为root组。
    sudo usermod -a -G root jenkins
    sudo chmod g+r /etc/shadow
  4. 保存全局安全配置页面, 重启Jenkins服务。
  5. 进入系统管理 =》管理和分配角色 =》 管理角色, 在『全局角色』中建立角色表,如表:
    Role Overall Credentials Agent Job Run View SCM Lockable Resources
    Administer ConfigureUpdateCenter Read RunScripts UploadPlugins Create Delete ManageDomains Update View Build Configure Connect Create Delete Disconnect Build Cancel Configure Create Delete Discover Move Read Workspace Delete Replay Update Configure Create Delete Read Tag Reserve Unlock
    Anonymous
    admin Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
    authenticated Y
    dev Y Y Y Y
    qa Y Y Y Y Y Y
    sa Y Y Y Y Y Y Y Y Y
    scm Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
  6. 登录到Jenkins的Linux/Unix系统,增加角色

for g in dev qa sa scm admin; do
sudo groupadd $g
done

二、创建用户

  1. 发现用户。Jenkins会自动导入SCM中的用户,列表在Jenkins用户列表http://jenkins:8080/asynchPeople/页面。
  2. 如无法在jenkins用户列表中找到用户,如测试人员,SA人员等,则可通过http://jenkins:8080/securityRealm/ 页面新建用户。
  3. 通过Shell登录到Jenkins服务器,建立Unix系统用户、密码、分配组
    USERNAME=用户名 #用户名与jenkins系统中找到或建立的用户名相同。
    GROUP=组 #dev qa sa scm admin其中之一
    sudo adduser -r -s /bin/false $USERNAME
    sudo usermod -a -G $GROUP $USERNAME
    sudo passwd $USERNAME  #然后输入密码。
  4. 如果用户有多个组,则可多次运行 usermod 指令。
  5. 角色管理页面和Unix组添加是重复步骤,需保持缺一不可。
  6. 更多的用户操作,如删除用户,修改组等方法可以使用userdel,/etc/group等。详细参考Linux系统手册,
  7. 缺点:为了Jenkins的系统安全,用户的Shell使用/bin/false,因此用户不能登录、无法修改密码,密码修改操作需由Jenkins 系统管理员进行。

发表评论

电子邮件地址不会被公开。 必填项已用*标注