鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 操作系统维护 > solaris > >

Solaris中的Shell和用户权限

来源:互联网 作者:佚名 时间:2015-06-03 08:39
Solaris可以支持三种正常的shell Bourne Shell ( /bin/sh或/sbin/sh ) C Shell ( /bin/csh )和Korn Shell ( /bin/ksh ) 使用这些作为登录shell时 用户的权限仅由文件的读 写 执行权限和ACL控制 这种控制方式比较简单 文件明确规定了主人 同组人和他们的权限

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