sudo权限管理

简介:

为什么使用sudo?

通常生产服务器会有多个用户或者部门需要登录和操作,如运维部门和开发部门。所以一般不会使用root的账号密码来操作,因为如果大家都知道root的密码非常不安全,万一哪天谁更改了root密码,就比较麻烦,但是呢,我们又必须给用户执行权限。那么我们必须用sodu来解决这一问题。


sudo:  switch user do,

 某个用户能够以另外一个用户的身份通过某主机执行某命令,但是执行命令前必须输入自己账户的密码

    -k:kill,让此前输入的认证信息失效,并重新认证。默认情况下,当用户执行sudo 命令后,5分钟内不用再次输入自己的密码

     -l:列出当前用户可以使用的所有sodu命令

例如:

1
2
3
[deploy@ZabbixServer ~]$  sudo  -l
User deploy may run the following commands on this host:
     (ALL) NOPASSWD: ALL, (ALL) ! /usr/bin/passwd  root

上面表示用户deploy除了 更改root密码外,其他命令都能操作。


sudo 命令使用方法:

sudo COMMAND:不用切换到某个用户,就可以用该用户来执行某个命令

例如:

1
sudo  useradd  aaa


sudo的配置文件/etc/sudoers

该文件权限为400

1
2
# ls -l /etc/sudoers
-r--r----- 1 root root 4059 Aug 24 07:53  /etc/sudoers

visudo :不用加任何参数,专门用来编辑/etc/sudoers这个文件,只有root用户有权限


一个sudo条目的格式:

who                  which_host=(run as )                              command

谁                    从哪台主机远程连上来   以谁的身份           执行什么命令

上面的who也可以是组名,但是组名前需要加‘%’,例如%wheel



练习:

例如:允许deploy用户以root身份执行所有命令,怎么写?

1
deploy   ALL=(ALL)       ALL


如果希望deploy用户执行命令时不需要输入密码怎么写?

1
deploy   ALL=(ALL)       NOPASSWD: ALL


如果希望deploy用户能执行所有命令,但是不能更改root密码,不能切换到root用户,怎么写?

1
deploy  ALL=(ALL)       NOPASSWD: ALL,! /usr/bin/passwd  root,! /bin/su


sudo在生产环境中的用法:

生产环境中每个用户都有自己的登录账号,例如:user1、user2等。我们允许wheel组的用户能执行所有命令,而deploy用户属于这个组。然后我们只需要赋予user1、user2 切换到deploy用户的权限即可。


过程如下:  创建deploy用户,并加入wheel组

1
2
#useradd  deploy
#usermod -a -G wheel deploy


编辑/etc/sudoers文件,赋予wheel组用户执行所有命令的权限

1
%wheel  ALL=(ALL)       NOPASSWD: ALL

最好是禁止wheel组用户切换到root用户、更改root密码、执行visudo命令的权限,所以可以这样设置

1
%wheel  ALL=(ALL)       NOPASSWD: ALL,! /usr/bin/passwd  root,! /bin/su ,! /usr/sbin/visudo


然后赋予用户user1切换到deploy用户的权限

在/etc/sudoers.d目录下,创建一个文件,文件名可以是用户名,在该文件中写入以下内容

1
2
# cat /etc/sudoers.d/user1 
user1  ALL=NOPASSWD: /bin/su  - deploy

设置该文件权限为440











本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1842926,如需转载请自行联系原作者

目录
相关文章
|
4月前
|
Linux 数据安全/隐私保护
linux权限管理
本文介绍了Linux系统中的权限管理,包括权限的概念、用户和用户组与权限的关系、文件权限位的说明以及rwx权限的具体含义。同时,详细讲解了如何使用`chmod`和`chown`命令更改文件和目录的权限,并通过多个实验演示了不同权限组合对文件和目录的实际影响。最后,总结了文件和目录权限的一些重要知识点,帮助读者更好地理解和应用Linux权限管理。
175 1
linux权限管理
|
5月前
|
Linux 数据安全/隐私保护
探索Linux操作系统下的权限管理
【8月更文挑战第66天】在数字世界中,操作系统的权限管理就如同现实世界中的钥匙和锁,保护着我们的数据安全。本文将带你深入理解Linux系统中的权限设置,通过实际代码示例,让你掌握文件和目录权限的分配与管理技巧。准备好了吗?让我们开始这场关于权限管理的探险之旅吧!
144 14
|
10月前
|
Ubuntu Linux Shell
linux用户创建
在Linux中创建新用户涉及`useradd`或`adduser`(Debian系)命令。基本流程:使用`sudo useradd [options] username`创建用户,检查用户`id username`或`grep username /etc/passwd`。赋予sudo权限需编辑`sudo visudo`,添加类似`username ALL=(ALL) NOPASSWDALL`的行。删除用户用`sudo userdel username`,连同家目录`sudo userdel -r username`。
101 1
|
9月前
|
安全 Linux Shell
【Linux】权限管理
【Linux】权限管理
66 5
|
10月前
|
安全 Linux Shell
linux用户与权限管理
在Linux中,用户和权限管理确保系统安全。创建用户用`useradd`或`adduser`,删除用户加`-r`参数用`userdel`。修改用户属性用`usermod`,密码管理用`passwd`。组管理涉及`groupadd`(创建)、`groupdel`(删除)和`usermod`(添加用户至组)。权限用`chmod`调整,`chown`和`chgrp`改变所有权和组。`root`用户具有最高权限。这些工具支持安全的资源访问控制。
66 2
|
10月前
|
Web App开发 监控 Unix
Linux 常用命令汇总(七):进程管理 & 系统权限 & 用户授权
Linux 常用命令汇总(七):进程管理 & 系统权限 & 用户授权
|
10月前
|
安全 Linux 数据安全/隐私保护
『Linux升级路』权限管理
『Linux升级路』权限管理
|
10月前
|
安全 算法 Linux
【Linux】权限管理常见命令
【Linux】权限管理常见命令
89 0
【Linux】权限管理常见命令
|
10月前
|
存储 Shell Linux
linux用户的管理
linux用户的管理
145 1
|
监控 Linux 数据安全/隐私保护
Linux系统之高级用户组和权限管理
Linux系统之高级用户组和权限管理
177 1