设置su和sudo为不需要密码

设置su和sudo为不需要密码

一 设置sudo为不需要密码

 

有时候我们只需要执行一条root权限的命令也要su到root,是不是有些不方便?这时可以用sudo代替。默认新建的用户不在sudo组,需要编辑/etc/sudoers文件将用户加入,该文件只能使用visudo命令,

1) 首先需要切换到root, su - (注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还是当前用乎的环境变量,用"su -"命令将环境变量也一起带过去,就象和root登录一样)

2) 然后 visudo 或者 vi /etc/sudoers, visudo 这个和vi的用法一样,由于可能会有人不太熟悉vi,所以简要说一下步骤

移动光标,到一行root ALL=(ALL)   ALL的下一行,按a,进入append模式,输入
your_user_name ALL=(ALL)   ALL

然后按Esc,再输入:w保存文件,再:q退出

这样就把自己加入了sudo组,可以使用sudo命令了。

3) 默认5分钟后刚才输入的sodo密码过期,下次sudo需要重新输入密码,如果觉得在sudo的时候输入密码麻烦,把刚才的输入换成如下内容即可:
your_user_name ALL=(ALL) NOPASSWD: ALL

至于安全问题,对于一般个人用户,我觉得这样也可以的。

4)如果你想设置只有某些命令可以sudo的话,your_user_name   ALL= (root) NOPASSWD: /sbin/mount, (root) NOPASSWD: /bin/umount, (root) NOPASSWD: /mnt/mount, (root) NOPASSWD: /bin/rm, (root) NOPASSWD: /usr/bin/make, (root) NOPASSWD: /bin/ln, (root) NOPASSWD: /bin/sh, (root) NOPASSWD: /bin/mv, (root) NOPASSWD: /bin/chown, (root) NOPASSWD: /bin/chgrp, (root) NOPASSWD: /bin/cp, (root) NOPASSWD: /bin/chmod


注意: 有的时候你的将用户设了nopasswd,但是不起作用,原因是被后面的group的设置覆盖了,需要把group的设置也改为nopasswd。

joe ALL=(ALL) NOPASSWD: ALL

%admin ALL=(ALL) NOPASSWD: ALL


参考: 

http://blog.163.com/love-love-l/blog/static/21078304201071232234518/



二 设置su为不需要密码
如果需要对某用户su命令也不需要输入密码,则需要修改下列的:

1)切换到root权限;
2)创建group为wheel,命令为groupadd wheel;
3)将用户加入wheel group中,命令为usermod -G wheel joe;
4)修改su的配置文件/etc/pam.d/su,增加下列项:
 auth       required   pam_wheel.so group=wheel 
# Uncomment this if you want wheel members to be able to
# su without a password.
 auth       sufficient pam_wheel.so trust use_uid

至此你可以使用例如如下的命令且不需要输入密码:su joe -c command。
 
三 ubuntu 启用root
sudo -i
sudo passwd root

disable by below:
sudo passwd -dl root


参考:


http://cosminswiki.com/index.php/How_to_let_users_su_without_password
http://ag-up.com/?p=457








About Me

.............................................................................................................................................

● 本文整理自网络,若有侵权请联系小麦苗删除

● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

● 本文博客园地址:http://www.cnblogs.com/lhrbest

● 本文pdf版、个人简介及小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答:http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址:http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

.............................................................................................................................................

● QQ群号:230161599(满)、618766405

● 微信群:可加我微信,我拉大家进群,非诚勿扰

● 联系我请加QQ好友646634621,注明添加缘由

● 于 2017-09-01 09:00 ~ 2017-09-30 22:00 在魔都完成

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

.............................................................................................................................................

小麦苗的微店https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

小麦苗出版的数据库类丛书http://blog.itpub.net/26736162/viewspace-2142121/

.............................................................................................................................................

使用微信客户端扫描下面的二维码来关注小麦苗的微信公众号(xiaomaimiaolhr)及QQ群(DBA宝典),学习最实用的数据库技术。

   小麦苗的微信公众号      小麦苗的DBA宝典QQ群1     小麦苗的DBA宝典QQ群2        小麦苗的微店

.............................................................................................................................................

ico_mailme_02.png
DBA笔试面试讲解群1
DBA笔试面试讲解群2
欢迎与我联系



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2145374/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26736162/viewspace-2145374/

### 如何设置或重置sudo su密码 在Linux系统中,`sudo``su`是两种常见的权限提升工具。如果需要设置或重置与`sudo``su`相关的密码,可以参考以下内容。 #### 设置sudo密码 1. **确保用户已加入sudoers组** 在大多数Linux发行版中,只有属于`sudo`组的用户才能使用`sudo`命令。可以通过以下命令将用户添加到`sudo`组: ```bash usermod -aG sudo username ``` 这里的`username`为需要赋予sudo权限的用户名[^4]。 2. **编辑/etc/sudoers文件** 使用`visudo`命令编辑`/etc/sudoers`文件,以配置用户的sudo权限。例如,允许用户`username`执行所有命令: ```plaintext username ALL=(ALL:ALL) ALL ``` 如果希望该用户无需输入密码即可执行sudo命令,可以添加`NOPASSWD`选项: ```plaintext username ALL=(ALL) NOPASSWD: ALL ``` 3. **验证sudo密码** 用户在首次运行`sudo`命令时会被提示输入密码。此密码为用户的登录密码,而非root密码。如果用户未设置密码,则需要先通过`passwd`命令设置用户密码: ```bash passwd username ``` #### 重置sudo密码 如果忘记了普通用户的密码,可以通过以下步骤重置: 1. **进入单用户模式** 重启系统并在引导界面按下`e`键,找到内核启动行(通常以`linux16`或`linux`开头),将`ro`替换为`rw init=/bin/bash`,然后按`Ctrl+X`启动系统[^3]。 2. **挂载根文件系统并更改密码** 执行以下命令重新挂载根文件系统为可写,并更改用户密码: ```bash mount -o remount,rw / passwd username ``` 输入两次新密码完成设置。 3. **退出并重启系统** 完成后连续按两次`Ctrl+D`退出并重启系统。 #### 重置root密码 如果需要重置root密码,可以按照类似的方法操作: 1. **进入紧急救援模式** 重启系统并在引导界面按下`e`键,找到内核启动行,将`ro`替换为`rw rd.break`,然后按`Ctrl+X`启动系统[^5]。 2. **挂载根文件系统并更改密码** 执行以下命令重新挂载根文件系统为可写,并更改root密码: ```bash mount -o remount,rw /sysroot chroot /sysroot passwd ``` 输入两次新密码完成设置。 3. **强制重置SELinux标签** 为了防止某些文件缺少SELinux标签,可以运行以下命令: ```bash touch /.autorelabel exit reboot ``` #### 使用sudo更改root密码 如果当前用户具有sudo权限,可以直接通过以下命令更改root密码: ```bash sudo passwd root ``` 系统会提示输入当前用户的密码,然后输入两次新的root密码。 ```python # 示例代码:通过Python调用系统命令更改密码 import subprocess def change_password(username, new_password): command = f"echo '{new_password}' | passwd --stdin {username}" result = subprocess.run(command, shell=True, capture_output=True, text=True) if result.returncode == 0: print(f"Password for {username} has been changed successfully.") else: print(f"Error changing password: {result.stderr}") # 调用示例 change_password("root", "new_root_password") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值