Debian 默认只有 Debian 用户,无 sudo,如何通过 su 来自动配置一些东西?

2017-05-05 05:29:01 +08:00
 DravenJohnson

现在我们希望通过自动化程序,最好 python,但也可以用 shell,来实现创建 VPS,这一步一句完成了,同时配置 VPS 以及安装内容。

需要修改:

所以基本上第一步就是需要允许 root 登陆比较方便些。可是这样的非 sudoers 的 Debian 用户设置,如何操作呢?一个一个输入密码肯定不好,有没有办法自动输入密码的?

9524 次点击
所在节点    Linux
36 条回复
DravenJohnson
2017-05-05 05:30:34 +08:00
TL;DR 主要就是想通过先用的情况下的一个 VPS,在这上面配置一些东西,包括安装软件,修改密码,修改 ssh 等等。
zhs227
2017-05-05 06:08:39 +08:00
没用过 debian,其它几种 linux 的话,都是把用户添加到一个特定的用户组就可以了。ubuntu 是添加到 sudo 组,centOS 是添加到 wheel 组。
网上流传各种修改 /etc/sudoers 的方式,不太推荐。
还是建议通过普通帐号用 sudo,sudo 可以自己找包装上去。
ryd994
2017-05-05 08:01:29 +08:00
写好脚本
su -c
只要输一次密码
总之你至少得输一次吧
ivmm
2017-05-05 08:03:22 +08:00
apt-get install sudo ???
imn1
2017-05-05 08:16:27 +08:00
su
vi /etc/sudoers

自己加进去就是了

其实人家就是为了安全,就算别人“误”登入,不知道 root 密码也不能做太多
lekai63
2017-05-05 08:35:28 +08:00
没人提 发 ticket 么?
与其费脑子跟程序死磕,不如试试与人交流套套近乎。说不得就能勾搭上人家 boss 给你免了服务器的费用 23333
yushiro
2017-05-05 08:45:29 +08:00
安装 sudo 之后,把当前用户加入 sudo 组,就可以用 sudo 了,不需要手动配置 sudoers
xiaket
2017-05-05 09:02:03 +08:00
不建议直接改 /etc/sudoers, 建议将合适的配置文件放进 /etc/sudoers.d/目录.
LokiSharp
2017-05-05 09:14:09 +08:00
su root
gpasswd -a USER_NAME wheel

不要修改 sudoers 不安全
choury
2017-05-05 09:15:44 +08:00
把 debian 加到 sudo 组里面就行了
DravenJohnson
2017-05-05 09:28:50 +08:00
@lekai63 发了 Tickets 了,不过这个云服务商什么都没有,不报希望可以解决


@zhs227
@ryd994
@ivmm
@imn1
@yushiro
@xiaket
@LokiSharp
@choury

同一回复一下吧,现在的问题就是不管怎么样都需要输入一次密码:
不管是安装 用任何 apt-get install sudo 安装 sudo ;或者是很多人说的一样,加到 sudo 组;还是说的 su root

都无法避免输入一次密码。我们现在是想要通过一个 python 或者 shell 自动化这个步骤。当然如果谁能说出来把密码加在 shell scipt 里面的办法也是可以的。

原因很简单,我们第一次需要 provisioning 500 个 VPS。以后每天需要删除 + 创建不少于 50 个 VPS,如果这个简单步骤无法自动化的话,那么基本来说就无法使用了。
choury
2017-05-05 09:38:20 +08:00
@DravenJohnson 搜索 sudo 免密码
ysicing
2017-05-05 09:38:25 +08:00
好奇哪家的 VPS
yinflying
2017-05-05 09:49:15 +08:00
为了安全,我也把自己的 vps 改成这个样子,root 禁用登陆,使用普通用户登陆,并且没有 sudo 权限。

楼上的方法都可以,不过个人还是支持直接加到 wheel 组比较好。
lazycat
2017-05-05 09:50:41 +08:00
试试 expect ?
imn1
2017-05-05 09:50:44 +08:00
@DravenJohnson
1.sudoers 可以改成免密的,我 lapton 装 debian 第一件事就是做这个
2.仍然建议保留现在方式,服务器上还是不免密好
LokiSharp
2017-05-05 09:52:24 +08:00
@DravenJohnson 既然你是 500 VPS 的大用户,你有权力发 Tickets 要求服务提供商为你修改配置脚本。
嘛,一般来说服务商都会提供 API 文档让你开发自动部署脚本比如说腾讯云和阿里云的修改密码 API https://www.qcloud.com/document/api/213/1245
https://help.aliyun.com/document_detail/25503.html?spm=5176.doc25485.6.835.jWnaII
如果连 API 文档都没有的话。。。建议换一家服务商
CRVV
2017-05-05 09:59:22 +08:00
man sudoers
搜索 password
另外,改配置要用 visudo
ryd994
2017-05-05 10:05:42 +08:00
你们都想复杂了:
echo password | su -c script.sh

还有,这样的大客户,要求 provision 的时候带公钥真不难。大点的云服务商,比如 AWS,DO,包括 Vultr 都是可以的。
不能注入公钥的服务商,窃以为技术水平不行,不值得用。
fuxkcsdn
2017-05-05 10:12:45 +08:00
@ryd994 这命令在 bash 里输入会出现 su: must be run from a terminal 错误

BTW,大客户要求定制化镜像应该很容易的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/359229

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX