加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 在为用户登录创建非shell命令时,我需要知道什么?

发布时间:2020-12-14 02:32:38 所属栏目:Linux 来源:网络整理
导读:我正在为使用 Linux的设备进行软件和配置. 我被要求提供一个管理界面,该界面不需要使用Linux知识,并且具有受限制的功能. 我相信处理此问题的最佳方法是使用控制台登录(通过ssh或串行端口)来显示选项菜单.假设我有一个名为admin_menu的程序来处理我所需的所有
我正在为使用 Linux的设备进行软件和配置.

我被要求提供一个管理界面,该界面不需要使用Linux知识,并且具有受限制的功能.

我相信处理此问题的最佳方法是使用控制台登录(通过ssh或串行端口)来显示选项菜单.假设我有一个名为admin_menu的程序来处理我所需的所有任务.

所以,我应该能够在/ etc / password中创建一行,如下所示:

admin:x:230:235:Administrative Interface:/home/admin:/local/sbin/admin_menu

在创建admin_menu程序时,我需要注意哪些特殊注意事项?直接答案很好,但指向优秀文档的指针甚至更好.

我想了解更多信息的一般领域是:

>我可以设置哪些环境变量?我需要自己设置哪些?
>产生子进程时是否有任何特殊注意事项?
>终止菜单流程后会发生什么?
>我是否使用STDIO与控制台或其他界面进行交互?

解决方法

脚本可以用作登录shell.您需要将/ local / sbin / admin_menu添加到/ etc / shells.否则,ssh登录(以及可能的其他)将无法解释为什么(如果我没记错).

有一些环境变量将从客户端传输,例如窗口大小.有些将在登录系统时设置. PAM可以设置其中一些,但我没有一个例子.

菜单进程终止后,我相信客户端已退出.我的基础是观察/ bin / bash终止时会发生什么.

如果我是你,我会使用stdin / stdout作为输入和输出源.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读