Linux之设置用户和组权限

系列文章目录

第一章 Linux之手工创建用户
第二章 Linux之设置用户和组权限


文章目录

  • 系列文章目录
  • 前言
    • 一、/etc/sudoers文件的作用
    • 二、如何给用户授权
    • 三、如何给组授权
  • 总结


前言

大家在Linux中操作的时候是不是都很喜欢用root用户呢,因为root的权限最大,操作的时候省了不少事,那大家知道如何让普通用户了拥有root一样的权限吗?这就得提到一个主要的配置文件:/etc/sudoers
只要对sudoers文件进行一些配置,我们就可以灵活的设置用户和组的权限拉


一、/etc/sudoers文件的作用

Linux中的/etc/sudoers文件是用来控制哪些用户和组可以使用sudo命令来执行需要超级用户权限的操作
用户想使用授予权限时只需在命令前加上sudo,就可以使用被授予的权限
编辑/etc/sudoers文件时,建议使用visudo命令,它可以保证一次只有一个用户编辑文件,并且检查语法是否正确

二、如何给用户授权

root	ALL=(ALL) 	ALL				# 第1个ALL为机器名,第2个指能以哪些用户的身份执行命令,第3个为命令
liu		ALL=(ALL) 	ALL				# liu获得了root权限,liu用户可以在任何主机上以任何用户的身份来执行所有命令
ly		ALL=(ALL)	NOPASSWD:NETWORKING,SOFTWARE		# ly获得了这两个工具包中所有命令的权限并不需要输密码

(ALL)代表用户使用 sudo 时可以以任何用户的身份执行,当然也可以指定某些用户,这样该用户就只能拥有部分用户的权限

liu ALL=(ly) ALL:指示 sudo 命令被允许以 ly 用户的身份执行,那么 liu 用户可以以 ly 用户的身份来执行所有命令,
即当 liu 用户登录时,如果他在命令前加上 sudo,那么这个命令实际上是以 ly 用户的身份去执行的

第三个ALL代表可以使用所有工具包,sudoers中已经写出了很多工具包,格式如下:

## Command Aliases
## These are groups of related commands...

## Networking
# Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool

## Installation and management of software
# Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum

这些工具包中添加了很多命令,授予用户(组)后,该用户(组)就可以使用其中包含的命令了
只要在 sudoers 中解除注释就可以授予给用户或组了
当然也可以按照上面的格式自行添加工具包
或者直接在授予用户命令时,输入该命令的绝对路径即可

另外如果想让用户使用授权的命令时不需要输入密码,则可以在命令前加上"NOPASSWD:"
例:让alice用户在所有主机上只能以root身份执行/usr/bin/apt和/usr/bin/dpkg命令,并且可以免密,就可以写成:

alice ALL=(root) NOPASSWD:/usr/bin/apt, /usr/bin/dpkg

三、如何给组授权

也可设置组权限,语法和授权给用户差不多,注意组名前要加%

%group_name host_list=(user_list) command_list

其中,%group_name表示要授予权限的组名,host_list表示允许使用sudo命令的主机列表,user_list表示可以模拟的用户列表,command_list表示可以执行的命令列表

例:让wheel组在所有主机上可以以root身份执行任何命令,就可以写成:

%wheel ALL=(ALL) ALL

让wheel组在所有主机上只能以root身份执行/usr/bin/find和/bin/rm命令,就可以写成:

%wheel ALL=(root) /usr/bin/find, /bin/rm

让cs组的所有成员可以使用这两个工具包里的命令,就可以写成:

%cs		ALL=(ALL)	NETWORKING,SOFTWARE		# sc组的成员就可以使用这两个工具包里的命令

总结

好了,以上就是今天要讲的内容,如果对你有帮助希望给个大拇指作为鼓励,如果大家有什么问题,也欢迎大家指出和评论,我会及时回复的,感谢大家观看!

你可能感兴趣的:(Linux,linux,服务器,运维)