php页面调用shell命令的问题

本文介绍如何配置Linux系统,使得特定用户可以在无需输入密码的情况下使用sudo命令。主要步骤包括检查用户的组成员身份、修改sudoers文件以允许指定组的用户免密码执行sudo。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上有很多关于linux sudo不要输密码的网页,基本上都是大同小异。我看了一些,感觉说的都不是很清楚。下面就如何实现linux 普通用户 sudo 时不要输入密码,详细说明一下.

一,如果是个人电脑只是为了玩一玩,学学linux,sudo 时可以把输入密码去掉,老是输入密码挺烦人的。如果是服务器就不要这样做了,太不安全了

二,普通用户登录后,先查看一下这个用户属于哪些组。

zhangy@ubuntu:~$ groups
adm dialout cdrom sudo plugdev lpadmin admin sambashare

linux设置一些组,只有在这个组里面的用户,才可以执行sudo。我们可以通过查看/etc/sudoers这个文件,下面是ubuntu的sudoers

  1. # User privilege specification
  2. root ALL=(ALL) ALL //root组
  3. # Allow members of group sudo to execute any command
  4. # (Note that later entries override this, so you might need to move
  5. # it further down)
  6. %sudo ALL=(ALL) ALL //sudo组
  7. #
  8. #includedir /etc/sudoers.d
  9. # Members of the admin group may gain root privileges
  10. %admin ALL=(ALL) ALL //admin组
# User privilege specification
root    ALL=(ALL) ALL                //root组

# Allow members of group sudo to execute any command
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL                 //sudo组
#
#includedir /etc/sudoers.d

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL             //admin组

在这些组里面用户,才可以sudo ,如果你用的那个账号,不在这些组里面,可以用gpasswd -a 用户名 组名。例如:gpasswd -a zhangy admin这句话意思是说把zhangy这个用户加入到admin这个组当中。不同的linux系统,能执行sudo的组名是不一样的,archlinux下就只有sudo这个组,而没有admin这个组

三,修改/etc/sudoers这个文件

root@ubuntu:/home/zhangy# ll /etc/sudoers
-r--r----- 1 root root 570 2011-04-17 14:41 /etc/sudoers

1,这个文件是只读的,所以要想修改chmod 740 /etc/sudoers

2,vim /etc/sudoers 后把%admin ALL=(ALL) ALL 改成 %admin ALL=NOPASSWD:ALL

3,chmod 440 /etc/sudoers 改完后,别忘了把权限改回来。

 

备注: gpasswd -a www-data admin

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值