linux中多用户以及权限的理解

linux中多用户以及权限的理解,第1张

linux *** 作系统是多用户管理系统,管理起来非常麻烦,所以用组的概念来管理用户就变的简单多了, 一个用户可以属于多个组,一个组可以有多个用户,用户和组是多对多的关系。

linux的多用户多分组管理系统都是针对 文件 来说的, 每个文件都有所属的用户和所属的分组。

linux系统是根据用户UID来识别用户的,并不是根据用户名。linux用户分为以下3种

每行数据为一个用户,可以看到红色部分为root超级用户,蓝色部分为系统用户,绿色部分为普通用户。

我们可以看到该文件属于root用户和root组。然后root用户权限是rw-,root组内成员的权限是r--,而其他用户的权限是r--。由于其他用户的权限都是r--,所以任何用户都是可以读的。

在/etc/group文件中存储着系统的所有组,查看文件内容,如下图

大致分为4段

我们可以看到图中mail分组的第4段有值为postfix,也就是postfix用户应该有俩个分组,一个初始组和一个附属组,我们执行以下命令验证

用户密码文件shadow和组密码文件gshadow的权限都是000,所有其他用户是不能查看的,只有root用户才可以查看,root用户也是不能修改该文件的。

使用 whoami 命令查看。

postfix用户有俩个所属组postfix和mail。由此可见, uid是指用户id(用户名称),gid是指初始组id(初始组名称),groups是指包括初始组在内的所有组id(所有组名称)

我们知道了/etc/group文件的第四段为 组内成员 ,所有我们可以通过 grep 来匹配相关组。比如查询mail组内的所有成员,命令如下, 可以看到mail组内有mail,postfix和tom3个用户。

上面是一种方法,我们也可以直接使用命令来查看。

添加用户只能root用户来添加,普通用户没有权限,添加用户有俩种方式

在centos系统下,这俩种方式没有区别, 都会在/home下自动创建与用户名同名的用户目录,且都是需要使用 passwd userName 命令来设置用户密码的,只有设置完密码后才可以正常登录。

在unbantu系统下,这俩种方式是有区别的,使用 useradd userName命令 不会在/home下自动创建与用户名同名的用户目录,且不会自动选择shell版本,后续也是需要使用 passwd username来设置密码的 。 而使用 adduser userName 命令的话 是会在/home目录下自动创建与用户名同名的用户目录,也会自动选择shell版本,且会自动提示输入用户密码,对用户比较友好,后续不需要在使用passwd来设置密码。

删除用户,并不会删除用户相关的文件

删除用户且一起删除家目录

格式如下:

参数如下:

-g 指定组(只有root可以使用)

-a 指定用户加入组

-d 从组中删除该用户

-p 从组中清楚所有成员

-l 显示组成员列表

linux中每个文件都是有权限的。 每个文件都有自己的所属用户和所属组,且拥有所属用户权限,所属组权限和其他权限3种。

权限一般分为读,写,执行3种,通过这样的机制来限制哪些用户或用户组可以对特定文件进行相应的 *** 作。

目录有x权限才可以cd进入该目录。目录有r权限才能在该目录中使用ll或者ls查看目录。一个目录中的文件能否被删除或者创建取决于该目录是否有w权限。

执行ll命令后显示如下,我们解读一下

从左到右发现一共有7段

然后执行如下命令

test文件的权限改为

常用的参数为 -R ,常用于修改目录权限,该参数表示为该目录以及目录下的所有子文件都修改为相同的权限。

然后执行如下命令

再次查看test文件

常用的参数为 -R ,常用于修改目录,该参数表示为该目录以及目录下的所有子文件都修改为相同的用户及用户组。

想切换到root用户,直接使用su命令即可

UID---用户标识号,它与用户名唯一对应。LINUX中超级用户root的UID为0如果您想让系统显示您的用户名,UID,组名,GID以及您所属的其他组的名称,可利用id命令。修改UID一般用 usermod -u。

Linux是一套免费使用和自由传播的类Unix *** 作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的 *** 作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 *** 作系统。

扩展资料:

优点:

1、Linux由众多微内核组成,其源代码完全开源;

2、Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、 TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发成出新的协议栈;

3、Linux系统工具链完整,简单 *** 作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性;

参考资料来源:百度百科-linux


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7200704.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存