快速业务通道

Solaris中的Shell和用户权限

作者 佚名技术 来源 操作系统 浏览 发布时间 2012-06-28

Solaris可以支持三种正常的shell,Bourne Shell ( /bin/sh或/sbin/sh )、C Shell ( /bin/csh )和Korn Shell ( /bin/ksh )。使用这些作为登录shell时,用户的权限仅由文件的读、写、执行权限和ACL控制。这种控制方式比较简单,文件明确规定了主人、同组人和他们的权限,而所有其他人都用第三组权限。这很难划分比较细致的权限级别,在很多情况下这不能满足管理员的要求。
  
管理员可能希望设置某些特殊用户,某用户只管关机;某用户只能通过POP3使用邮件服务,该用户登录的唯一目的是改自己的口令;某个用户只能在家目录下创建文件(比如通过ftp下载文件),不能修改已有文件,不能浏览文件系统、不能删除文件。
  
所有这些都可以在登录shell上做文章。
  
例一, 一个关机用户
  
要关机,必须有关机权限。什么人有关机权限?root。但不能把root口令告诉普通用户,怎么办?创建一个特殊的超级用户,他的登录shell是一个定制的文件:一条关机命令。具体做法如下:
  
# vi /etc/passwd
  
shutdown:x:0:1:shutdown user:/:/bin/shutdown 添加一个用户
  
# vi /etc/shadow
  
shutdown::::::::
  
# vi /bin/shutdown
  
/usr/sbin/shutdown -y -g0 -i5
  
把别的用户logout,试着用shutdown用户登录。输入完用户名和口令后,系统就开始关机。
  
例二, 一个邮件用户,该用户登录时只能改口令
  
比如此用户为user1,添加完该用户后,修改他的登录shell,方法如下:
  
# vi /etc/passwd
  
user1:x:……..:/bin/passwd
  
试着从另外一台机器telnet过来,有什么现象?用户一登录上来,系统就让用户改口令。改完后,网络连接自动断掉。
  
例三, 一个用户只能在家目录下创建文件(比如通过ftp下载文件),不能修改已有文件,不能浏览文件系统、不能删除文件……
  
这种用户的实现可以借助于一种/usr/lib/rsh称为restricted shell的文件。这种shell其实是Bourne shell的一种变形。除了以下特点以外,它和Bourne shell完全相同:
  
使用此种shell的用户不能:
  
改变自己的工作路径,因此只能呆在家目录下;
  
不能修改PATH变量,所以一旦PATH被管理员设定后,用户只能执行指定目录下的命令;
  
指明路径和命令时不能用“/”;
  
不能重定向输出。
  
这样,为了实现上面规定的功能,可以按下面的做法:
  
1. 首先按一般方法( admintool )创建此用户,但登录shell写/usr/lib/rsh
  
2. 修改其家目录下的.profile文件,最重要的是其中的PATH变量,例如:
  
PATH= . ; export PATH
  
3. # cp –p /usr/bin/ftp .
  
# cp –p /usr/bin/telnet .
  
# cp –p /usr/bin/ls .
  
# cp –p /usr/bin/pwd .
  
# cp –p /usr/bin/more .
  
# cp –p /usr/bin/file .
  
拷贝一系列该用户需要使用的命令到其家目录下。但是切记不要包括rm 、vi等有可能使用户自己修改.profile的命令。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号