服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - 通过受限bash创建只读用户

通过受限bash创建只读用户

2023-08-06 15:49小编 服务器知识

受限bash 如果 bash 以 rbash 为程序名启动或者命令行参数有 -r 选项,则启动的这个 shell 会在某些功能上受限制.具体表现为如下操作都不能做: 通过 cd 来改变工作目录 设置或取消环境变量: SHELL, PATH, ENV, BASH_ENV 命令名中不能包含目录分隔符 ‘/’ 包含有 ‘/’ 的文件名作为内置命令 ‘.’ 的参数 hash 内置命令有 -p 选项时的文件

受限bash

如果 bash 以 rbash 为程序名启动或者命令行参数有 -r 选项,则启动的这个 shell 会在某些功能上受限制.具体表现为如下操作都不能做:

  • 通过 cd 来改变工作目录
  • 设置或取消环境变量: SHELL, PATH, ENV, BASH_ENV
  • 命令名中不能包含目录分隔符 ‘/’
  • 包含有 ‘/’ 的文件名作为内置命令 ‘.’ 的参数
  • hash 内置命令有 -p 选项时的文件名参数包含 '/'
  • 在启动时通过 shell 环境导入函数定义
  • 在启动时通过 shell 环境解析 SHELLOPTS 的值
  • 使用 >,>|, <>, >&, &>, >> 等重定向操作符
  • 使用 exec 内置命令
  • 通过 enable 内置命令的 -f 和 -d 选项增加或删除内置命令
  • 使用 enable 内置命令来禁用或启用 shell 内置命令
  • 执行 command 内置命令时加上 -p 选项
  • 通过 set +rset +o restricted 关闭受限模式

现在通过受限bash来创建只读用户。

步骤

# ln -s /bin/bash  /bin/rbash
# useradd -s /bin/rbash rttlsa
# passwd rttlsa
# mkdir /home/rttlsa/bin
# chown root. /home/rttlsa/.bash_profile 
# chmod 755 /home/rttlsa/.bash_profile
# vi /home/rttlsa/.bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$HOME/bin

export PATH

# ln -s /bin/cat  /home/rttlsa/bin/cat  将允许执行的命令链接到$HOME/bin目录

如此即可创建只允许查看日志的只读用户。

延伸 · 阅读

精彩推荐