Linux给用户添加sudo权限

一、linux给用户添加sudo权限: 
有时候,linux下面运行sudo命令,会提示类似: 
xxxis not in the sudoers file.  This incident will be reported. 
这里,xxx是用户名称,然后导致无法执行sudo命令,这时候,如下解决:

进入超级用户模式。也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。(当然,你也可以直接用root用)

添加文件的写权限。也就是输入命令"chmod u+w /etc/sudoers"。

编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",进入编辑模式,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存退出。

撤销文件的写权限。也就是输入命令"chmod u-w /etc/sudoers"。 
然后就行了。

二、设置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

(0)

相关推荐

  • Linux sudo权限绕过漏洞详解

    最近大热的bug时间,就是Linux sudo权限绕过漏洞CVE-2019-14287事件,对此,我们做了一些研究.虽然各大平台已经把核心的东西晒出来了,但是,因为目前没有说的特别完整的,所以,笔者研 ...

  • sudo的用法

    sudo的用法

  • Linux用户切换命令的使用——su、sudo

    一. su su用于用户之间的切换,但是切换前的用户依然保持登录状态.如果是root向普通切换则不需要密码,反之普通用户切换到其它任何用户则都需要密码验证. su不加任何参数默认切换到root用户,但 ...

  • linux下su与sudo

    简短介绍 su与su - su 切换到root用户,但是并没有转到root用户家目录下,即没有改变用户的环境.su - 切换到root用户,并转到root用户的家目录下,即改变到了root用户的环境. ...

  • 亚马逊云教程2:新建用户,sudo权限,安装软件

    概要:新建Ubuntu用户,切换用户,赋予用户 sudo权限,ssh密钥对登录服务器,使用Ubuntu命令行软件,apt安装删除软件,搜索资料,编译软件源码 读者:了解Linux/Unix命令行,云初 ...

  • Linux给普通用户增加ssh权限

    Linux系统安装好,建立普通用户后,普通用户不一定能通过ssh连接到服务器 可以在/etc/ssh/sshd_config中增加AllowUsers:username(可以多个,空格分开)给普通用户 ...

  • Debian普通用户获取root权限|sudo的安装与配置

    转载于:https://www.linuxidc.com/Linux/2016-04/130522.htm Debian系统的普通用户需要安装软件时,往往会收到"Permission den ...

  • Linux修改用户信息的usermod命令参数选项有什么?

    usermod命令用于修改系统已经存在的用户的账号信息.想要成为优秀的Linux运维工程师,Linux基础命令的掌握是必须的.而核心命令中,修改用户信息的usermod命令是非常重要的,那么修改用户信 ...

  • 【linux】su、sudo、sudo su、sudo

    sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码.不过有时间限制,Ubuntu默认为一次时长15分钟. su : 切换到某某用户模式, ...

  • 给mysql用户设置XA_RECOVER_ADMIN权限防止调试抛乱

    use mysql; GRANT XA_RECOVER_ADMIN ON *.* TO pre_model@'%'; select * from USER t where t.user='pre_mo ...

  • Linux命令Man解释:SUDO(8):以root身份执行指令

    名称     sudo - 以超级使用者 (superuser; root) 的身分执行指令     visudo - 编辑 sudoers 档案    语法     sudo command    ...

  • Delphi实现软件中登录用户的操作权限

    Delphi实现软件中登录用户的操作权限 作者:admin 来源: 日期:2013/11/22 19:44:58 人气:1660 标签: 数据库结构:包括两张表BaseData和UserRightDa ...