2013-10-07
今天上午碰到一个问题:在不切换用户的前提下,如何以某个用户的身份来执行程序呢?不切换用户时会碰上权限问题。
可以使用命令来完成需求:
su username -c 'cmd'
#例如:
su username -c 'hadoop dfs -put /data/appdatas/log/query_black.2013.10.07.log hdfs://192.168.0.20:8089/data/log'
该命令可以不用切换用户执行环境就可以使用指定用户环境执行。 我想最终shell在处理时先切换到指定用户环境,执行脚本,最后在还原回来。