`
kumcun
  • 浏览: 89263 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

UNIX(Shell)

阅读更多

管理系统的帐号,是系统管理者最基本的工作之一。通常在帐号建立好之后,一般的使用者,可使用任何位于 /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 可以让系统管理者,建立一个只允许执行少数指令的帐号,不论就系统的安全性而言,或者在系统的管理上,建立这样的帐号供特殊使用者使用,应该有其实际应用上的价值。

分享到:
评论

相关推荐

    Unix Shell by Example.zip

    《Unix Shell by Example》这本书是Unix/Linux系统用户和管理员的重要参考资料,它深入浅出地介绍了Unix Shell的使用方法。Shell是Unix系统中的命令解释器,是用户与操作系统交互的桥梁,通过Shell脚本,我们可以...

    Linux与UNIX Shell编程指南.pdf

    "Linux与UNIX Shell编程指南" Linux与UNIX Shell编程指南是计算机科学领域中一本经典的指南手册,旨在帮助读者快速掌握Linux与UNIX操作系统下的shell编程技术。下面是从该书中生成的相关知识点: 1. Shell概述 ...

    UNIX SHELL 经典(全)

    《UNIX SHELL 经典》是一本全面深入探讨UNIX SHELL编程技术的著作,它将带你深入了解这个强大的命令行环境。书中的内容分为五个部分,旨在帮助读者掌握shell编程技巧,理解UNIX命令及其语法,同时涉猎UNIX的文字处理...

    UNIX shell范例精解(第4版).pdf

    《UNIX Shell范例精解(第4版)》是一本深度探讨UNIX系统中shell编程的专著,由清华大学出版社出版。这本书旨在帮助读者理解和掌握在UNIX环境中如何利用shell进行高效的工作和开发。UNIX shell作为UNIX操作系统的...

    精通 LINUX & UNIX Shell 程序设计.pdf 高清下载

    由于提供的内容中仅包含标题、描述、标签和下载链接的重复信息,并没有具体到Linux和UNIX Shell程序设计的技术细节,因此无法直接从这部分内容中提取出符合要求的知识点。为了满足您的要求,我将基于标题和标签中...

    Sams Unix Shell Programming

    《Sams Unix Shell Programming》是一本专为Unix操作系统用户和开发者设计的指南,它深入探讨了Unix Shell编程的各个方面。Unix Shell是Unix系统中的命令解释器,它允许用户通过命令行与操作系统进行交互,同时也...

    用Linux/UNIX Shell编程语言设计系统监控程序.pdf

    "Linux/UNIX Shell编程语言设计系统监控程序.pdf" 本文档主要介绍了使用Linux/UNIX Shell编程语言设计系统监控程序的方法。该程序使用Shell编程语言设计CGI脚本,通过使用过滤器awk在某些输出行中提取信息,然后在...

    Unix Shell编程工具

    Unix Shell编程工具是Unix/Linux操作系统中的重要组成部分,它既是用户与操作系统交互的界面,也是一种强大的编程语言。在本文中,我们将深入探讨Unix Shell的核心概念、常用工具以及它们在实际问题解决中的应用。 ...

    Unix shell by Example

    《Unix Shell by Example》是一本深入讲解Unix Shell的权威书籍,它为学习和理解Unix操作系统提供了丰富的实践案例。这本书详细阐述了如何利用Shell这个强大的命令行界面进行日常操作,包括文件管理、脚本编写、系统...

    UNIX shell语言编程24小时学会

    UNIX操作系统自诞生...总的来说,本书《UNIX shell语言编程24小时学会》是一本针对UNIX Shell编程初学者的实用入门指南,通过系统的讲解和实践练习,能够让读者在短时间内快速入门并掌握Shell编程的核心知识和技能。

    unix shell程序设计

    Unix Shell程序设计主要关注的是如何使用Bourne Shell(sh)进行高级程序设计。Shell作为Unix系统中的一个重要组成部分,不仅充当命令解释程序的角色,解析并执行用户输入的命令,还能作为一个高级程序设计语言,...

    shell编程入门经典--LINUX与UNIX Shell编程指南 (中文pdf版)

    《LINUX与UNIX Shell编程指南》是一本专为初学者设计的shell编程教程,它深入浅出地介绍了在Linux和UNIX系统中如何使用Shell进行高效自动化任务处理。Shell编程是Linux和UNIX系统中的核心技术,它允许用户通过命令行...

    绝版经典《Linux与UNIX Shell编程指南》中文文字PDF版

    《Linux与UNIX Shell编程指南》是一本深受欢迎的IT技术书籍,主要涵盖了Linux和UNIX操作系统中的Shell编程技术。这本书在IT领域中具有很高的价值,尤其是对于那些致力于提升系统管理技能和自动化任务处理能力的读者...

    Unix Shell介绍

    Unix Shell是Unix操作系统中最核心的组件之一,它既是命令行解释器,也是用户与系统交互的界面。在学习Unix Shell之前,我们首先要理解其基本概念。Shell作为一个接口,允许用户通过输入指令来控制操作系统,执行...

    UNIX shell范例精解(第4版)

    在UNIX系统中,最常用的shell包括Bash(Bourne Again SHell)、C shell、Korn shell和zsh等。这本书可能涵盖了以下知识点: 1. shell编程基础:解释什么是shell,如何通过shell与操作系统交互,以及基本的shell命令...

    UNIX shell 学习资料

    UNIX shell 学习资料 UNIX 系统编辑器概述 UNIX 系统中有多种编辑器,包括 ed、ex、vi 和 emacs。其中,vi 编辑器是 UNIX 系统的主编辑器,也是 ed 编辑器的超集。vi 编辑器的名字取自于 visual,具有两种操作...

    《LINUX与UNIX SHELL编程指南》读书笔记-二次发布版

    本文将基于《LINUX与UNIX SHELL编程指南》这本书的读书笔记,深入探讨Linux与Unix Shell编程的核心知识点。 一、Shell概述 Shell是一个命令解释器,它接收用户输入的命令并执行。在Linux和Unix系统中,常见的Shell...

    unix shell 最经典的学习资料.rar

    在IT领域,Unix Shell是一种非常重要的工具,它既是命令行解释器,也是用户与操作系统交互的界面。Unix Shell提供了一种高效的方式来进行文件操作、程序执行、任务自动化以及环境定制。这里我们关注的是"Unix Shell ...

    精通UNIX Shell脚本编程(pdf 版, 附源代码)

    精通UNIX Shell脚本编程 作者:(美)Randal K.Michael著;詹文军,邓波等译 页数:502 【作 者】(美)Randal K.Michael著;詹文军,邓波等译 【形态项】 502 ; 26cm 【出版项】 北京市:电子工业出版社 , 2005....

    Linux and Unix Shell Programming

    This comprehensive book is a practical, easy-to-use guide to programming and using the Bourne shell for beginners and experienced users - the Bourne shell is the standard shell for UNIX, and is also ...

Global site tag (gtag.js) - Google Analytics