放在文本文件中:将配置保存在文本文件中,可以让配置的查看、编辑更加方便。
1、Linux的目录结构
目录的功能:
- bin:binary。的相关目录存放的是二进制程序(所有人都可执行的二进制文件)
- sbin :super binary。 管理员可以执行的二进制文件
- boot: 和计算机启动相关的文件,如内核等文件
- dev: device。 存放硬件设备
- etc:et cetera, 相当于windows的注册表,存放各种程序的配置文件
- home: 普通用户的家目录
- usr: 相当于第二个根(usr下面的文件夹根下面都有,相当于windows系统下的windows这个文件夹的功能
- run: 系统运行过程中生成的临时文件
- tmp: 临时文件
- var:variety 。存放经常变化的内容 ,比如日志、网站
- lib: library。存放库文件,程序的依赖等内容
- proc: process 。存放进程相关的信息
- sys: 和硬件相关的文件,数据存放在内存中的
2、Linux文件的类型
- - :普通文件
- d :目录文件directory
- l :符号链接文件link
- b :块设备block ,例如硬盘文件,访问的时候是一块一块访问的
- c :字符设备character。访问的时候是一个字符一个字符访问的
- p : 管道文件pipe
- s :套接字文件socket
3、Linux 文件的颜色
-
绿色: 可执行文件
-
红色: 压缩文件、打包文件
-
白色: 文本文件
-
蓝色: 目录文件
-
黄色: 设备文件
-
浅蓝色: 链接文件(软连接)
Linux 查看文件的类型:
方法一:通过颜色判断
方法二:通过ls -l
或者file
命令查看
三:Linux用户管理
Linux用户分类:
相关文件:
/etc/passwd
:存储系统中所有用户的信息,例如用户名、用户ID、用户主目录和默认shell等
可以通过查看/etc/passwd内容来确定系统是否存在指定的用户。
# 查看passwd文件的方式
root@ubuntu1804:~# cat /etc/shadow | grep nginx
nginx:!:19339::::::
# 使用id命令进行查看
root@ubuntu1804:~# id nginx
uid=999(nginx) gid=999(nginx) groups=999(nginx)
/etc/shadow
:存储用户的密码和其他敏感信息
1、useradd
useradd用于创建用户。
#选项
-s # 指定该用户使用的shell类型
-u # 指定uid ,不指定默认从1000开始
-r # 创建系统用户,也就是 UID 在 1~499 之间,供系统程序使用的用户。
# 由于系统用户主要用于运行系统所需服务的权限配置,因此系统用户的创建默认不会创建主目录
-d # 指定家目录,这个目录要提前存在
-p # 指定用户的密码(需要的是加密的密码,明文密码不可以
-m # 建立用户时强制建立用户的家目录。在建立系统用户时,该选项是默认的
-g # 指定用户所属于的主要组
-G # 指定用户的附加组。我们把用户加入其他组,一般都使用附加组;
例如:创建一个普通用户指定家目录
#创建一个普通用户指定家目录
root@ubuntu1804:~# useradd -m bob
root@ubuntu1804:~# ll -d /home/bob/
drwxr-xr-x 2 bob bob 4096 Dec 8 14:28 /home/bob//
root@ubuntu1804:~# id bob
uid=1001(bob) gid=1001(bob) groups=1001(bob)
例如:创建系统用户:
# 1.先创建组 使用 -g指定gid
# 2.创建系统用户 使用-r表示创建系统用户 使用 -u指定uid 使用-g指定组
# 这样做的好处是多台服务器上创建的用户gid、uid保持一致
#系统用户的uid和gid范围是1-999
root@ubuntu1804:~# groupadd -g 666 bob
root@ubuntu1804:~# useradd -r -s /sbin/nologin -u 666 -g bob user1
root@ubuntu1804:~# id user1
uid=666(user1) gid=666(bob) groups=666(bob)
2、userdel
userdel用于删除系统中指定的用户
# userdel [-r] user_name 添加-r参数就删除用户的所有信息。
root@ubuntu1804:~# userdel -r bob
userdel: bob mail spool (/var/mail/bob) not found
3、usermod
更改用户的相关信息
# 修改用户的用户名:使用 -l 选项:
usermod -l 新用户名 老用户名
# 修改用户的家目录:使用 -d 选项:
usermod -d /新的/家目录 要修改的用户名
# 修改用户的默认 shell:使用 -s 选项:
usermod -s /bin/bash 要修改的用户名
# 将用户添加到一个或多个附加组中:使用 -aG 选项,-a 选项表示将用户添加到附加组中,而不是替换用户的组
usermod -aG 组名 要修改的用户名
四:Linux 组管理
在Linux中的每个用户必须属于一个组,不能独立于组外。一般创建用户的时候会以该用户的名称为组名创建一个用户组。
相关文件;
/etc/gshadow
文件
存储用户组的密码和其他敏感信息。
/etc/group
文件
存储系统中所有用户组的信息,可以通过这个文件查看是否存在指定的用户组。
/etc/login.defs
文件
用于配置Linux系统中各种登录相关的默认值和策略信息。
1、groupadd
用于创建一个用户组。
例如:
sudo groupadd group_name
# 参数
-g:指定gid,未指定系统随机分配
-r:创建系统用户组,系统用户组通常用于管理系统进程和服务
2、groupdel
用于删除一个用户组。
例如:
sudo groupdel group_name
# 参数
-f:强制删除,不管该组中是否还存在用户,慎用,强制删除可能会导致一些问题。
-r:删除组时,同时删除与该组相关的文件和目录
3、groupmod
用于修改一个组的信息。
例如:
sudo groupmod group_name
# 参数
-g:设置用户的gid
-n:--new-name,修改组名
五:Linux文件权限
在Linux操作系统中,因为设计思想就是一切皆文件,所以可以针对文件或目录所设定的访问权限控制规则。这些权限规则可以控制不同用户或用户组对文件或目录的读、写、执行等操作权限。
1、文件权限的组成
由三部分组成:所有者权限、群组权限和其他用户权限。每个用户或用户组在访问文件或目录时,都会受到这三个权限规则的限制。
说明:root用户例外。
2、文件的权限属性
Linux的文件权限属性用10个字符表示,分为四部分。
- 第一部分:一个字符来表示文件的类型
- 第二部分:三个字符表示文件的所有者
- 第三部分:三个字符表示文件的所属组
- 第四部分:三个字符表示文件的其它用户权限
权限属性说明:
r(读)、w(写)、x(执行)和 -(无权限)
普通文件: