微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/ubuntu/352807.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐