您的位置:首页 > 游戏 > 手游 > Linux---用户及权限配置

Linux---用户及权限配置

2025/4/19 15:34:20 来源:https://blog.csdn.net/zhoutong2323/article/details/139352204  浏览:    关键词:Linux---用户及权限配置

文章目录

  • 目录

    文章目录

    前言

    一.基本概念

    二.用户管理 

    创建用户

     修改用户属性

    用户组管理 

    用户授权


前言

用户在操作系统中是非常重要的,我们登录系统,访问共享文件夹等都需要用户进行验证。所以,掌握管理用户的知识非常有必要的


一.基本概念

用户的账户信息存储在/etc/passwd中,在此文件中一行一个用户信息,各字段用“:”隔开,如下图所示:

 从左向右一次代表

用户名:用户密码:用户uid:用户gid:用户的描述信息:用户的家目录:用户的shell

用户的密码信息存储在/etc/shadow中,如下图所示:

 上面第一个和第二个冒号之间的就是加密后的密码。

当我们需要判断一个用户是否存在时可以使用如下命令:id tom

二.用户管理 

创建用户

[root@192 ~]# useradd tom
#设置密码
[root@192 home]# passwd tom

 常见参数:

-d:指定用户的家目录,默认为home/用户
-m:创建家目录,这是默认选项,默认为/home目录
-s:指定用户的shell,默认为/bin/shell
-c:用来指定备注信息,不指定则为空
-u:指定用户的uid
-g:默认情况下,创建用户时会创建一个同名组。例如,创建用户tom会同时创建tom组
-G:指定附属组,把用户加入一个额外的组,此时tom属于两个组

 修改用户属性

如果想要修改用户属性可以用usermod命令,全称:user modeify 意为用户修改

常见参数:

-c:修改注释信息
-s:修改shell信息
-d:修改家目录
-L:锁定用户
-U:解锁用户

演示案例:把tom的shell目录改为/bin/bas并把备注信息改成hello tom 

[root@192 ~]# usermod -s /bin/bash -c "hello tom" tom 

 

用户组管理 

所有组的信息都是放在/etc/group中的,如果要判断一个组是否存在,可以到/etc/group中查询

#查看用户组信息
[root@192 etc]# grep tom /etc/group
tom:x:1001:
#增加组
[root@192 etc]# groupadd tom
#删除某个组
[root@192 etc]# groupdel tom 
#设置创建组的gid为3000
[root@192 etc]# groupadd -g 3000 tom
#将tom用户加入到组bin中
[root@192 etc]# gpasswd -a tom bin

命令可执行权限授权

很多时候普通用户的权限是不够的,例如,下面的命令

         要执行该操作,需要使用su命令切换到root,但是并不希望其他人知道root密码,那怎么办?我们可以让root用户通过sudo对普通用户进行授权。

        以root身份到/etc/sudoers.d下随便创建一个文件,这里为了辨识以用户名命名文件。假设,现在要授权tom用户在本机以root用户的身份使用mount命令,编辑如下:

         我们可以切换到tom用户下使用下面的命令查看tom用户能够使用root身份执行哪些权限

[tom@192 ~]$ sudo -l

三.权限管理

        为了理解所有者和所属组的概念,我们先看下面的例子:

        张老板是某公司的老板,买了一套房作为员工宿舍给A部门员工居。张老板是房主,所以他对房子具有很多权限,A部门员工只有使用权而不能私自装修等,除张老板和部门的员工外,其他所有人都没有权限。

        那么,这套房子对三组人设置的权限如下:

所有者所属组其他人
张老板A部门员工其他所有人
    u      g      o

同理,在Linux系统中对文件的授权也是通过这样的分组来进行的,如下图所示:

[root@192 zt]# ls -lh file
-rw-r--r--. 1 root root 0 Jun  2 23:58 file(1) (2)

 (1)的位置是所有者,这里file的所有者为root

 (2)的位置是所属组,这里file的所有者为root

文件权限管理

如果想要改变所有者,可以使用chown命令来实现,chown的用法如下:

[root@192 zt1]# chown zt1 /home/zt1/file

 这里的意思是把file的所有者从root改为zt1

 当我们想要同时修改所属组合所属用户时,可以使用如下命令:

[root@192 zt1]# chown zt1:zt1 /home/zt1/file

 目录权限管理

目录权限的修改和文件权限的修改一致,值得注意的是,使用chown命令修改目录权限时并不会修改目录中文件的权限。

#修改目录所属用户
[root@192 zt1]# chown zt1 /file
#修改目录所属组
[root@192 zt1]#chgrp users /file#修改目录权限的同时递归修改目录中的文件权限
[root@192 zt1]# chown -R zt1 /file
[root@192 zt1]#chgrp -R users /file

 权限修改

下面在以root用户的身份在zt用户的家目录下创建一个文件并写入“Hello World” 

从左往右第二位开始每三位代表用户权限(u),所属组权限(g),其他用户权限(o) 

[root@localhost1 zt]# touch file
[root@localhost1 zt]# ls -lh file
-rw-r--r--. 1 root root 0  6月  4 16:01 file
[root@localhost1 zt]# echo "Hello World" >> file
[root@localhost1 zt]# cat file
Hello World

 

 通过上面的图片可以看见,在zt用户下新创建的文件file所属用户是root,所属用户组是root 其它用户只有“读”的权限,下面通过下面的命令使其它用户没有“读”的权限。

 当我们使用zt用户查看该文件的时候会提示权限不足的提示。

 下面通过给该该文件的其它用户增加权限使得zt用户拥有“读”“写”的权限。

 下面让我们来验证一下,此时zt用户可以查案该文件内容。

同时,我们也可以利用数字的形式给文件增加权限。

 利用数字增加权限是,可读权限代表数字:4 可写权限代表数字:2 可执行权限代表数字:1

可以通过下面的命令给文件增加权限:

第一个7代表给所属用户增加(读+写+执行)权限,第二个7代表给所属组增加权限,第三个7代表给其它用户增加权限。


  总结

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com