Ubuntu开发板多用户开发权限配置指南

Ubuntu开发板多用户开发权限配置指南

 次点击
8 分钟阅读

本文主要是为了解决多用户在同一台开发板上开发时导致的Github等ssh key混乱的问题

Linux系统多用户

# 切换到管理员权限
sudo su

# 创建用户wfy(会自动创建home目录)
adduser wfy

# 系统会提示设置密码,输入1(注意:Ubuntu默认要求密码复杂度,简单密码可能需要强制确认)
# 按提示完成用户信息设置(可直接回车跳过)

# 将wfy添加到sudo组
usermod -aG sudo wfy

后续使用 VS Code 或者 powershell 进行 ssh 连接时使用新的账户即可登录。

Github ssh key 生成

使用新用户登陆后,执行命令

ssh-keygen -t ed25519 -C "email address" -f ~/.ssh/id_rsa_github_wfy

/home/wfy/.ssh会生成2个文件:

  • 私钥:id_rsa_github_wfy
  • 公钥:id_rsa_github_wfy.pub

为了让 Git 操作自动使用该用户的密钥,需要在用户的 SSH 配置中指定密钥与 GitHub 的关联。

vim ~/.ssh/config

新增如下内容:

# GitHub配置(wfy用户)
Host github.com-wfy
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_github_wfy  # 指向当前用户的私钥

然后文件权限

chmod 600 ~/.ssh/config
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa_github_wfy  # 私钥必须是600权限

~/.ssh/id_rsa_github_wfy.pub内容添加到github账户的设置中。

后续使用ssh命令连接 github.com时,需要改为 github.com-wfy

比如测试:

ssh -T github.com-wfy

在clone项目时,如原本的 git@github.com:username/repo.git

需要修改为 git@github.com-wfy:username/repo.git

用户权限

在新用户下,使用 sudo su可以访问整台开发板上的所有内容,但是不推荐这样做。

如果调用一些系统库时出现问题,先检查新用户的 bashrc

为了更好的实现多用户隔离,建议添加用户组。

在默认情况下,/usr /opt 等系统路径是共享的,不需要额外操作,、新用户可使用命令 ls -ld /usr/include 验证,输出应为:drwxr-xr-x

但是对于初始用户中的一些三方库,如 livox_lidar_sdk等,需要对用户权限进行特别处理。

我们使用用户组方法,先新建一个用户组,用于统一管理权限

sudo groupadd dev_group

然后将所有需要共享权限的用户加入该组:

sudo usermod -aG dev_group wfy
sudo usermod -aG dev_group nvidia

将用户级开发目录的组权限开放为 读 + 执行

sudo chgrp -R dev_group /home/nvidia/Deps   # 将目录所属组改为dev_group
sudo chmod -R g+rx /home/nvidia/Deps        # 给组用户添加读和进入权限

操作完成后,reboot

测试:

# 测试系统级头文件
cat /usr/include/stdio.h

# 测试用户级开发库,应该能读取到内容
cat /home/wuba/Deps/livox_ws/install/setup.bash 
© 本文著作权归作者所有,未经许可不得转载使用。