镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。


一次性解决方案:创建非 root 用户并使用

1. 创建一个非 root 用户(假设叫 ns3user

adduser ns3user

按提示输入密码,其他项可以直接回车跳过。

2. 给该用户 sudo 权限(如果你想使用 --enable-sudo

usermod -aG sudo ns3user

3. 将 ns-3 的代码目录授权给新用户(否则他可能没有访问权限)

假设你的 ns-3 放在 /root/ns-3-dev

# 把代码移到 /home/ns3user 目录

mv /root/ns-3-dev /home/ns3user/

# 把所有权给新用户

chown -R ns3user:ns3user /home/ns3user/ns-3-dev

或者你也可以复制一份而不是移动原目录。


4. 切换用户开始运行

su - ns3user

cd ~/ns-3-dev

./ns3 configure --enable-examples --enable-tests --enable-sudo

这时候一切就会正常了,即使需要 sudo,也会在需要时提示你输入 ns3user 的密码。


🔁 每次登录默认就是 root,怎么办?

你可以:

  • 在 root shell 输入 su - ns3user 每次切换;

  • 或者创建一个快捷登录脚本:

echo 'su - ns3user' >> /root/login-ns3.sh chmod +x /root/login-ns3.sh

以后你登录后直接运行

./login-ns3.sh

相关推荐
云登指纹浏览器8 小时前
WebDriver反检测技术详解:如何让自动化脚本看起来像真实浏览器
运维·自动化·跨境电商
xmtxz9 小时前
计算机网络基础课程学习心得:从理论抽象到硬核实战的进阶之路
运维·学习
凡人叶枫9 小时前
Effective C++ 条款17:以独立语句将 newed 对象置入智能指针
java·linux·开发语言·c++·算法
RisunJan9 小时前
Linux命令-pgrep (通过进程名查找进程 ID)
linux·运维
回忆2012初秋10 小时前
【Nginx】优雅地走进高性能 Web 服务器世界(1)
服务器·前端·nginx
信创工程师-小杨10 小时前
Linux内网环境如何解决依赖的问题
linux·运维·服务器
设计师小聂!10 小时前
宝塔 Linux 面板保姆级教程
linux·mysql·开源·运维开发
不吃土豆的马铃薯10 小时前
C++ 高性能网络缓冲区 Buffer 源码解析
linux·服务器·开发语言·网络·c++
java知路10 小时前
linux yum 下载docker安装包及依赖安装包,并离线安装
linux·运维·docker
小小龙学IT10 小时前
Go 泛型深度解析:从设计哲学到工程实践
服务器·数据库·golang