linux(6):linux用户和权限

     在linux基础命令第五弹中http://t.csdnimg.cn/Fu5cJ我们学到了关于如何查看命令选项的帮助手册,到此,基础命令的学习先告一段落,我们来学习linux有关用户和权限的问题,这是很有必要的,如果任何人都可以修改我们的文件内容,那岂不是乱套了?所以我们有些是不能修改的,什么可以修改,什么不能修改,下面就带你看看!

1.什么是root用户?

     无论是windows还是linux,都采用多用户管理的模式进行权限管理

     在linux系统中,拥有最大权限的用户为:root,而在其他时间我们一直使用的是普通用户:azfei,而不同的用户又可以组成用户组

       root用户拥有最大的权限,而普通用户在许多地方的权限是受限的,比如:

       我们想要在普通用户状态下,在根目录下创建test目录,发现是无法创建的:

       而当我们切换到root用户后,发现这个命令就可以执行了:

      总的来说,普通用户的权限一般在其HOME目录内是不受限的,一旦超出了这个范围,大多数地方,只有只读和执行权限,没有修改权限。

1.1 用户切换命令

1.1.1 su和exit命令

       在此之前,我就对su、su root、su - root、sudo命令进行了简单的讲解和区分,su(Switch User)命令就是用于账户切换的系统命令

       语法:su [-] 用户名

                  [-]是可选的,表示是否在切换用户后加载环境变量,后面再说

                  参数表示要切换到的用户名,切换用户后可以通过exit命令退回到上一个用户,也可以使用ctrl+d。

                  普通用户切换到root用户需要输入密码,而root用户切换到其他用户无需密码

1.1.2 sudo命令

       虽然我们可以使用root,但长时间的使用还是可能会带来系统损坏的问题,所以我们找个代理人sudo,用它来为普通的命令授权,临时以root身份执行。

       语法:sudo 其他命令

       我们仍需要为普通用户配置sudo认证

1.1.3 为普通用户配置sudo认证

        切换到root用户,执行visudo命令或者vim /etc/sudoers,在文件的最后添加这行文字

azfei ALL=(ALL)        NOPASSWD:ALL

           最后通过wq保存,此时再切换到普通用户,执行的命令就以root的身份运行了。

 2.用户和用户组

 2.1 概念

          linux系统可以配置多个用户、多个用户组、用户加入多个用户组中。

          linux中关于权限的管控级别有2个:1是针对用户的权限控制,2是针对用户组的权限控制。

          针对某个文件,可以控制用户的权限,也可以控制用户组的权限,所以我们需要学习有关用户和用户组的基础命令。

2.2 用户组管理

            接下来的命令都需要root用户执行

            创建用户组

groupadd 用户组名

            删除用户组

groupdel 用户组名

2.3 用户管理

             接下来的命令都需要root用户执行

             创建用户

useradd [-g -d] 用户名
       选项:-g指定用户的组,不指定会创建同名组并自动加入,所以使用这个选项需要组已经存在
            -d指定用户HOME路径,不指定HOME目录默认在:/home/用户名

             删除用户

userdel [-r] 用户名
      选项:-r,删除用户的HOME目录,不使用删除时,HOME目录保留

            查看用户所在组

id [用户名]
   如果没有参数则查看自身

           修改用户所在组

usermod -aG 用户 用户组名 将指定用户加入指定用户组

2.4 getent命令

          使用getent命令,也可以查看系统中有哪些用户组

           语法:getent group

                     查看的信息包括组名称、组认证、组ID

     今天的学习就到这里了,下次我们学习有关权限控制操作的命令,再见!

相关推荐

  1. Linux用户权限

    2023-12-17 01:46:03       53 阅读
  2. Linux用户权限

    2023-12-17 01:46:03       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-17 01:46:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-17 01:46:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-17 01:46:03       82 阅读
  4. Python语言-面向对象

    2023-12-17 01:46:03       91 阅读

热门阅读

  1. 数据库_mongoDB

    2023-12-17 01:46:03       48 阅读
  2. shell编程-sort命令详解(超详细)

    2023-12-17 01:46:03       53 阅读
  3. AI视频-stable-video-diffusio介绍

    2023-12-17 01:46:03       61 阅读
  4. 使用Python安装Selenium

    2023-12-17 01:46:03       64 阅读
  5. 网络安全应急响应之事件分类

    2023-12-17 01:46:03       59 阅读
  6. Redission从入门到入门

    2023-12-17 01:46:03       58 阅读