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

前端之家收集整理的这篇文章主要介绍了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.f2er.com/ubuntu/352807.html

猜你在找的Ubuntu相关文章