首页 > 系统相关 >Linux系统用户组管理

Linux系统用户组管理

时间:2024-06-30 22:11:09浏览次数:15  
标签:test2 用户组 系统 用户 etc Linux home root localhost

用户管理

​ 和Windows一样在Linux中也存在许多用户,可以登陆Linux,和Windows不同的是,在Windows中同一时刻只可以存在一个用户登录系统,而在Linux中是允许多个用户同时登陆进入Linux中的,然后可以同时进行操作。

​ 因为在Linux中一切皆文件,所以说,用户也是以文件的形式存在的,每一个用户在Linux中是一个文件,用一个用户登录进入了系统之后,便进入了那个用户所对应的文件夹中,可以在文件夹中进行操作。

​ 因为在Linux中是允许多用户同时登录进入的,如何避免不同用户之间的操作冲突,这就需要涉及到用户的权限和用户组的概念。

文件 含义
/etc/passwd 用户基本信息配置文件
/etc/shadow 用户密码信息配置文件
/etc/group 组基本信息配置文件
/etc/gshadow 组管理信息配置文件

【1】、用户

一个用户必须至少属于一个组

  • 分类

    • 超级用户

      UID:0

    • 普通用户

      UID:1000-60000

    • 程序用户

      UID:201~999

  • 超级用户和普通用户的区别就是UID的不同,UID也是区分超级用户和普通用户的唯一标准

  • 用户对应 /etc/passwd,用户信息文件

    • image-20240326101708793
      • 第一列:用户名

      • 第二列:这里的密码并不是明文存储的,而是经过加密处理的。在实际的系统中,这个字段通常被设置为x,密码放在/etc/shadow

      • 第三列:UID,是一个唯一的数字标识,用于在系统中区分不同的用户

      • 第四列:GID,表示用户所属的主组。在Linux系统中,用户可以被分配到不同的组中,每个组都有一组特定的权限。

      • 第五列:用户全名或描述信息,通常用于存储用户的真实姓名、联系方式等。

      • 第六列:用户家目录的绝对路径,即用户登录后所处的目录。

      • 第七列:用户的登录shell,如果时bin/nologin则表示禁止登录,/bin/bash可以登录;用户解释命令的程序

        bash:标准解释器

        [root@bogon logs]# cat /etc/shells  #系统自带的所有的解释器,我们可以进行更改
        /bin/sh
        /bin/bash
        /usr/bin/sh
        /usr/bin/bash
        #/bin/sh
        #/bin/bash
        #都是从/usr/bin/sh和/usr/bin/bash下连接过来的
        
  • 密码对应 /etc/shadow

    存放的是用户的密码,要与/etc/passwd一一对应

    image-20240326102442436

    • 第一列:用户名,与passwd中的用户一一对应

    • 第二列:加密后的用户密码。这是密码信息的核心部分,经过哈希计算后得到的密码

      $5$ 是用 SHA-256加密的,密文长度43

      $6$开头的,表明是用SHA-512加密的,密文长度86

      root中的“$70Apx6PdSNNYkv2S$0WKXFO0qYIeuTsF”是salt,也就是“加盐”,防止撞库破解密码

    • 第三列:表示的是从1970-1-1(unix元年),到今天修改密码时的天数

    • 第四列:指的是两次修改密码之间所需的最小天数。

    • 第五列:指的是口令保持有效的最大天数,99999就表示永久有效

    • 第六列:“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。(和第五个字段相比)

    • 第七列:表示的是用户没有登录活动但账号仍能保持有效的最大天数。(和第五个字段相比)

    • 第八列:给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号

    • 第九列:未启用

【2】用户组

  • 为了方使管理属于同一组的用户, Linux 系统中还引入了用户组的概念,

    • 通过使用用户组号码(GID, Group IDentification), 我们可以把多个用户加入到同一个组中, 从而方便为组中的用户统一规划权限或指定任务。
  • Linux在创建用户时,会自动创建一个与其同名的用户组,这个用户只有该用户一个人

  • 分类:

    • 基本组

      每一个用户都要有一个基本组

      不能通过groupdel删除

    • 附加组

      附加组可以使用groupdel删除

      每一个用户可以有一个或者多个附加组

  • 用户组的信息存储在/etc/group中

    image-20240326104230345

    • 第一列:用户组名
    • 第二列:密码占位符,这里的密码并不是明文存储的,而是经过加密处理的
    • 第三列:GID
    • 第四列:这个组中的用户

【3】、常用命令

1、useradd创建用户

  • useradd username 创建名为username的用户,同时会创建一个名为username的组

  • 在创建用户时,会完成三个操作

    useradd test1

    • /home/

      在创建用户时,会在home下创建一个自己的家目录test1

      [root@localhost ~]# ls -a /home/
      .  ..  test1  xuruizhao
      
    • /etc/skel/

      [root@localhost ~]# ls -a /etc/skel/
      .  ..  .bash_logout  .bash_profile  .bashrc
      
    • /home/test1

      [root@localhost ~]# ls -a /home/test1/
      .  ..  .bash_logout  .bash_profile  .bashrc
      
    • /var/spool/mail/

      在创建用户时,会在/var/spool/mail/下创建一个以自己命名的邮件

      [root@localhost ~]# ls -a /var/spool/mail/
      .  ..  rpc  test1  xuruizhao
      
    • 我们会发现/home/test1和/etc/skel目录下的文件相同,在我们创建用户时,会把/etc/skel完全复制到/home/test1下,这样在创建用户时该用户就会有bash了

      但是这是存在风险的,如果我们把一个存在风险的文件,放在/etc/skel里,接下来所创建的所有用户的家目录中都会存在该文件,这就导致所有的用户都存在fengx

      [root@localhost ~]# cp /opt/aa.txt /etc/skel/
      [root@localhost ~]# ls -a /etc/skel/
      .  ..  aa.txt  .bash_logout  .bash_profile  .bashrc
      [root@localhost ~]# useradd test2
      [root@localhost ~]# ls -a /home/test2
      .  ..  aa.txt  .bash_logout  .bash_profile  .bashrc
      
  • 参数:

    • -g:指定用户的主组, 不会再创建一个和用户名相同的组了

         [root@bogon ~]# useradd  -g zzzz nihao
         [root@bogon ~]# id nihao
         uid=1003(nihao) gid=1006(zzzz) groups=1006(zzzz)
      
    • -G :指定用户的附加组,同样会创建一个和用户名相同的组,并且这个用户属于两个组

      [root@bogon ~]# useradd -G zzzz lala 
      [root@bogon ~]# id lala
      uid=1004(lala) gid=1004(lala) groups=1004(lala),1006(zzzz)
      
    • -u:设置UID

      [root@localhost ~]# useradd -u 1100 test3 
      [root@localhost ~]# id test3
      uid=1100(test3) gid=1100(test3) groups=1100(test3)
      
    • -s :设置用户登录的shell解释器

      [root@localhost ~]# useradd -s /sbin/nologin test3
      [root@localhost ~]# su - test3
      This account is currently not available
      
    • -d:指定用户的家目录

      -d:指定的目录一定要是不存在的

      目录不能是嵌套的

      -> # useradd -d /opt/xxx xxx
      root@locahost [11:10:13 AM] [/opt] 
      -> # cd /opt
      root@locahost [11:10:18 AM] [/opt] 
      -> # ls
      xxx
      
    • -M :在创建用户时不创建用户的主目录也就是/home/username

      [root@localhost ~]# useradd -M test3
      [root@localhost ~]# su - test3
      su: warning: cannot change directory to /home/test3: No such file or directory
      

      如何进行修复

      缺少/home/下的家目录,我们又知道,家目录是由/etc/skel/复制过来的,那我们就找到了解决办法

      [root@localhost ~]# cp -r /etc/skel/ /home/test3
      [root@localhost ~]# su - test3
      [test3@localhost ~]$ 
      

2、userdel删除用户

  • userdel username 删除用户

  • su - 可以进行用户切换

    [root@localhost ~]# su - test1
    [test1@localhost ~]$ su - root
    Password: 
    [root@localhost ~]# su - test1
    [test1@localhost ~]$ 
    
    • 如果我们多次使用su - 去切换用户,此时就会造成一个进程嵌套,在这种情况下,即便切换回了root用户也不能删除test1用户,我们可以看到test1用户是处于父进程的状态,子进程是不能删除父进程的

        ├─sshd───sshd───sshd───bash───su───bash───su───bash───su───bash───pstree
      

      我们必须删除多余的进程才可以删除用户

  • 参数:

    • -r:在删除用户时同时删除/home/下的家目录以及/var/spool/mail/下的邮件

      • 如果没有使用-r参数进行删除,用户的信息是能被保留的,如果后面想在创建一个同名的用户虽然可以被创建,但是什么操作都无法进行

        [root@localhost ~]# userdel test1
        [root@localhost ~]# useradd test1
        useradd: warning: the home directory already exists.
        Not copying any file from skel directory into it.
        Creating mailbox file: File exists
        # 他会告诉你,home directory和mailbox file已存在
        

        image-20240326113005896

      • 解决方法

        强制删除/home/下的家目录以及/var/spool/mail/下的邮件

        [root@localhost ~]# rm -rf /var/spool/mail/test1
        [root@localhost ~]# rm -rf /home/test1
        

3、groupadd创建用户组

  • 我们自己创建的组的GID是从1000开始的依次递增的

  • 参数:

    • -g :在创建组的时候设置组的GID

      [root@localhost ~]# groupadd -g 1500 xu 
      xu:x:1500:
      

4、usermod对用户进行修改

针对已经创建的用户

(1)、-L 加锁,禁止log登录

给用户加锁就是在shadow中用户的密码前面加“!”。加锁对于超级用户是不生效的,只对普通用户生效

[root@localhost opt]# usermod -L test2
[root@localhost opt]# grep -n test2 /etc/shadow
39:test2:!$6$lM9ENRYIsp7Ik7gy$rEfeRt44V4bGY07pOH.6ZHEwfCfZoAz8uSTaKP.SeCaxYLEkEsvfx..UGf2gtbc2LfanVoFFSZ3DFnTrLSnii0:19808:0:99999:7:::
[root@localhost opt]# su - test1
[test1@localhost ~]$ su - test2
Password: 
su: Authentication failure

(2)、-U 减锁,允许log登录

[root@localhost opt]# usermod -U test2
[root@localhost opt]# grep -n test2 /etc/shadow
39:test2:$6$lM9ENRYIsp7Ik7gy$rEfeRt44V4bGY07pOH.6ZHEwfCfZoAz8uSTaKP.SeCaxYLEkEsvfx..UGf2gtbc2LfanVoFFSZ3DFnTrLSnii0:19808:0:99999:7:::
[root@localhost opt]# 

(3)、-G 用户修改附加组


[root@localhost opt]# usermod -G xu test2
[root@localhost opt]# id test2
uid=1002(test2) gid=1002(test2) groups=1002(test2),1500(xu)

(4)、-g 修改属组

[root@localhost opt]# usermod -g xu test2
[root@localhost opt]# id test2
uid=1002(test2) gid=1500(xu) groups=1500(xu)

(5)、-s 修改用户的shell

[root@localhost opt]# usermod -s /bash/nologin test2
[root@localhost opt]# grep -n test2 /etc/passwd
39:test2:x:1002:1500::/home/test2:/bash/nologin

(6)、-u:修改用户的UID

-> # usermod -u 3000 xuxu
root@locahost [11:33:32 AM] [~xxx] 
-> # id xuxu             
uid=3000(xuxu) gid=2000(xuxu) groups=2000(xuxu)

(7)、-l:修改用户名字

usermod -l xxxx xuxu 

(8)、-d、-m:修改用户的家目录

usermod的-d选项没有创建家目录的功能

如果修改用户的家目录,这个家目录本身是不存在的,那么这个用户的就变成没有家目录的用户

因此一般-d都和-m搭配使用

-m的作用是:在给用户指定新的家目录时,同时将该用户原来的家目录移动过去,并重命名为指定的新的目录的名字,形成新的家目录

root@locahost [11:39:29 AM] [~xxx] 
-> # usermod -md /opt/qqq xuxu
root@locahost [11:39:53 AM] [~xxx] 
-> # ll /home
total 0
drwx------. 2 xu xu 97 May 29 21:50 xu
root@locahost [11:39:59 AM] [~xxx] 
-> # ll /opt
total 0
drwx------. 2 xuxu xuxu 76 May 30 11:07 qqq
drwx------. 2 xxx  xxx  76 May 30 11:10 xxx

5、passwd设置用户密码

  • 交互式设置密码

    [root@localhost ~]# passwd test2
    Changing password for user test2.
    New password: 
    BAD PASSWORD: The password is shorter than 8 characters
    Retype new password: 
    passwd: all authentication tokens updated successfully.
    
  • 非交互式设置密码,只有超级用户有权限使用

    [root@localhost ~]# echo 123123 | passwd --stdin test2
    Changing password for user test2.
    passwd: all authentication tokens updated successfully.
    
  • 给用户加锁,会给出提示信息

    [root@localhost opt]# passwd -l test2
    Locking password for user test2.
    passwd: Success
    [root@localhost opt]# passwd -S test2
    test2 LK 2024-03-25 0 99999 7 -1 (Password locked.)
    
  • 给用户减锁

    [root@localhost opt]# passwd -u test2
    Unlocking password for user test2.
    passwd: Success
    [root@localhost opt]# passwd -S test2
    test2 PS 2024-03-25 0 99999 7 -1 (Password set, SHA512 crypt.)
    
  • 下次登陆强制修改密码

    [root@localhost opt]# passwd -e test2
    Expiring password for user test2.
    passwd: Success
    
  • 显示密码信息

    [root@localhost opt]# passwd -S test2
    test2 PS 2024-03-25 0 99999 7 -1 (Password set, SHA512 crypt.)
    [root@localhost opt]# usermod -L test2
    [root@localhost opt]# passwd -S test2
    test2 LK 2024-03-25 0 99999 7 -1 (Password locked.)
    

6、chage命令

针对已经创建的用户进行修改

  • chage命令用于密码实效管理,该是用来修改帐号和密码的有效期限。它可以修改账号和密码的有效期

  • option

    • -d: 指定密码最后修改日期

    • -M:密码保持有效的最大天数。

      [root@localhost opt]# chage -M 60 test3
      [root@localhost opt]# chage -l test3
      Last password change					: Mar 26, 2024
      Password expires					: May 25, 2024
      Password inactive					: never
      Account expires						: never
      Minimum number of days between password change		: 0
      Maximum number of days between password change		: 60
      Number of days of warning before password expires	: 7
      
    • -W:密码过期前,提前收到警告信息的天数。

    • -m:密码可以更改的最小天数。为零代表任何时候都可以更改密码。

    • -l:列出用户以及密码的有效期

      [root@localhost opt]# chage -l test3
      Last password change					: Mar 26, 2024
      Password expires					: never
      Password inactive					: never
      Account expires						: never
      Minimum number of days between password change		: 0
      Maximum number of days between password change		: 99999
      Number of days of warning before password expires	: 7
      

7、groupadd创建组

groupadd groupname

-g 创建组是指定GID

8、groupmod修改组

-g 修改GID

-n 修改组名

9、gpasswd组管理

  • 可以将用户添加到组或者从组中删除
    • -a 将用户添加到工作组,需要重启或者注销后才可以实现
    • -d 将用户从组中删除

【4】、用户登陆分析

1、whoami

  • 打印当前UID的名字

    [root@bogon ~]# whoami  
    root
    

2、who

  • 查看用户登录的终端信息,pts/0表示ssh远程终端,tty表示虚拟终端

    [root@bogon ~]# who
    root     pts/0        2023-12-07 16:43 (192.168.121.1)
    root     :0           2023-12-07 16:47 (:0)
    

3、w

  • 表示当前用户的负载信息

    [root@bogon ~]# w
     16:53:46 up 12 min,  2 users,  load average: 0.00, 0.09, 0.08
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    192.168.121.1    16:43    2.00s  0.18s  0.04s w
    root     :0       :0               16:47   ?xdm?   1:05   0.66s /usr/libexec/gnome-session-binary
    
    

【5】、/etc/login.defs文件

针对后续创建的用户进行的操作

    MAIL_DIR        /var/spool/mail  #他决定了用户创建时要创建一个邮件
 16 #MAIL_FILE      .mail
 17 
 18 # Default initial "umask" value used by login(1) on non-PAM enabled systems.
 19 # Default "umask" value for pam_umask(8) on PAM enabled systems.
 20 # UMASK is also used by useradd(8) and newusers(8) to set the mode for new
 21 # home directories if HOME_MODE is not set.
 22 # 022 is the default value, but 027, or even 077, could be considered
 23 # for increased privacy. There is no One True Answer here: each sysadmin
 24 # must make up their mind.
 25 UMASK           022    #权限掩码
 26 
 27 # HOME_MODE is used by useradd(8) and newusers(8) to set the mode for new
 28 # home directories.
 29 # If HOME_MODE is not set, the value of UMASK is used to create the mode.
 30 HOME_MODE       0700
 31 
 32 # Password aging controls:
 33 #
 34 #       PASS_MAX_DAYS   Maximum number of days a password may be used.
 35 #       PASS_MIN_DAYS   Minimum number of days allowed between password changes.
 36 #       PASS_MIN_LEN    Minimum acceptable password length.
 37 #       PASS_WARN_AGE   Number of days warning given before a password expires.
 38 #
 39 PASS_MAX_DAYS   99999   ##设置创建的用户的密码策略
 40 PASS_MIN_DAYS   0
 41 PASS_MIN_LEN    5
 42 PASS_WARN_AGE   7
47 UID_MIN                  1000
 48 UID_MAX                 60000
 49 # System accounts
 50 SYS_UID_MIN               201  ##系统UID的范围
 51 SYS_UID_MAX               999
 52 
 53 #
 54 # Min/max values for automatic gid selection in groupadd
 55 #
 56 GID_MIN                  1000  #组GID范围
 57 GID_MAX                 60000
 58 # System accounts
 59 SYS_GID_MIN               201
 60 SYS_GID_MAX               999
 61 
 62 #
 63 # If defined, this command is run when removing a user.
 64 # It should remove any at/cron/print jobs etc. owned by
 65 # the user to be removed (passed as the first argument).
 66 #
 67 #USERDEL_CMD    /usr/sbin/userdel_local
 68 
 69 #
 70 # If useradd should create home directories for users by default
 71 # On RH systems, we do. This option is overridden with the -m flag on
 72 # useradd command line.
 73 #
 74 CREATE_HOME     yes  # 创建用户时是否创建家目录
 75 
 76 # This enables userdel to remove user groups if no members exist.
 77 #
 78 USERGROUPS_ENAB yes  #创建用户时,是否自动生成一个同名的组
 79 
 80 # Use SHA512 to encrypt password.
 81 ENCRYPT_METHOD SHA512 #加密方式

【6】、用户环境变量

  • 每一个用户都有自己的变量和环境变量,在用户登录和用户切换的时候对应用户的环境变量也会跟着一起加载

  • 在切换用户时有两个命令su和su -,这两个命令的区别就是su命令不能完全切换要登录的用户,su - 命令可以完全切换对应用户的变量

    • su

      [root@bogon ~]# su linus
      [linus@bogon root]$ env | grep root
      PWD=/root
      MAIL=/var/spool/mail/root
      PATH=/home/linus/.local/bin:/home/linus/bin:/usr/share/Modules/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
      

      我们使用su切换用户之后还是可以看到切换之前的用户的信息的

    • su -

      [root@bogon ~]# su - linus
      [linus@bogon ~]$ env | grep root
      [linus@bogon ~]$ 
      

      我们使用su - 切换用户之后不能看到切换之前的用户的信息了

  • 我们可以使用env命令去查看当前用户加载的变量

【7】、用户提权

让普通用户以root身份执行某些程序

  • 我们可以使用su命令去切换用户执行命令

  • 也可以在普通用户下使用sudo去进行提权,但是对应的用户必须是在/etc/sudoers文件中配置过的用户,或者是有配置了附加组的用户。

    • 通过修改/etc/sudoers去设置什么用户可以进行提权操作,用户可以提权哪些命令,也可以设置可以提权的组

      在修改/etc/sudoers,一般不去使用vim命令,而是使用visudo,去专门编辑/etc/sudoers文件

      99 ## Allow root to run any commands anywhere 
      100 root    ALL=(ALL)      NOPASSWD: ALL  #最后一个ALL对应着可以提权操作的命令
      101 # NOPASSWD表示不需要密码,
      102 ## Allows members of the 'sys' group to run networking, software, 
      103 ## service management apps and more.
      104 # %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
      105 
      106 ## Allows people in group wheel to run all commands
      107 %wheel  ALL=(ALL)       ALL #如果要设置组,需要在组前加%
      

【8】、用户组管理员

用户组管理员,专门用来管理用户组的

组管理员可以属于这个组,也可以不属于这个组

一个用户可以是多个组的组管理员

一个组可以有多个管理员

管理员只可以将用户添加到他所管理的组中,就可以不需要通过root用户完成了,而不能做删除操作

设置组管理员:gpasswd -A

查看组管理员:/etc/gshadow

gpasswd -A a4 team4
gpasswd -A a4 team3
# 可以给一个组设置多个管理员
gpasswd -A "a3,a4" team3
# 当我们想要将一个组中的管理员删除时
gpasswd -A "" team3

【9】、修复用户家目录

当我们不小心将用户的家目录删除后,我们可以进行修复

在用户家目录中,并不是什么文件都没有,而是存在一些隐藏文件

/etc/skel/目录称为用户的模板目录,当我们创建的任意一个用户,都会从/etc/skel/目录下复制一份数据到用户家目录中

解决方式:

方式一:可以将其他用户的家目录复制过来(不推荐,因为其他用户的家目录中可能存在许多干扰文件)

方式二:从/etc/skel目录中复制一份过来(推荐)

上面的两个方式都是为了去得到用户家目录中存在的隐藏文件,使被删除的用户家目录重新出现,但是,此时的用户家目录普通用户还不能使用,由于我们是通过root去复制的,因此在复制完成后家目录虽然已经创建出来了,但是其中的文件属组和属主都是root,普通用户不能去访问,因此最后一步是修改属主和属组

{24-05-31 16:20}locahost:~ root# useradd xu 
{24-05-31 16:20}locahost:~ root# 
{24-05-31 16:20}locahost:~ root# rm -rf /home/xu 
{24-05-31 16:21}locahost:~ root# ls /home 
a1
{24-05-31 16:21}locahost:~ root# cp -r /etc/skel /home/xu
{24-05-31 16:21}locahost:~ root# ls /home                
a1  xu
{24-05-31 16:21}locahost:~ root# cd /home/xu 
{24-05-31 16:21}locahost:/home/xu root# ls -la
total 16
drwxr-xr-x. 2 root root  76 May 31 16:21 .
drwxr-xr-x. 4 root root  26 May 31 16:21 ..
-rw-r--r--. 1 root root  18 May 31 16:21 .bash_logout
-rw-r--r--. 1 root root 141 May 31 16:21 .bash_profile
-rw-r--r--. 1 root root 376 May 31 16:21 .bashrc
-rw-r--r--. 1 root root 658 May 31 16:21 .zshrc
{24-05-31 16:21}locahost:/home/xu root# chown -R xu:xu /home/xu

标签:test2,用户组,系统,用户,etc,Linux,home,root,localhost
From: https://www.cnblogs.com/xuruizhao/p/18277029

相关文章

  • 在 Rocky Linux 中,你可以使用 firewalld 来管理防火墙规则。
    在RockyLinux中,你可以使用`firewalld`来管理防火墙规则。以下是关闭所有端口并重新开放所需端口的步骤:###步骤1:关闭所有端口首先,你需要关闭所有端口。你可以使用`firewall-cmd`命令来实现这一点:```bashsudofirewall-cmd--permanent--add-rich-rule='rulefamily="i......
  • 41、linux-yum源管理-阿里云仓库配置
    ·yum的管理1、清理原有的yum配置·把本地或者官方的/etc/yum.repos.d/路径下的所有repo配置文件移走·确保/etc/yum.repos.d/这里没有其它文件2、下载配置阿里巴巴开源镜像站官网配置:https://developer.aliyun.com/mirror/·在这个位置/e......
  • 如何在Windows11下部署Linux子系统中安装GCC编译器
    GCC编译器安装:1:gcc出现命令找不到2.直接按照提示来安装。会发现链接找不到服务器原因是因为默认的服务器在国外,无法直接进行访问,需要切换成国内的服务器3.切换软件源——换成国内的服务器注意:软件源要与版本号一致!演示所用均为22.04版本号,可根据版本号找对应的软件......
  • 《每天5分钟用Flask搭建一个管理系统》 第10章:前端集成
    第10章:前端集成10.1前端技术概述前端技术指的是构建Web应用用户界面所使用的技术,包括HTML、CSS和JavaScript。现代Web开发中,前端框架如React、Vue.js和Angular等被广泛使用。10.2AJAX与Flask的集成AJAX(AsynchronousJavaScriptandXML)允许在不重新加载整个页面的情况......
  • 《每天5分钟用Flask搭建一个管理系统》第9章:API设计
    第9章:API设计9.1RESTfulAPI的概念RESTfulAPI是一种基于HTTP协议的网络服务接口设计方法,它使用标准的HTTP方法,如GET、POST、PUT、DELETE等,来执行资源的操作。9.2Flask-RESTful扩展的使用Flask-RESTful是一个Flask扩展,简化了创建RESTfulAPI的过程。示例代码:安装Flas......
  • Java毕业设计-高校学生课堂考勤打卡系统 Vue前后端分离
    传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,班级信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广大用户的需求,因此就应运而生出相应的高校学生课堂考勤系统。......
  • Java毕业设计-马场养马马病管理系统
    传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,马病信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广大用户的需求,因此就应运而生出相应的马病管理系统。本马病管......
  • 【linux】从零到入门
     linux概述Linux是一个免费使用和自由传播的一套操作系统。用户可以无偿地得到它地源代码,和大量地应用程序,并且可以随意修改和增加它们。Linux的内核起初由林纳斯编写。内核是啥?驱动设备,文件系统,进程管理,网络通信等等……内核其实不是一个完整的操作系统。厂家将内核和各......
  • Linux基础命令
    三、基础命令全解【1】、ls命令查看folderandfile使用方法:Usage:ls[OPTION]...[FILE]...常用选项-a:显示目录下所有的内容,包括隐藏内容-l:以长格式显示目录下的内容以及详细信息-h:以人性化显示目录下各个文件的大小(KB、MB、GB)-d:仅显示目录本身而不显示内部的文......
  • 计算机毕业设计python校园车辆管理系统的设计和实现
    一、拟开展研究的价值、意义车辆为人们的生活和工作带来了极大的方便,随着教职工和外来车辆的不断加大,进入校园的车辆数量也逐渐增加,校园车辆管理如果采用人工记录的工作方式,工作量大、效率低下、极易出错,且安全性不高。车辆离开校园时无法核实,不能完全准确记录车辆的出入。并......