1. linux脚本如何获取root权限
可以的
因为你是root运行的这个程序
那么即使add.sh在normaluser下也可以有权限执行root的命令
因为你使用root运行了这个程序那么这个进程就是输入root的,那么它就继承了root权限。
所以如果是在服务器上,不要用root权限来开启普通用户的服务,否则下次普通用户登陆开启时,将会因为权限而报错
2. Linux shell脚本有一条sudo语句,如何在脚本里获得本人的密码,从而得到root权限
首先,你的侧重点有问题,sudo权限配置好之后,你可以直接使用root权限,需要写脚本获取root权限
一般有两种情况,1、使用sudo需要输入密码,2、使用sudo不需要密码
所以,你只需要配置sudo,你自己的账户使用root权限时,不需要验证密码即可
visudo 命令直接进入sudo配置文件中,具体配置格式,文件中的注释很明了,不过是E文,如E文比较勉强,网络google是你的选择。
3. 如何使用shell脚本修改linux的登陆密码
以root用户为例:
第一种:
echo “123456″ | passwd –stdin root
优点:方便快捷
缺点:如果你输入的指令能被别人通过history或者其他方式捕获,那么这样的方式是很不安全的,更重要的是如果密码同时含有单引号和双引号,那么则无法通过这种方法修改。
说明:
批量修改linux密码 passwd –stdin user 从标准输入中读取密码,所以用户可以在脚本中使用如 echo NewPasswd | passwd –stdin username 这种方式来批量更改密码 但在其它的一些发行版(如Debian/Suse)所提供的passwd并不支持–stdin这个参数
第二种:
a. 首先将用户名密码一起写入一个临时文件.
cat chpass.txt
root:123456
zhaohang:123456
b. 使用如下命令对用户口令进行修改:
chpasswd < chpass.txt
c. 可以使用 123456 来登录系统,密码修改完毕.
优点:可以很快速方便的修改多个用户密码
缺点:明文密码写在文件里仍然显得不够安全,但是避免了第一种修改方式不能有特殊字符串密码的情况.
第三种:
a. 用 openssl passwd -1 来生成用户口令,连同用户名一起写入文件.
cat chpass.txt
root:$1$ri2hceVU$WIf.firUBn97JKswK9ExO0
zhaohang:$1$i/Gou7.v$Bh2K6sXmxV6/UCxJz8N7b.
b. 使用如下命令对用户口令进行修改:
chpasswd -e < chpass.txt
c. 可以使用 123456 来登录系统,密码修改完毕.