• Linux-新建用户/群组以及修改文件权限


    Linux 基础

    操作系统
    操作系统 Operating System 简称 OS ,是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁。

    操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些基本的服务程序。

    什么是 Linux
    Linux 系统内核与 Linux 发行套件的区别

    • Linux 系统内核指的是由 Linus Torvalds 负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。
    • Linux 发行套件系统是我们常说的 Linux 操作系统,也即是由 Linux 内核与各种常用软件的集合产品。

    总结:真正的 Linux 指的是系统内核,而我们常说的 Linux 指的是“发行版完整的包含一些基础软件的操作系统”。

    用户与权限

    用户

    Linux 是一个多用户的操作系统。在 Linux 中,理论上来说,我们可以创建无数个用户,但是这些用户是被划分到不同的群组里面的,有一个用户,名叫 root ,是一个很特殊的用户,它是超级用户,拥有最高权限。

    • useradd 添加新用户
      添加新用户之后,会在/home目录下新建一个用户名命名的文件夹
    [root@localhost home]# useradd admin
    [root@localhost ~]# ls /home
    admin
    
    • 1
    • 2
    • 3
    • passwd 修改用户密码
      出现了一点小插曲,密码长度第一次不符合要求,又重新输入一次
    [root@localhost home]# passwd admin
    Changing password for user admin.
    New password: 
    BAD PASSWORD: The password is shorter than 8 characters
    Retype new password: 
    Sorry, passwords do not match.
    New password: 
    BAD PASSWORD: The password contains the user name in some form
    Retype new password: 
    passwd: all authentication tokens updated successfully.
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • su - 用户名 切换登录用户
      root切换admin不要密码 但是admin切换到root需要输入密码,因为两者权限不一样,root权限最高。
    [root@localhost home]# su - admin
    [admin@localhost ~]$ su - root
    Password: 
    Last login: Sat Dec  3 19:06:43 EST 2022 from 192.168.92.1 on pts/0
    [root@localhost ~]# 
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • userdel 可以用来删除用户
      删除用户但是home下文件夹不会删除
    [root@localhost ~]# userdel admin
    [root@localhost ~]# su - admin
    su: user admin does not exist
    [root@localhost ~]# ls /home
    admin
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    群组的管理

    Linux 中每个用户都属于一个特定的群组,如果你不设置用户的群组,默认会创建一个和它的用户名一样的群组,并且把用户划归到这个群组。

    • groupadd 创建群组和useradd一样 见名知意
    [root@localhost ~]# groupadd test
    
    
    • 1
    • 2
    • groupdel 删除一个已存在的群组
    [root@localhost ~]# groupdel test
    
    
    • 1
    • 2
    • groups 查看用户所在群组
    [root@localhost ~]# groups root
    root : root
    [root@localhost ~]# 
    
    
    • 1
    • 2
    • 3
    • 4
    • usermod 用于修改用户的账户。

    【常用参数】

    -l 对用户重命名。需要注意的是 /home 中的用户家目录的名字不会改变,需要手动修改。
    -g 修改用户所在的群组,例如 usermod -g luck look修改look 用户的群组为 luck。

    [root@localhost home]# groupadd luck
    [root@localhost home]# usermod -g luck look
    [root@localhost home]# groups look
    look : luck
    [root@localhost home]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5

    -G 一次性让用户添加多个群组,例如 usermod -G all,both,apple look

    [root@localhost home]#  groupadd all
    [root@localhost home]#  groupadd both
    [root@localhost home]#  groupadd apple
    [root@localhost home]# usermod -G all,both,apple look
    [root@localhost home]# groups look
    look : luck all both apple
    [root@localhost home]# 
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    -a -G 会让你离开原先的群组,如果你不想这样做的话,就得再添加 -a 参数,意味着append 追加的意思。

    • chgrp 用于修改文件的群组。
      chgrp all a.txt 将a.txt群组改为了 all
    [root@localhost home]# touch a.txt
    [root@localhost home]# ls
    a.txt  look
    [root@localhost home]# ll -s
    total 0
    0 -rw-r--r--. 1 root root  0 Dec  3 19:44 a.txt
    0 drwx------. 2 look luck 62 Dec  3 19:37 look
    [root@localhost home]# chgrp all a.txt
    [root@localhost home]# ll -s
    total 0
    0 -rw-r--r--. 1 root all   0 Dec  3 19:44 a.txt
    0 drwx------. 2 look luck 62 Dec  3 19:37 look
    [root@localhost home]# 
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • chown 改变文件的所有者,需要 root 身份才能运行。
      将look用户创建的look.txt 转让给one用户
    [root@localhost look]# ll -s
    total 0
    0 -rw-r--r--. 1 look luck 0 Dec  3 19:48 look.txt
    [root@localhost look]# useradd one
    [root@localhost look]# chown one look.txt 
    [root@localhost look]# ll -s
    total 0
    0 -rw-r--r--. 1 one luck 0 Dec  3 19:48 look.txt
    [root@localhost look]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    look.txt 转让给one用户 并且所属群组改为all

    [root@localhost look]# groups one
    one : one
    [root@localhost look]# chown one:all look.txt 
    [root@localhost look]# ll -s
    total 0
    0 -rw-r--r--. 1 one all 0 Dec  3 19:48 look.txt
    [root@localhost look]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • -R 递归设置子目录和子文件
      chown -R one:all 20221203/
    [look@localhost ~]$ ll -s
    total 0
    0 drwxr-xr-x. 2 look luck 6 Dec  3 19:54 20221203
    0 -rw-r--r--. 1 one  all  0 Dec  3 19:48 look.txt
    [look@localhost ~]$ 
    [root@localhost look]# chown -R one:all 20221203/
    [root@localhost look]# ll -s
    total 0
    0 drwxr-xr-x. 2 one all 6 Dec  3 19:54 20221203
    0 -rw-r--r--. 1 one all 0 Dec  3 19:48 look.txt
    [root@localhost look]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    文件权限管理

    chmod 修改访问权限
    先系统的学习一下Linux的文件权限

    [root@localhost home]# ll -s
    total 0
    0 -rw-r--r--. 1 root all   0 Dec  3 19:44 a.txt
    0 drwxr-xr-x. 3 look luck 94 Dec  3 19:54 look
    0 drwxr-xr-x. 2 one  one  62 Dec  3 19:49 one
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    drwxr-xr-x 表示文件或目录的权限

    d :表示目录,就是说这是一个目录,普通文件是 - ,链接是 l 。
    r :read 表示文件可读。
    w :write 表示文件可写,一般有写的权限,就有删除的权限。
    x :execute 表示文件可执行。
    - :表示没有相应权限。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    权限的整体是按用户来划分的,
    d                  rwx           r-x                r-x
    文件属性            所有者         群组用户           其他用户
    
    • 1
    • 2
    • 3

    现在再来理解这句权限 drwxr-xr-x 的意思:

    它是一个文件夹;
    它的所有者具有:读、写、执行权限;
    它的群组用户具有:读、执行的权限,没有写的权限;
    它的其它用户具有:读、执行的权限,没有写的权限。
    
    • 1
    • 2
    • 3
    • 4

    用 chmod 来尝试修改权限。chmod 它不需要是 root 用户才能运行的,只要你是此文件所有者,就可以用 chmod 来修改文件的访问权限。

    数字分配权限

    权限	数字
    r	4
    w	2
    x	1
    
    • 1
    • 2
    • 3
    • 4

    要改变权限,只要做一些简单的加法就行:

    chmod 640 look.txt # 
    分析6 = 4 + 2 + 0 表示所有者具有 rw 权限
    4 = 4 + 0 + 0 表示群组用户具有 r 权限
    0 = 0 + 0 + 0 表示其它用户没有权限对应文字权限为:-rw-r-----
    
    • 1
    • 2
    • 3
    • 4

    用字母来分配权限

    u :user 的缩写,用户的意思,表示所有者。
    g :group 的缩写,群组的意思,表示群组用户。
    o :other 的缩写,其它的意思,表示其它用户。
    a :all 的缩写,所有的意思,表示所有用户。
    + :加号,表示添加权限。
    - :减号,表示去除权限。
    = :等于号,表示分配权限。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    chmod u+rx file --> 文件file的所有者增加读和运行的权限
    chmod g+r file --> 文件file的群组用户增加读的权限
    chmod o-r file --> 文件file的其它用户移除读的权限
    chmod g+r o-r file --> 文件file的群组用户增加读的权限,其它用户移除读的权限
    chmod go-r file --> 文件file的群组和其他用户移除读的权限
    chmod +x file --> 文件file的所有用户增加运行的权限
    chmod u=rwx,g=r,o=- file --> 文件file的所有者分配读写和执行的权限,群组其它用户分配读的权限,其他用户没有任何权限
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    Http协议
    构造函数和原型
    精准获得目标企业客户的秘诀-8manage CRM
    QML(25)——文本输入框组件的区别(TextField TextInput TextArea TextEdit)
    目标检测网络系列——YOLO V2
    antd form.setFieldsValue问题总结
    elementUI的el-menu组件做内部组件和外链区分
    基于人工神经网络识别手写数字
    SpringCloud Alibaba微服务实战一 - 基础环境准备
    头歌计算机组成原理汉字字库存储芯片扩展实验
  • 原文地址:https://blog.csdn.net/qq_37200262/article/details/128165857