操作系统
操作系统 Operating System 简称 OS ,是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁。
操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些基本的服务程序。
什么是 Linux
Linux 系统内核与 Linux 发行套件的区别
总结:真正的 Linux 指的是系统内核,而我们常说的 Linux 指的是“发行版完整的包含一些基础软件的操作系统”。
Linux 是一个多用户的操作系统。在 Linux 中,理论上来说,我们可以创建无数个用户,但是这些用户是被划分到不同的群组里面的,有一个用户,名叫 root ,是一个很特殊的用户,它是超级用户,拥有最高权限。
[root@localhost home]# useradd admin
[root@localhost ~]# ls /home
admin
[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.
[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 ~]#
[root@localhost ~]# userdel admin
[root@localhost ~]# su - admin
su: user admin does not exist
[root@localhost ~]# ls /home
admin
Linux 中每个用户都属于一个特定的群组,如果你不设置用户的群组,默认会创建一个和它的用户名一样的群组,并且把用户划归到这个群组。
[root@localhost ~]# groupadd test
[root@localhost ~]# groupdel test
[root@localhost ~]# groups root
root : root
[root@localhost ~]#
【常用参数】
-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]#
-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]#
-a -G 会让你离开原先的群组,如果你不想这样做的话,就得再添加 -a 参数,意味着append 追加的意思。
[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]#
[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]#
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]#
[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]#
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
drwxr-xr-x 表示文件或目录的权限
d :表示目录,就是说这是一个目录,普通文件是 - ,链接是 l 。
r :read 表示文件可读。
w :write 表示文件可写,一般有写的权限,就有删除的权限。
x :execute 表示文件可执行。
- :表示没有相应权限。
权限的整体是按用户来划分的,
d rwx r-x r-x
文件属性 所有者 群组用户 其他用户
现在再来理解这句权限 drwxr-xr-x 的意思:
它是一个文件夹;
它的所有者具有:读、写、执行权限;
它的群组用户具有:读、执行的权限,没有写的权限;
它的其它用户具有:读、执行的权限,没有写的权限。
用 chmod 来尝试修改权限。chmod 它不需要是 root 用户才能运行的,只要你是此文件所有者,就可以用 chmod 来修改文件的访问权限。
数字分配权限
权限 数字
r 4
w 2
x 1
要改变权限,只要做一些简单的加法就行:
chmod 640 look.txt #
分析6 = 4 + 2 + 0 表示所有者具有 rw 权限
4 = 4 + 0 + 0 表示群组用户具有 r 权限
0 = 0 + 0 + 0 表示其它用户没有权限对应文字权限为:-rw-r-----
用字母来分配权限
u :user 的缩写,用户的意思,表示所有者。
g :group 的缩写,群组的意思,表示群组用户。
o :other 的缩写,其它的意思,表示其它用户。
a :all 的缩写,所有的意思,表示所有用户。
+ :加号,表示添加权限。
- :减号,表示去除权限。
= :等于号,表示分配权限。
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的所有者分配读写和执行的权限,群组其它用户分配读的权限,其他用户没有任何权限