ubuntu登录自动运行脚本(解决root权限问题)

登录ubuntu后执行前面的命令,就能加载无线驱动,但是可不可以登录的时候自动运行呢?省得每次登录的时候都要敲命令,而且还要切换root用户才能执行相关命令,这样比较麻烦。

      可以写一个脚本,把那些命令全部写在脚本里面,然后在.profile文件中添加执行这个脚本的语句,这样就OK了,

      1.以root用户,新建个脚本文件:vi winless.sh

        内容如下:

             #!bin/sh

             cd hybird_wl

             make clean

             make

             rmmod b43

             rmmod ssb

             rmmod wl

              modprobelib80211

             insmod wl.ko

        2.将winless.sh文件赋suid 以及执行权限

           chmodgu+s winless.sh

          chmod 777 winless.sh

        3.在.profile文件中添加一条语句即可.

           echo123456 | sudo -S ./winless.sh

          注:这里123456是密码,参数-S专门为执行sudo命令的时候要输入密码而准备的,表示标准输入。


我只试过用第2种方法:
1.先写了个简单的C程序,只有一行:printf("密码\n");
\n必须要加。编译,获得可执行代码。
2.指定SUDO_ASKPASS为上面的可执行代码路径。
3.使用sudo命令,格式为:sudo -A XXXX

近期在进行一个自动化脚本时,由于需要在非root 用户下执行,即:sudo -A command/XXX.sh

此时在正常情况下当脚本执行到sudo时需要手动向控制台输入密码,这里利用环境变量SUDO_ASKPASS来实现免密码执行


1、创建一个密码文件,如_PWD_TEMP_

vim  _PWD_TEMP_

写入内容:

 #! /bin/bash

echo  yourpassword


2、在脚本中执行sudo 命令之前引入环境变量SUDO_ASKPASS

export SUDO_ASKPASS=./_PWD_TEMP_


3、执行命令

sudo -A  command/XXX.sh


你可能感兴趣的:(linux裁剪)