su - make the shell a login shell

来源:互联网 发布:淘宝天文望远镜 编辑:程序博客网 时间:2024/06/16 03:20

今天用oracle user执行命令时,出现线面的错误:

 

ERROR:
ORA-01031: insufficient privileges


SP2-0640: Not connected
All indexes are rebuilt.

 

经人指点,原来问题出在su

 

su manual ---  http://www.delorie.com/gnu/docs/sh-utils/sh-utils_72.html

 

NAME
       su - run a shell with substitute user and group IDs

SYNOPSIS
       su [OPTION]... [-] [USER [ARG]...]

DESCRIPTION
       Change the effective user id and group id to that of USER.

 

By default, su does not change the current directory.It sets the environment variables HOME and SHELLfrom the password entry for user, and if user is notthe super-user, sets USER and LOGNAME to user.By default, the shell is not a login shell.

-
-l
--login
Make the shell a login shell. This means the following. Unset all
environment variables except `TERM', `HOME', and `SHELL' (which
are set as described above), and `USER' and `LOGNAME' (which are
set, even for the super-user, as described above), and set `PATH'
to a compiled-in default value. Change to USER's home directory.
Prepend `-' to the shell's name, intended to make it read its
login startup file(s).

 

 

原来是需要su - oracle,而不能用su oracle

原创粉丝点击