linux创建普通只读用户

复制代码
useradd -m -s /bin/bash lukai && \
echo 'Lukai@123!!' | passwd --stdin lukai && \
chmod 555 /home/lukai && \
mkdir -p /home/lukai/bin && \
for cmd in ls cat top ps df free tail journalctl; do \
    ln -s /bin/$cmd /home/lukai/bin/ 2>/dev/null || ln -s /usr/bin/$cmd /home/lukai/bin/ 2>/dev/null; \
done && \
echo 'export PATH=$HOME/bin' >> /home/lukai/.bash_profile

说明

  1. useradd -m -s /bin/bash lukai

    • 创建用户 lukai,创建 home 目录 /home/lukai,shell 为 /bin/bash
  2. echo 'Lukai@123!!' | passwd --stdin lukai

    • 批量设置密码
  3. chmod 555 /home/lukai

    • Home 目录只读,防止用户修改自己的文件或创建任意文件
  4. mkdir -p /home/lukai/bin

    • 创建白名单命令目录
  5. for cmd in ...; do ln -s ...; done

    • 只允许执行列出的命令,其他命令不存在 PATH 中

    • 例如 rmmvkilldockersystemctl 不在 PATH,无法执行

  6. echo 'export PATH=$HOME/bin' >> ~/.bash_profile

    • 登录时只加载白名单 PATH

✅ 用户登录后:

su - lukai

cd /

ls

cat /etc/passwd

top

ps aux

df -h

free -m

tail -f /var/log/messages

journalctl -xe

  • 所有命令可以用

  • 系统文件无法写入

  • rm /etc/passwddocker pssystemctl restart nginx 都会报 command not foundPermission denied

ubuntu版本

复制代码
sudo bash -c 'useradd -m -s /bin/bash lukai && \
echo "lukai:Lukai@123!!" | chpasswd && \
chmod 555 /home/lukai && \
mkdir -p /home/lukai/bin && \
for cmd in ls cat top ps df free tail journalctl; do \
    ln -s /bin/$cmd /home/lukai/bin/ 2>/dev/null || ln -s /usr/bin/$cmd /home/lukai/bin/ 2>/dev/null; \
done && \
echo "export PATH=$HOME/bin:\$PATH" >> /home/lukai/.bash_profile'
相关推荐
阿里云大数据AI技术9 小时前
阿里云 EMR AI 助手正式发布:从问答工具到全栈智能运维助手
运维·人工智能
orion571 天前
Missing Semester Class1:course overview and introduction of shell
linux
SkyWalking中文站1 天前
认识 Horizon UI · 6/17:Trace 探索器
运维·监控·自动化运维
用户120487221611 天前
Linux驱动编译与加载
linux·嵌入式
火车叼位1 天前
写给初级开发者:SSL、SSH、HTTPS 与证书体系全解析
运维
用户805533698032 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698032 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
小猿姐2 天前
唯品会大规模数据库云原生实践:基于 KubeBlocks 管理数千实例的统一运维之路
运维·elasticsearch·云原生
七歌杜金房2 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
SkyWalking中文站2 天前
认识 Horizon UI · 5/17:3D 基础设施地图
运维·监控·自动化运维