本文目录:
- 1、linux终端用户执行不了命令,需要配sudo 怎么配置
- 2、Linux入门系列——su和sudo
- 3、linux怎么赋予用户sudo权限
- 4、linux下sudo不要密码怎么实现
- 5、如何配置Linux系统sudo命令的权限
- 6、linux给普通用户sudo权限
linux终端用户执行不了命令,需要配sudo 怎么配置
配置sudo的配置文件在/etc/sudoers里面,一般通过visudo命令来安全打开编辑。查看/etc/sudoers的用法可以使用命令:
man
5
sudoers。在/etc/sudoers文件里面主要包括这两部分:
1.
别名设置
别名主要包括这几种:User_Alias,Host_Alias,Runas_Alias,Cmnd_Alias,分别是用户别名,主机别名,运行用户别名,命令别名。设置这几个别名的命令主要是为了配置方便,这个很类似linux用户群组或是数据库中角色的作用,有了别名便可以批量的赋予权限。
设置方法
Alias_Type
alias_name
=
name1,
name2,
name3,
例如User_Alias
User1
=
user1,
user2,
user3。其他类型的alias设置方法类似。
2.
真正的sudo
entry
这个就是真正配置哪些用户可以使用哪些命令了(你甚至可以不使用别名设置那部分)。
格式为:用户名(用户别名)
主机名(主机别名)=[(运行用户或是Runas_Alias)可选]
[tag可选]
可以执行的命令(或Cmmd_Alias)
这样描述语法很生硬,不易理解,举例子
user1
host1
=
/bin/kill
#
user1
可以在host1上使用命令/bin/kill
user1
host1
=
NOPASSWD:
/bin/kill
#
user1
可以在host1上使用命令/bin/kill
同时可以不必输入密码(这里就是使用了NOPASSWD
#
这个tag,默认是PASSWD)
user1
host1
=
NOPASSWD:
/bin/kill
,
PASSWORD:
/bin/ls
#
user1
可以在host1上使用命令/bin/kill无需输入密码,但是使用/bin/ls则需要输入密码
user1
host1
=
(opterator)
/bin/kill
#
user1
可以在host1上使用命令/bin/kill但是必须是以operator用户运行这个命令,等价于
#
su
-u
opertor
/bin/kill
user1
host1
=
(:group_name)
/bin/kill
#
user1
可以在host1上使用命令/bin/kill,且必须以group_name这个用户群组里面的用户来运行。
%group_name
host1
=
/bin/kill
#
所有group_name里面的用户都可以在host1上执行/bin/kill(linux中一般代表整个用户群组用
#
%group_name)
再举个实际例子,我之前对sudo
su这个命令不理解,为什么我可以直接就su到root用户了呢,连密码都不需要?查看了一下sudoers文件才知道原来里面有这么一行:
xxx
ALL=NOPASSWD:
/bin/su
Linux入门系列——su和sudo
su和sudo这两个命令是Linux运维必须要会的,通常在生产环境中都是使用普通帐号来登录,再使用su或sudo来执行一些管理命令。
su:run a shell with substitute user and group ids
-,-l,--login 切换后使用指定用户的的shell。
-c,--command=COMMAND 可以在不切换当前shell的情况下,用指定的用户来执行一个命令;
如果在su的时候没有加”-“或“-l”或“--login”那么默认的会使用 当前用户 的shell来执行 ;
sudo的配置文件是: /etc/sudoers ,该文件可以定义哪个用户可以在哪个机器上以哪个用户的身份来执行哪些命令;
在配置sudo时必须使用 visudo 来编辑配置文件,因为使用visudo可以检查修改后的文件的语法是否正确;
可以将上面的配置行分成四部分:part1 part2 part3 part4
例如:
那么如果用户的数量过多的时候是不是要为每个用户来创建一个条目呢,很显示这样做是不科学的。所以sudo就引入了别名的概念,其实和组也差不多;
alias定义的语法:
要注意的是,这个Alias的名称一定要大写;
user1是一个用户,user2是一个组,所以user2的前面要加上%
可以使用主机名,IP地址,网段(网段的掩码可以写成255.255.255.0,也可以写成/24)
命令必须使用绝对路径。如果只指定了一个目录,那么用户就可以执行该目录下的所有的文件;上面的“=”右边的都可以使用“!”来取反。表示除了xxx以外;
例子 :请允许user1,user2,user3在192.168.20.44和192.168.10.0/24网段的机器上使用sudo切换到root用户来执行useradd和setup命令;
然后就可以使用user1,user2,user3这三个用户去测试了;
注意:当用户第一次执行sudo命令的时候是需要用户输入自己的密码的。当第一次输入正确后,这个密码就会被缓存5分钟,在5分钟内用户再次使用sudo来切换身份执行命令的时候就不需要再次输入自己的密码。
这样呢有些时候会有一个安全隐患,所以为了去掉这个5分钟,可以在使用sudo命令的时候加上“-k”参数,这样用户在每次执行sudo命令的时候都会让用户输入自己的密码。
如果想让某个用户在执行sudo的时候不需要输入自己的密码,那么可以在命令的前面添加NOPASSWD。/etc/sudoers的内容如下:
这样的话,user1,user2,user3这三个用户在执行指定的命令的时候就不需要输入自己的密码了。
如果其中的命令有的需要输入密码,有的不需要输入密码的话,那就把PASSWD:写在那些命令的前面。或是把NOPASSWD:写在最后一个命令中;
例子:让用户user4使用passwd来管理用户的密码,但是不能给root用户设置密码:
注意:如果最后不加上!/usr/bin/passwd root的话,那么会有很大的漏洞,user4可以修改root用户的密码;当添加上后,user4再次执行sudo passwd root的时候就会提示:
linux怎么赋予用户sudo权限
为普通用户赋予sudo权限(linux)sudo是linux下常用的允许普通用户使用超级用户权限的工具。在需要超级用户权限时前面加上sudo,比如:sudo vim /xxxxxxxxxx,然后系统提示输入密码,正确后就可以像root一样编辑了,这样做的好处是比较安全。下面介绍如何配置sudoers:sudo功能的配置文件一般在这里:/etc/sudoers,可以使用visudo编辑,好处是如果规则写的不符合要求能提示你,坏处是调出的是 nano编辑器,甚为不顺手。而且/etc/sudoers的配置文件的注释里也说明了,不建议直接修改/etc/sudoers,而是通过在/etc /sudoers.d/文件夹中新增文件来完成配置。Please consider adding local content in /etc/sudoers.d/ instead of directly modifying this file.新增的文件就用vi编辑就可以了,比如说要为mantou增加sudo权限,就增加一个文件,文件名无所谓,内容是:mantou ALL=(ALL) ALL保存,退出vi然后需要把这个文件权限设置为400:chmod 400 mantou再用mantou用户登录后就可以使用sudo权限了。
linux下sudo不要密码怎么实现
设置linux下sudo不要密码的步骤如下:
1、首先以root用户登录,并且新建一个普通的用户,用户名为test。
2、用户创建后,重新以test用户登录,执行‘sudo uname’ 提示需要sudo的密码,但是输入test的密码之后,提示test用户没有在sudo的用户权限组中。
3、去目标机器上执行 visudo编辑文件,或者用ftp下载/etc/sudoers这个文件,编辑之后再上传覆盖掉都可以。
4、找到 #user privilege 的这一行,照着下面root的模式,复制一行。
5、然后把root给改成test。
6、重新以test登陆,执行‘sudo uname’,然后输入sudo密码,sudo权限设置完成。
7、将刚才改动的同一行,加上NOPASSWD。
8、再次执行sudo,发现不要密码,说明设置完成。
这样就解决了“linux下sudo不要密码”的问题。
扩展资料:
1)Linux由众多微内核组成,其源代码完全开源;
2)Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、 TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发出新的协议栈;
3)Linux系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性;
参考资料:百度百科-linux
如何配置Linux系统sudo命令的权限
1、编辑sudo配置文件:visudo;
2、允许用户kk执行sudo;
3、允许kk执行mount.cifs而不用输入密码。
以上就是如何配置Linux系统sudo命令的权限的全部内容了,只有配置好权限才能更方便地使用sudo命令。
linux给普通用户sudo权限
linux与用户权限设置:
1、添加用户
首先用adduser命令添加一个普通用户,命令如下:
#adduser tommy //添加一个名为tommy的用户
#passwd tommy //修改密码
Changing password for user tommy.
New UNIX password: //在这里输入新密码
Retype new UNIX password: //再次输入新密码
passwd: all authentication tokens updated successfully.
2、赋予root权限
方法一:修改 /etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
然后修改用户,使其属于root组(wheel),命令如下:
#usermod -g root tommy
修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。
方法二:修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
tommy ALL=(ALL) ALL
修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。
【linux设置sudo】的内容来源于互联网,如引用不当,请联系我们修改。
网友留言: