技术解析

Linux 可以不可以创建一个除了不叫 root 但是什么都和 root 一样的用户呢?
0
2021-06-16 17:35:30
idczone

记得之前遇到过这种情况,感觉还是很方便的,但是隔了一段时间就忘记了。

现在用的是建立一个系统管理员用户,然后免密码,需要提权的时候就输入sudo,虽然还是很方便,但是用起来还是有点麻烦。 我记得亚马逊之前好像就是有一个这样的用户。 网上搜索了一下,发现唯一的办法就是修改用户 id,把的他数字权限和用户组都改为0.0.虽然权限是一样了,但是一搜发现很多人改数字权限后遇到的问题几乎都想沿着网线去把写个主意的人吊起来打。

不知道大家平时都是用什么办法来处理的呢?

还是说和我一样,就是建一个系统用户然后免密码,需要提权的时候就sudo一下?


那你说的这个用户他和 root 又有什么区别呢

现在 root 用户都提倡不用了,好奇 lz 有啥场景要那么多 root ?还嫌不够乱么

”建一个系统用户然后免密码,需要提权的时候就 sudo 一下”
没理解这样和直接 root 免密码有什么区别

重要的是 uid 0 吧,跟名字没关系

有区别啊,如果是 root 用户的话,就不需要输入 sudoL

对的,看到网上很多人说如果出现了两个 uid0 的用户会引起混乱

root 只是 uid 为 0 的用户默认的名字,你把任意用户的 uid 改为 0/把 root 改为任意名字都完全不影响。

你这么一说好像还真是,看来还是继续使用我这种免密码输入的方式好了

有时候就是想方便一点而已

sudo 虽然需要多输按几个键,但带来的权限分离是很重要的,没有这种权限分离意识的人用 root 用户就是一颗定时炸弹……

标识符只是为了便于人使用的,只要 uid = 0 就有所有权限,你想改的话,直接把 用户和用户组文件里把 root 改一下就行,Linux 对这些文件没什么限制,uid 相同的话,linux 其实也没有限制,都可以登录,权限都是一样的。

平时不要使用 root,这是权限管理的好习惯,而且有些软件是不允许 root 用户进行操作的,你弄着也麻烦。

你这真是需求有问题
既然你都提权了,那就装个 zsh 的 sudo 插件呗,双击 esc 自动在开头加 sudo

我觉得自己手一抖可能就 rm -rf 了,所以坚持 sudo 加密码

不是每秒几十万上下的机子用 root 又怎么了,新建一个账号来管理服务器就是脱裤子放屁,该失手还是失手

看不懂,那么楼主为什么不直接用 root 账号?

此外,同样觉得楼主的需求很奇怪……权限分离是很重要的习惯

建这么一个账户,除了 uid 不是 0,其他和 root 完全一样,拥有所有权限。那么对于你这个用户来说,这个账户和 root 账户的区别在哪里?为啥要建这么个账号?如果是用这样的一个超级特权的账号,那么直接用 root 账号不行吗?
难道只是因为“绝大多数情况下,不要使用 root”?所以就建一个和 root 几乎一样,但名字不叫 “root” 的账户来用?人家说的是“root”这个账户名吗?人家说的是超级管理员权限……
现在的 sudo 是给你一个机会,仔细考虑一下,确定真的要执行这条指令。就类似于删除文件的时候要加个二次确认提示(现在很多发行版都这么做了,至少 root 权限的删除是会加二次确认的)。
就是有人喜欢 sudo 里配 NOPASSWD ALL,相当于取消思考,sudo 就等于 su root 然后随便跑。这跟直接用 root 账户有啥区别? emmm,好吧,区别是这个要加一个 sudo 前缀,也算是象征性的“二次确认”了吧(前提是你日常没有 sudo 的权限,发现权限不足的时候思考一下再加 sudo )。
日常使用,那是尽可能不提权,如果你日常 sudo 很频繁的话,想一想是不是自己的使用方式有问题?

你这是典型的 windows 个人用户思维,非常危险

uid 改成 0 就行了

可以,但没必要

唉。国内的什么金融检查还是什么,要求就是不能有 root 这个用户,建议改名。屁股长脑袋上了

很早之前写过一篇文章,不知道是否对楼主有所帮助 https://wudew.com/posts/63
现在来看,不建议这么搞

ubuntu 不就是这样吗?

感谢,原来是这个逻辑,明白了

吃太饱了吗,楼主,哈哈哈。

看 LZ 写的,我唯一想到的场景:
禁止 root 登录,但这个账户可以登录,不知道的人尝试 root 登录失败,知道的人可以用这个账户登入获得全部权限
数据管理有这样的场景,机器除了 windows,没怎么见过这样的场景
ubuntu 好像是可以设定一个一般用户名作为管理员登入的(记错了?)

你就是想 sudo 免密码呗
不推荐,脚本里带 sudo 也会直接执行

我的笨蛋用法是,ssh root 取得 root 权限,不用输入密码。

不清楚系统里面有 2 个不同的 root 会不会有问题
嵌入式 Linux 里面,不少把 root 改叫 admin 的,比如许多无线路由

但是一搜发现很多人改数字权限后遇到的问题几乎都想沿着网线去把写个主意的人吊起来打。
是的,想打死这种出馊主意的人,其他问题,中招过。。。关键是那个馊主意还被相对广泛传播了,好几个地方看到。。。

我猜你的需求,sudoer 里面设 NOPASSWD 就可以。但不建议不加 sudo,避免自己在无意识的情况下做出蠢事。就是楼上说的,权限分离意识很重要

本地环境限 sudo 麻烦不如直接用 root,线上环境免密 sudo 感觉是一个好办法,完全把 Linux 的权限理念抛弃了

"方便"跟"高安全级别"有时候是对立的. E.g. 你一台学生实验机器, root 就 root, 完全废了也没事. 所以
- 如果出了问题, 也无关大碍, 没什么成本, 那就直接用 root, 别弄那么多复杂的
- 如果有些问题担心发生, 趁早还是 sudo, 至少你知道哪些命令会要系统的权限
- 在他的这个前提下, root 跟 sudo 是有区别的因为 sudo 的权限可以在 visudo 配置, 比如你不让它 shutdown, 他 sudo 也没法 shutdown, 但是 root 是敞开的, 而且 root 可以修改 sudo
当然 sudo 本身提供更多的选项以及灵活性, root 就是单一的一个用户, 只是权限大而已. 但这跟他提到的话题关系不紧密.

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服