如何在shell脚本中执行以下操作?
$ su my_user
Password: my_password
这是必需的,因为我需要在Mac上安装homebrew
,并且它不允许我在sudo
下安装它,但要求我拥有管理员权限。
$ sudo /usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
Password:
Don't run this as root!
为什么我不能以当前用户(不是管理员)的身份运行它 -
$ /usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
This script requires the user to be an Administrator. If this
sucks for you then you can install Homebrew in your home directory or however
you please; please refer to our homepage. If you still want to use this script
set your user to be an Administrator in System Preferences or `su' to a
non-root user with Administrator privileges.
作为管理员登录以运行脚本不是一个选项,我必须在脚本中su
。
答案 0 :(得分:2)
在Mac上,root
与管理员之间存在差异。管理员大致转换为标准Unix / Linux系统上的wheel
组,这意味着“管理员”组中的组可以使用其密码获得提升的权限(àlasudo)。确保您尝试运行此用户的用户是管理员:单击左上角的Apple菜单,系统偏好设置,用户和放大器。组。它应该以你的名字说“管理员”;如果没有,那就是你的问题。单击锁定(窗口左下角),在计算机上输入管理员帐户的用户名和密码,单击您的用户,然后选中“允许用户管理此计算机”框。
答案 1 :(得分:0)
你需要从shell外面做这件事,比如bash或ssh或telnet,由'expect'管理 试试
man expect