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 中

    • 例如 rm、mv、kill、docker、systemctl 不在 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/passwd、docker ps、systemctl restart nginx 都会报 command not found 或 Permission 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'
相关推荐
Sayai1 分钟前
Elasticsearch 日志检索 DSL 实战:时间范围查询、字段去重、分钟级统计与最新日志获取
大数据·运维·elasticsearch·搜索引擎·日志分析
qetfw8 分钟前
Debian Chrony 时间同步、RAID5 与 LUKS 磁盘加密配置
linux·debian
weixin_416667962 小时前
银河麒麟V10看门狗试验-1
网络·chrome·python
fb_123452 小时前
MySQL运维实战:备份恢复+主从复制+读写分离+MHA高可用(超详细手把手教程)
运维·mysql·oracle
东城居士2 小时前
Linux驱动阻塞与非阻塞访问的理解
linux·嵌入式系统
..Dauntless..3 小时前
【Linux】进程地址空间初步理解
linux·运维·服务器
Julien20043 小时前
Docker 网络(一)
linux·运维·服务器·ssh·学习方法
字节跳动的猫3 小时前
LikeShop 积分体系全链路改造:获取规则、订单抵扣与积分商品兑换二开
运维·数据结构
杨云龙UP3 小时前
一次数据库查询缓慢故障复盘:大表数据增长、SQL全表扫描导致系统响应异常
linux·运维·服务器·数据库·sql·mysql
PellyKoo4 小时前
【linux运维】ubuntu+samba 用户组独占目录权限配置踩坑记
linux·运维·ubuntu