linux 多用户 linux最好用的系统
大家好,linux 多用户相信很多的网友都不是很明白,包括linux最好用的系统也是一样,不过没有关系,接下来就来为大家分享关于linux 多用户和linux最好用的系统的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
Linux支持多用户是什么意思
Linux支持多用户意味着在同一时间内,可以有多名用户同时登录到同一台Linux系统中,无论是远程登录还是本地登录。尽管本地登录时只能有一个用户,但远程登录允许同时存在多个用户。
多用户环境的一个重要特性是程序支持多用户使用。例如,多人可以同时使用文本编辑器如vim,只要他们不编辑同一文档。A、B、C三个用户同时登录Linux系统时,他们可以各自使用vim编辑不同的文档,不会相互干扰。
对比Windows XP,它不支持真正的多用户模式。尽管Windows 2003引入了域控制器功能,能够支持多用户环境,但它在普通用户模式下并没有实现与Linux系统相同的多用户功能。因此,Linux在多用户支持方面具有优势。
总之,Linux的多用户特性允许同时有多个用户在系统上进行操作,不仅支持远程登录,还允许用户同时使用系统资源,如编辑器等。这与Windows XP(及早期版本)的单用户模式形成鲜明对比,Linux在多用户支持上提供更灵活和高效的工作环境。
为linux目录设置多个用户权限
linux设置用户权限:解读Linux文件权限的设置方法
Windows系统其实和Linux系统有相似地方。Windows系统文件、目录属性有只读、隐藏而Linux也一样。
Linux中每一个文件都具有特定属性,主要包括文件类型和文件权限两个方面。可以分为5种不同类型:普通文件、目录文件、链接文件、设备文件和管道文件。
所谓文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。Linux是一个多用户操作系统,它允许多个用户同时登录和工作。因此 Linux将一个文件或目录与一个用户或组联系起来。访问控制列表(ACL:Access Control List)为计算机提供更好访问控制。它的作用是限制包括root用户在内所有用户对文件、资源或者套接字的访问。下面就来教大家简单设置方法。
步骤1,检查系统核心
首先检查你Linux系统核心是否有支持ACL功能。Linux系统并不是每个版本核心都有支持ACL的功能,而最简单方法就是检查系统目前核心能否支持:
[root@mail/]# cat/boot/config-kernel-version| grep-i ext3
CONFIG_EXT3_FS=m
CONFIG_EXT3_IDEX=y
CONFIG_EXT3_FS_XATTR_SHARING=y
CONFIG_EXT3_FS_XATTR_USER=y
CONFIG_EXT3_FS_XATTR_TRUSTED=y
CONFIG_EXT3_FS_ACL=y
此时如果能看到上面几项,则表示已经编译到核心中,ext3文件系统已支持ACL功能。这些功能在编译核心选项中都可以找到。如果编译时找不到可以到ACL官方网站来安装Kernel(acl.bestbits.at/)
步骤2挂载分区
你可以用下列方式挂载分区并启用ACL:
#mount-t ext3-o acl/dev/sda1/fs1
你也可以直接写在/etc/fstab文件中,这样就可以在开机后支持ACL功能:
#vi/etc/fstab
步骤3设置ACL权限
ACL常常针对个别用户来进行设置下面是多个不同例子:
例如需要创建test1、test2、test3三个用户。可以先用root身份登录系统,然后执行以下命令分别创建三个用户名和密码:
[root@mail root]#adduser test1
[root@mail root]#adduser test2
[root@mail root]#adduser test3
[root@mail root]#passwd test1
[root@mail root]#passwd test2
[root@mail root]#passwd test3
然后mount个ext3文件到目录/fs1:
[root@mail root]#mount-t ext3-o acl/dev/sda1/fs1
再将test1建立文件设置读写权限给test2:
[root@mail root]#chmod-R 777/fs1
让所有用户都能增加文件到目录权限:
先用test1登录系统执行命令:
[test1@mail test1]# cd/fs1
[test1@mail fs1]# echo"Create by test1"> test1.txt
[test1@mail fs1]# chmod go-r test1.txt
[test1@mail fs1]# ll test1.txt
-rw------- 1 test1 test1 17 Jul 14 22:11 test1.txt
而如下操作则可以让除了test1有读写权限外其他人没有读写test1.txt权限(root除外)先用test2登录系统后执行以下命令:
[test2@mail test2]# cd/fs1
[test2@mail fs1]# cat test1.txt
cat: test1.txt Permission denied
接着用test1登录系统执行如下命令:
[test1@mail fs1]# facl-m u:test2:rw test1.txt
这样就修改权限允许test2有这个文件读写权限再看下它文件属性变化:
[test1@mail fs1]# ll
-rw-rw-r--+ 1 test1 test1 10 Feb 16 13:52 test1.txt
会看到后面多了个“+”表示这个文件使用ACL属性设置再用命令getfacl来看ACL文件属性设置:
[test1@mail fs1]# getfacl test1.txt
# file: test1.txt
# owner: test1
# group: test1
user::rw-
user:test2:rw-
group::rw-
mask::rw-
other::r--
可以看到 test2有权限读写这个文件
我们再用test2登录系统执行以下命令看看发生了什么?
[test2@mail test2]# cd/fs1
[test2@mail fs1]# cat test1.txt
Create by test1
原来test2可以读取test1.txt文件了
[test2@mail fs1]# echo"Mody by test2">> test1.txt
[test2@mail fs1]# cat test1.txt
Create by test1
Mody by test2
现在test2也可以修改test1.txt文件了
接着用test3登录系统:
[test3@mail test3]# cd/fs1
[test3@mail fs1]# cat test1.txt
cat: test1.txt Permission denied嘿嘿除了test1、test2外没有其他用户有读写test1.txt权限(root除外)
看着虽然有点晕其实命令就是这么两条主要是把各种情况给大家讲清楚这样大家在使用Linux中才会发现比起脆弱Windows权限防护Linux实在是做得相当不错!
linux中多用户以及权限的理解
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命令即可