UNIX(Shell)

本文介绍如何使用RestrictedShell创建仅能执行特定指令的账号。通过设置登录Shell为RestrictedShell并配置环境变量PATH,可以实现对账号执行命令的限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

管理系统的帐号,是系统管理者最基本的工作之一。通常在帐号建立好之后,一般的使用者,可使用任何位于 /usr/bin 目录底下的指令。若系统管理者,想建立一个只允许使用特定“指令”的帐号,要如何建立一个这样的帐号呢?例如:当这个使用者登入系统后,只允许他使用ftp、cp、mv、ls,但不允许他执行rlogin,rm 等指令。换句话说,也就是限定他只能执行被允许的指令。本文将详细介绍使用 Restricted shell (/usr/bin/rsh)来建立一个这样的帐号。

一、 Login Shell:

大家都知道 shell 就是使用者命令的解译处理器,在HP UNIX系统里,提供的shell 有下列几种:

Bourne Shell (/usr/old/bin/sh) 
Korn Shell (/usr/bin/ksh)
POSIX Shell (/usr/bin/sh)
Restricted shell (/usr/bin/rsh )
C Shell (/usr/bin/csh) 
Key Shell (/usr/bin/keysh)

其中大家最常用的是 POSIX Shell (/usr/bin/sh) 和 Korn Shell (/usr/bin/ksh)。

二、 Restricted Shell:

Restricted shell(/usr/bin/rsh ) 是比较特殊的一个shell,它是POSIX Shell的 Restricted Version。Restricted shell 的所有功能都跟 POSIX Shell 一样,除了下列几点外:

l 不能使用 change directory 指令 cd
l 不能设定 SHELL、ENV、PATH等环境变量
l 不能指定含有 / ( root directory) 的指令
l 不能使用转向输出符号(>;、>;|、 >;>;)

三、 使用 Restricted Shell

回到本文的主旨,如何使用 restricted shell建立一个只能执行特定指令的帐号。首先,请先用sam 或指令 useradd 建立一个新帐号,并且指定其login shell为 /usr/bin/rsh。例如:建立一个名为 gibert 的新帐号,其家目录(home directory)位于 /home/gibert,并且指定其login shell 为 /usr/bin/rsh。(当然,若您想更改一个已存在的帐号, 请直接编辑 /etc/passwd档,将其login shell 改成 /usr/bin/rsh)。Gibert 帐号建立好之后,在/etc/passwd 档案内应该可看到如下的信息:

# more /etc/passwd | grep gibert

gibert:O.gX20Ge2fxuY:101:20:,,,:/home/gibert:/usr/bin/rsh

再下来,请依下列的步骤,来限定gibert 这个帐号只能执行,ls、cp、date、banner、pwd等指令,其它指令一慨不允许执行(视您管理上的需要,决定这个帐号可允许执行的指令):

(1) 在 /usr 目录底下建立一个新的 rbin 目录 (/usr/rbin)记得把
/usr/rbin 目录的写入权限(write)拿掉。然后把被允许使用的指令复制到 /usr/rbin 目录底下,也就是: ls、cp、date、banner、pwd。

# mkdir /usr/rbin
# chmod 555 /usr/rbin
# chown bin:bin /usr/rbin
# cp /usr/bin/ls /usr/rbin
# cp /usr/bin/cp /usr/rbin
# cp /usr/bin/date /usr/rbin
# cp /usr/bin/banner /usr/rbin

(2) 在gibert的home目录底下 /home/gibert,建一个 .profile 檔 (若没有这个档的话),并且加入一行设定,指定环境变量PATH 到 /usr/rbin:

# cd /home/gibert
# vi .profile

export PATH=/usr/rbin

(3) 确定profile 档的拥有者(owner) 是属于gibert的,若不是请用指令 chown 将其更正。

# chown gibert:usres .profile

(4) 验证设定结果。

Login: gibert
Passwd: ********
$ …….

四、 结论

使用 restricted shell 可以让系统管理者,建立一个只允许执行少数指令的帐号,不论就系统的安全性而言,或者在系统的管理上,建立这样的帐号供特殊使用者使用,应该有其实际应用上的价值。

内容概要:本文档详细介绍了基于弹性架构搜索(Elastic Architecture Search, EAS)结合Transformer编码器进行多变量时间序列预测的项目实例。项目旨在自动化优化多变量时间序列预测模型结构,提升预测精度与鲁棒性,降低计算资源消耗,实现模型轻量化。通过MATLAB实现,项目采用Transformer编码器的多头自注意力机制,结合EAS的弹性权重共享和分阶段搜索策略,解决了高维多变量时间序列的复杂依赖建模、架构搜索计算资源需求高、模型过拟合、多步预测误差积累、数据异构性与缺失值处理、复杂模型训练收敛等挑战。最终,项目构建了一个高度模块化和可扩展的系统设计,适用于智能制造、能源管理、智慧交通等多个工业场景。 适合人群:具备一定编程基础,对时间序列预测、深度学习及MATLAB有一定了解的研发人员和研究人员。 使用场景及目标:①自动化优化多变量时间序列预测模型结构,提升预测精度与鲁棒性;②降低计算资源消耗,实现模型轻量化;③实现高度模块化与可扩展的系统设计,促进人工智能在工业领域的深度应用;④提供科研与教学的典范案例与工具,探索深度学习架构搜索在时序预测的前沿技术;⑤促进多变量时序数据融合与异质信息处理能力,推动MATLAB深度学习工具箱的应用与扩展。 其他说明:项目不仅聚焦于模型性能提升,更注重计算资源节约和应用落地的可行性。借助弹性架构搜索自动化调参,减少人工经验依赖,加快模型迭代速度,降低开发门槛。结合Transformer编码器的表达能力,显著改善多变量时间序列预测中的长期依赖捕捉和异质数据融合问题,为各类时间序列分析任务提供一种全新的解决方案。项目通过详细的代码实现和注释,帮助用户理解Transformer机制与弹性架构搜索如何协同工作,实现多变量时间序列预测。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值