Linux/Ubuntu sudo不用输入密码的方法
Linux/Ubuntu sudo不用输入密码的方法 (其他系统没有验证)
1. 查看当前用户以及当前用户所属组
- groups命令可以查看某个用户所属的用户组,只执行groups命令,可以查看系统当前登录用户的用户组。
sw@Ubuntu-18-04-5:~/work/0617$ groups sw sudo
要查询特定的用户所属用户组,可以在后面接用户。如下图所示 ,查询sw用户所在的用户组。
sw@Ubuntu-18-04-5:~/work/0617/$ groups sw sw : root sudo
- 查看/etc/group法
/etc/group是用户组配置文件,可以查看此文件通过grep命令查询某个用户所在的用户组。如下图所示,查询到sw用户属于sw和sudo用户组。
sw@Ubuntu-18-04-5:~/work/0617/host-sdk-regression$ cat /etc/group |grep sw adm:x:4:syslog,swadmin cdrom:x:24:swadmin sudo:x:27:swadmin,sw sw:x:1001:
- id命令法
id命令也可以查看某个用户所属的用户组,只执行id命令,可以查看当前登录用户所在的用户组。
sw@Ubuntu-18-04-5:~/work/0617/$ id uid=1001(sw) gid=1001(sw) groups=1001(sw),27(sudo)
要查询特定的用户所属用户组,可以在后面接用户。如下图所示 ,查询sw用户所在的用户组。
sw@Ubuntu-18-04-5:~/work/0617/$ id sw uid=1001(sw) gid=0(root) groups=0(root),27(sudo)
2. 修改当前用户所属组为root
sudo usermod -g root sw
3. linux添加用户并赋予root权限
一、添加用户并设置密码:
sw@Ubuntu-18-04-5:~/work/0617/$ adduser test adduser: Only root may add a user or group to the system. sw@Ubuntu-18-04-5:~/work/0617/$ sudo adduser test [sudo] password for sw: Adding user `test' ... Adding new group `test' (1002) ... Adding new user `test' (1002) with group `test' ... Creating home directory `/home/test' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for test Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y
二、赋予root权限
方法一:将用户加入到root组
sudo usermod -g root sw
修改完毕,现在可以用test账号登录,然后用命令su ,即可获取root权限进行操作
方法二:修改/etc/sudoers文件,找到下面一行,在root下面添加一行“test ALL=(ALL) ALL”,如下所示
# See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL test ALL=(ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d
修改完毕,可以用test账号登录,然后用命令sudo,即可获得root权限进行操作
方法三:修改/etc/passwd文件,找到如下行,并把用户ID修改为0(用户ID为x后面的那个数字)
kernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/usr/sbin/nologin saned:x:114:119::/var/lib/saned:/usr/sbin/nologin avahi:x:115:120:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/usr/sbin/nologin swadmin:x:1000:1000:swadmin,,,:/home/swadmin:/bin/bash sw:x:1001:0:sw,,,:/home/sw:/bin/bash sshd:x:122:65534::/run/sshd:/usr/sbin/nologin test:x:1002:0:,,,:/home/test:/bin/bash
三、简单介绍下/etc/passwd文件字段含义
每行代表一个用户,可以看到我们的系统里有很多用户,绝大多数是系统或服务正常运行必须的用户,这些用户称为系统用户,这些用户是不可登录的,同时不能被删除。一旦删除,依赖它们的服务或程序将会出问题
1、第一个字段,保存的是用户名
2、第二个字段 “X”,代表有密码。这个字段称为密码标识
3、第三个字段,用户ID(UID),系统是通过 UID 来识别不同的用户和分配用户权限的。这些 UID 是有使用限制和要求的:
(1)0:如果用户 UID 为 0,则代表这个账号是管理员账号。在 Linux 中如何把普通用户升级成管理员呢?只需把其他用户的 UID 修改为 0 就可以了
(2)1-499:系统用户(伪用户)UID。这些 UID 是系统保留给系统用户的 UID,也就是说 UID 是 1~499 范围内的用户是不能登录系统的,而是用来运行系统或服务的。其中,1~99 是系统保留的账号,系统自动创建;100~499 是预留给用户创建账号的。
(3)500-65535:普通用户UID。建立的普通用户的UID从500开始,最大到65535
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY