1、root下,vi /etc/sudoers :
[root@guanz etc]# vi /etc/sudoers
[root@guanz etc]#
# 添加如下内容:
guanz ALL=(ALL) ALL
示例:
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
guanz ALL=(ALL) ALL
## Allows members of the 'sys' group to run networking, software,
2、切换至普通用户guanz,并测试命令:
2.1 方式一:【echo ‘passwd’ | sudo -S java -jar ****】
[root@guanz etc]# su guanz
[guanz@guanz etc]$
# 进入jar包所在目录下:
[guanz@guanz dell]$ cd app/
[guanz@guanz app]$ ll
total 599948
-rw-rw-r--. 1 guanz guanz 59162 Jul 1 11:09 log-210701-01.txt
-rwxrwxr-x. 1 guanz guanz 307142072 Jul 1 14:36 test-1.0.jar
# 查看当前在运行的窗口程序
[guanz@guanz app]$ screen -ls
No Sockets found in /var/run/screen/S-guanz.
# 创建窗口,并进入,直接执行java -jar启动,会提示你输入密码:
[guanz@guanz app]$ screen -S jar
[guanz@guanz app]$ sudo java -jar test-1.0.jar > log-01.txt
[sudo] password for guanz:
# 通过【echo 'passwd' | sudo -S java -jar ****】再次执行,会直接启动,无需再输入密码。
[guanz@guanz app]$ echo '123456' | sudo -S java -jar test-1.0.jar > log-01.txt
[sudo] password for guanz:
# 查看当前在运行的窗口
[guanz@guanz app]$ screen -ls
There is a screen on:
17362.jar (Detached)
1 Socket in /var/run/screen/S-guanz.
[guanz@guanz app]$
# 查看日志文件,发现文件已启动:
2021-07-01 15:01:02.531 INFO 17548 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8890 (http) with context path ''
2021-07-01 15:01:02.534 INFO 17548 --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 29.065 seconds (JVM running for 30.46)
至此,此命令有效。
2.2 方式二:【EOF】文本块方式
sudo -S java -jar test-1.0.jar > log-01.txt << EOF
> passwd
> EOF
# 通过【EOF】文本块的方式,再次执行,会直接启动,无需再输入密码。
[guanz@guanz app]$ sudo -S java -jar test-1.0.jar > log-01.txt << EOF
> 123456
> EOF
# 查看日志文件,发现文件已启动:
2021-07-01 15:04:39.160 INFO 17848 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8890 (http) with context path ''
2021-07-01 15:04:39.162 INFO 17848 --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 29.111 seconds (JVM running for 30.618)
至此,此命令有效。
3、自启动.sh脚本文件:
#!/bin/bash
#cd ~/app
#sudo java -jar test-1.0.jar > log.txt
screen_name=$"jar"
screen -dmS $screen_name
cmd1=$"cd /home/app";
screen -x -S $screen_name -p 0 -X stuff "$cmd1"
screen -x -S $screen_name -p 0 -X stuff $'\n'
cmd3=$"echo '123456' | sudo -S java -jar test-1.0.jar > log-01.txt";
screen -x -S $screen_name -p 0 -X stuff "$cmd3"
screen -x -S $screen_name -p 0 -X stuff $'\n'
cmd4=$"screen -d jar";
screen -x -S $screen_name -p 0 -X stuff "$cmd4"
screen -x -S $screen_name -p 0 -X stuff $'\n'
再见。
今天的文章linux怎样脚本自动输入密码_sudo密码突然不对了分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/89125.html