Linux中如何进行组设置及管理员权限设置? (linux 组设置管理员权限设置)

随着Linux在服务器端的广泛应用,Linux系统的安全性也得到了广泛关注。在Linux之中,组设置及管理员权限设置是保证系统安全性的两个重要方面。本文将向大家介绍Linux中如何进行组设置及管理员权限设置,以加强系统的安全性。

一、组设置

组是一种方便多个用户管理的机制。组的作用在于将用户分组,并给予相应的文件和目录的权限。在Linux中,每个用户都可以归属于多个组。组设置可以用来增强系统中某些用户的安全级别。

1、创建组

在Linux中,创建组的命令是groupadd。其语法如下:

“`

groupadd [option] groupname

“`

其中,groupname为组名称。例如,输入命令:

“`

groupadd testgroup

“`

则可创建一个名为testgroup的组。

2、删除组

删除组的命令是groupdel。其语法如下:

“`

groupdel groupname

“`

其中,groupname为被删除的组名称。例如,输入命令:

“`

groupdel testgroup

“`

则可删除名为testgroup的组。

3、查看组

查看组的命令是groups。其语法如下:

“`

groups [username]

“`

其中,username为指定的用户,如果不指定,则默认查看当前用户所属的组。例如,输入命令:

“`

groups

“`

则可查看当前用户所属的组。

4、将用户添加到组

将用户添加到组的命令是usermod。其语法如下:

“`

usermod -aG groupname username

“`

其中,groupname为组名称,username为指定的用户名。例如,输入命令:

“`

usermod -aG testgroup testuser

“`

则可将名为testuser的用户添加到testgroup组。

二、管理员权限设置

以root用户为例,root用户在Linux中拥有系统更高权限。管理员权限设置可以用来限制其他用户在操作系统中访问敏感内容。

1、添加管理员

在Linux中,可以通过执行visudo命令来编辑sudoers文件,从而添加管理员。sudoers文件中存储着Linux系统管理员的信息。

在执行visudo命令时会打开sudoers文件,该文件定义了用户和组的权限关系。在sudoers文件中,以root用户为例,其默认的文件路径为/etc/sudoers。

在sudoers文件中添加一名管理员,以下是访问sudoers文件的命令:

“`

sudo visudo

“`

此时,会打开一个文本编辑器,可以在其中编辑sudoers文件。在文件中最后添加以下命令:

“`

myuser ALL=(ALL) ALL

“`

其中,myuser为指定的管理员用户名。这条命令表示:

– myuser用户被允许通过sudo命令执行任何指令;

– myuser用户可以作为任何用户执行任何指令。

添加后,保存并关闭文件。

2、限制管理员权限

有时候,为了限制管理员权限,我们需要配置sudoers文件来限制管理员可以执行的操作。以下是限制管理员的命令:

“`

sudo visudo

“`

在sudoers文件中,以限制myuser管理员为例,可以添加以下命令:

“`

myuser ALL=(ALL) NOPASSWD: /in/halt, /in/reboot, /usr/bin/shutdown

“`

这条命令表示,myuser管理员被允许执行/in/halt、/in/reboot和/usr/bin/shutdown指令。

3、授权其他用户

有时候,我们可能需要授权其他用户来执行一些指定的操作。在sudoers文件中授权其他用户也是非常简单的。以下是授权其他用户的命令:

“`

sudo visudo

“`

在sudoers文件中,以授权testuser为例,可以添加以下命令:

“`

testuser ALL=(ALL) NOPASSWD: /usr/bin/top

“`

这条命令表示,testuser用户被允许执行/usr/bin/top指令。

管理员在Linux中有更高的权限,因此在进行组设置及管理员权限设置时需要特别小心。在组设置方面,建议按照具体需要来分组,以便灵活配置用户的权限。在管理员权限设置方面,需要灵活控制管理员的权限,以防止权限过大导致数据泄露。在授权其他用户时,也需要仔细控制用户的权限,以免出现安全问题。

相关问题拓展阅读:

linux里面怎么设置用户只能看某个目录下的文件?

把A用户放入a组,BCD用户放入b组

然后把1目录的权限设成rwxrwx—,肢喊然后组是a组

最后,悉饥链再把BCD用户加入a的额外组睁孙里面,就可以了

可以用setfacl -x u:userA -R /   #删除userA的所有权限,

setfacl -m u:userA:rwx /dir1  #赋予userA对dir1的读写执行权限,

setfacl -m u:userB:rwx /dir1  #赋予userB对dir1的rwx权限,同理可以设置userB C D对dir2,3,4等等其它目录的权判氏限。

不过一般设置权限都需要你有root权限才行。

1、首先在终端输入 su 回车, 输入root帐户密码,获得root权限(如果已经是管理员权限则这步可以省了)。

2、然后就是chmod 777(此处空格)+上你要改的文件目录地址,777的意思是给所有的用户读、写、执行的权限。

3、还有常用的是755(把上面的命令中的777改成755)这掘敬散是对目录的所稿老有者添加读、写、执行的权限,其他用户只有读和执行的权限。 

可使用chmod命令:

用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限.

语法:该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。 1. 文字设定法

chmod 文件名? 参数:

操作对象who可是下述字母中的任一个或者它们的组合: u 表示“用户(user)宽芹液”,即文件或目录的所有者。

g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。 o 表示“其他(others)用户”。

a 表示“所有(all)用户”。它是系统默认值。 操作符号可以是: + 添加某个权限。 – 取消某个权限。

= 赋予给定权限并取消其他所有权限(如果有的话)。

设置mode所表示的权限可用下述字母的任意组合: r 可读。 w 可写。 x 可执行。

X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。

s 在文件执行时把进程的属主或组ID置为该文件的文件慎物属主。方式“u+s”设置文件的用户ID位,“g+s”设置组首携ID位。

wk_ad_begin({pid : 21});wk_ad_after(21, function(){$(‘.ad-hidden’).hide();}, function(){$(‘.ad-hidden’).show();});

t 保存程序的文本到交换设备上。 u 与文件属主拥有一样的权限。

g 与和文件属主同组的用户拥有一样的权限。 o 与其他用户拥有一样的权限。

文件名:以空格分开的要改变权限的文件列表,支持通配符。 在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example 使同组和其他用户对文件example 有读权限

权限分为 读写执行 (r w x )

用户分为(文件所属) 拥有者owner 同组 grouper 其他人other

1文件 将B/C/D 划分为同组成员 ,然后对悄基/根目录(或者为1的上级目录)做只有拥有者及同组成员有 r w x 权限(自定义),A为此运老其它成员,单独为1做其它人也能访问的权限(rwx)

命令森升涉及 chmod ;chown -R

用ACL授权可以处理这个问题

setfacl -m u:username:rwx dir/file 虚迟 

-m:添加或者修改

u:username:rwx

g:groupname:rwx

 

setfacl -m u:username:r -R dir #同时设置子目录下的权限型誉指

-R : 递归设置子目录下的权限

setfacl -x u:username dir/file #删除用户的权限

setfacl -x g:groupname dir/file #删除组的权限

setfacl -b dir/file  #删除该目录的全部acl权卜配限

 

就这个问题,可以用

setfacl -x u:userA -R /   #删除userA的所有权限

setfacl -m u:userA:rwx /dir1  #赋予userA对dir1的读写执行权限

Linux特殊权限 SUID、SGID、Sticky

文件的特殊权限有三种:1、suid;2、sgid;3、sticky,其中,suid和sgid用于累加提升权限,简单来说就是如果原来的用户可以访问,反而切换到的用户或者组不能访问,这时候照样是可以访问的,下面介绍下森坦这此手桐三种权限。

SUID:

1、需要注意的是,只对二进制可执行程序有效,不能为普通文件;

2、发起者对程序文件必须拥有执行权限;

3、启动为进程之后,其进程的宿主为原程序文件的宿主;

4、SUID设置在目录上毫无意义。

SGID:

可以应用在二进制文件和作用在文件夹下,当作用在二进制文件下时,作用和SUID相似,只不过SUID是把发起者临时变为文件的所有者,而SGID是把进程的发起者变成源程序文件的属组,默认情况下,用户创建文件时,其属组为此用户所属的主组,当SGID作用在目录下时,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组,通常用于创建一个协作目录薯消。

Sticky:

默认情况下用户可以删除具有写权限的目录中的任何文件,无论该文件的权限或拥有权,如果在目录设置Sticky位,只有文件的所有者或root**可以删除该文件,Sticky位是作用在文件夹的,设置在文件上毫无意义。

在理解特殊权限之前,需要先具备几个关于安全上下文的认知:

前提:进程有属主和属组;文件有属主和属组;

字母表示法:

数字表示法:

在普通三位数字权限位之前,用4代表添加的SUID位

文件权限表示:

环境前提:

linux中有一个二进制程序cat,属主属组均为root

linux中有一个系统文件/etc/shadow,属主属组均为root

我们创建一个普通用户叫user1

user1具有对cat的执行权限

user1 不具有对/etc/shadow的任何权限

默认情况下

user1执行cat,系统创建一个cat进程,进程的属主属组取程序发起者,也就是user1:user1

cat进程访问/etc/shadow,由于进程属主属组是user1:user1,与/etc/shadow的属组属主都不匹配,所以被拒绝访问.

给cat设置SUID之后

user1执行cat.系统创建一个cat进程,进程的属主取cat的属主,属组取程序发起者,就是root:user1

cat进程访问/etc/shadow,由于进程属主是root,与/etc/shadow的属主匹配,所以被允许访问.

举例说明:

passwd命令是linux系统中用来修改密码的命令.系统中所有用户都可以使用.

而passwd命令改密码塌扮歼的行为是通过修改/etc/shadow文件来实现.

看一下/etc/shadow的文件权限:

可见/etc/shadow对普通用户没有任何权限.

所以普通用户默认无法使用文本编辑器打开或者编辑这个文件.

那为什么通过passwd这个命令就可以编辑呢?

用ls命令查看passwd命令的源文件信息:

我们发现passwd这个程序的属主位的执行位不是x而是s,说明passwd被设置了特殊权限SUID.

于是普通用户运行passwd命令,系统创建的passwd进程的属主由默认为”程序发起者”变为了passwd的属主

而passwd的属主是root,所以普通用户其实是在用root的权限修改/etc/shadow文件.最后passwd命令执行结束,passwd进程被关闭.

做个实验:

给命令vim添加SUID,可以让普通用户自己把自己变为超级用户.

看一下vim的原权限

给vim加个SUID

权限变为

现在用普通用户登录

尝试使用vim编辑系统账户文件/etc/passwd

找到自己的用户名一行,修改第三列自己的uid为0,root的uid不用改,然后保存,提示只读文件,使用w!强制保存,成功!

我们知道普通用户quintin对vim是有执行权限的,而对/etc/passwd则没有编辑权限.

通常情况下quintin启动vim后,系统会创建一个以当前用户quintin为属主属组的vim进程,此时vim进程的属主属组为quintin:quintin,由于无论是属主还是属组都不具有对/etc/缺庆passwd的编辑权限,所以这个vim进程无权编辑/etc/passwd.

而给/usr/bin/vim设置了SUID之后,quintin或任何用户启动vim程序时,系统创建的vim进程的属主则是取了/usr/bin/vim这个程序文件自身的属主root,所以此时vim进程的属主属组为root:quintin. 系统检查发现正好匹配了/etc/passwd的属主,于是放行vim进程.

其他文本编辑器同理.

退出vim并重新登陆quintin帐户,这时发现命令提示符已完全变为root,而且系统认为我就是root,因为linux只通过uid判断超级管理员,而quintin帐户把自己的uid变成了超级管理员一样的0,所以重新登陆之后,quintin具有了root的身份团冲.

测试:

找一个属主属组都为root且other位无w的文件

作用在二进制程序上时:

执行sgid权限的程序时,此用户将继承此程序的所属组权限

作用于目录上时:

此文件夹下所有用户新建文件都自动继承此目录的用户组.

字母表示法

数字表示法 :

文件权限表示:

作用在二进制程序上时,原理同SUID,只是由user位变为group位.

作用于目录上时演示:

普通帐户quintin在/tmp中创建一个目录叫quintindir,添加SGID.权限777

切换到普通用户user1,在quintindir目录中创建一个文件和一个目录

结果显示,user1在quintindir目录下创建的文件和目录都自动继承了quintindir的属组,而且新目录的权限也继承了SGID,所以设定了SGID的目录中的所有新建文件和目录都会自动属于quintin组.

对于一个多人可写的目录,如果设置了sticky,则每个用户仅能删除和改名自己的文件或目录;只能作用在目录上.普通文件设置无意义,且会被linux内核忽略,用户在设置Sticky权限的目录下新建的目录不会自动继承Sticky权限

字母表示法:

数字表示法:

在普通数字权限位前,用1代表添加Sticky位

文件权限表示:

目的:

我希望在系统中创建一个很多用户可以共同使用的目录,但是要求用户之间不能互相删除改变对方的文件.

实现:

root用户先创建一个777权限目录/app/tmp

普通用户quintin和wang分别在其中创建几个文件和目录

这时候有个问题,就是目录中的任何用户都可以随意删除其他人的文件.

所以root要给/tmp这个文件夹设定一个Sticky位.

设定完毕可见目录tmp的other权限中的x位已经显示为t.说明已设定成功.

测试

切换到quintin用户,进入/app/tmp目录,尝试删除或改名用户wang的文件或目录

改名文件

改名目录

移动文件

删除文件

删除目录

以上所有操作均提示Operation not permitted,表明Sticky权限已发挥作用.

提示:

普通用户在设定了Sticky位的目录下创建的子目录不会继承这个Sticky权限,所以要注意设定好自己目录的权限.

SUID:作用于文件(二进制程序),此用户将继承此程序的所有者权限

SGID:作用于文件(二进制程序)和目录

对于文件:此用户将继承此程序的所属组权限.

对于目录:此文件夹下所有用户新建文件都自动继承此目录的用户组.

Sticky:作用于目录

设定后,目录中的用户只能删除、移动或改名自己的文件或目录

字母权限法很灵活,无论目录还是文件都可以随意添加删除超级权限

数字权限表示法添加/删除时:

数字权限法可以同时删除文件的所有三种超级权限

数字权限法只能删除目录的Sticky.不能删除目录的SUID和SGID.数字权限法每次只能设置一种超级权限.添加权限时:对于文件,会删除掉原有的其他超级权限.对于目录,添加SUID或SGID时,Sticky会被删除.

所有表示为大写字母的权限均为无效(故障)权限,因为缺少了相应的x权限.

SUID:

user, 占据属主的执行权限位;

s: 属主拥有x权限

S:属主没有x权限

SGID:

group, 占据group的执行权限位;

s: group拥有x权限

S:group没有x权限

Sticky:

other, 占据ohter的执行权限位;

t: other拥有x权限

T:other没有x权限

linux 组设置管理员权限设置的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 组设置管理员权限设置,Linux中如何进行组设置及管理员权限设置?,linux里面怎么设置用户只能看某个目录下的文件?,Linux特殊权限 SUID、SGID、Sticky的信息别忘了在本站进行查找喔。


数据运维技术 » Linux中如何进行组设置及管理员权限设置? (linux 组设置管理员权限设置)