关于bash script中的权限切换 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
happlebao
V2EX    Linux

关于bash script中的权限切换

  •  
  •   happlebao May 20, 2013 4721 views
    This topic created in 4735 days ago, the information mentioned may be changed or developed.
    一些命令需要在root下运行,一些需要在普通权限下运行。大家是怎么处理这个问题的?
    我只找到3种方案,都不是很好。
    1.需要root的从standinput读取password
    echo LOGINPASSWD | sudo -S COMMAND HERE
    2.用expect配合
    3.让这个script以root权限运行,脚本内需要普通用户的地方用
    sudo -u User 或者
    sudo bash <<EOF
    whoami
    id
    EOF
    做切换。

    求更好的方法,或者用python调用?求例子。
    11 replies    1970-01-01 08:00:00 +08:00
    dndx
        1
    dndx  
       May 20, 2013
    Please Google "setuid"
    halfbloodrock
        2
    halfbloodrock  
       May 20, 2013
    我不知道我理解的是不是正确,普通用户run 脚本,然后脚本里有一些命令要用root权限。

    我的方法:如果就1,2台机器
    在visudo里配置command alias。然后脚本里写sudo command.
    F281M6Dh8DXpD1g2
        3
    F281M6Dh8DXpD1g2  
       May 20, 2013
    @halfbloodrock 这种需要输入密码啊....
    halfbloodrock
        4
    halfbloodrock  
       May 20, 2013
    @liprais 设为NOPASSWROD就可以了。
    happlebao
        5
    happlebao  
    OP
       May 20, 2013
    @halfbloodrock 20台吧,一半ubuntu,一半os x。我是想拿bash写自动化环境配置脚本。每台机子都手动配的话就太累了...
    little_cup
        6
    little_cup  
       May 21, 2013
    @dndx 我依稀记得是不能用于脚本的……
    chemzqm
        7
    chemzqm  
       May 21, 2013
    在脚本里一般情况需要root就是sudo,需要重定向就用sudo sh -c COMMOND
    Ubuntu可修改sudo密码过期时间,命令sudo visudo添加
    Defaults passwd_timeout=30
    设置为30分钟后过期
    运行脚本输入一次当前用户密码即可,或者使用expect
    egen
        8
    egen  
       May 21, 2013   1
    个人觉得 sudo 跑脚本然后 sudo -u User 的方法好一点
    如果普通权限跑一半遇到 sudo 到 root,需要输入密码是挺烦人的一件事,无人值守方面不大好
    panzhc
        9
    panzhc  
       May 21, 2013
    把需要root执行权限的命令改成普通用户也可以执行呢?
    chown 0.0 /path/to/file
    chmod u+s /path/to/file
    linchanx
        10
    linchanx  
       May 21, 2013 div class="sep5">
    setuid 可以让普通账号执行root账号才能执行的程序
    glancesx
        11
    glancesx  
       May 23, 2013
    su - xxx -c " command "
    xxx是普通用户
    About     Help     Advertise     Blog     API     FAQ     Solana     1556 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 53ms UTC 16:34 PVG 00:34 LAX 09:34 JFK 12:34
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86