linux的各个目录结构以及组与用户

本文详细解释了Linux系统中的目录结构,如bin、boot、dev、etc等,并介绍了用户与组的概念,包括用户权限管理、主组与附加组的区别,以及如何创建、修改和删除用户与组。
摘要由CSDN通过智能技术生成

linux的各个目录结构

bin:该目录为/usr/bin 目录的快捷方式或者软链接。这个目录主要存放着常用的系统命令。
boot:该目录存放linux启动时使用的一些核心文件。
dev:这里时device(设备)的缩写,这里存放的是linux的外部设备,比如说IO设备,网络设备等目录相关的知识。
etc:这里放的是系统管理或者某些软件管理所需要的配置文件。我们在安装mysql时需要和这个文件打交道。
home:用户的家目录,在我们的linux中,每个用户都有自己的家目录,除了root用户意外其他用户的家目录都在这个home目录下。
lib:他是usr/lib这个目录的软链接,lib本身时library(库)这个单词的缩写,这个目录里存放着系统最基本的动态共享库,类似于windows下的DLL文件,几乎所有的应用程序都要用到这些库文件。
lib64:他是/usr/lib64这个目录的软链接,lib64实际上也是存放了系统的动态库。
media:linux会自动识别一些设备,比如U盘或者光驱,当识别后,linux会把识别的设备放到该目录下。
mnt:挂载别的文件系统或者设备所使用的。
opt:optional(可选)的缩写,就是给服务器额外安装的软件一个所盛放的目录。
proc:存储当前内核运行状态的一系列特殊文件,这个目录时一个虚拟的目录,他是内存的映射,我们可以直接从这个目录里获取当前系统信息,proc时process的缩写,所以主要记录进程信息。
root:这个目录就是root用户的家目录。
run:是一个临时文件系统,存储系统自启动以来相关信息,当系统重启时该目录将被清空。
sbin:他是/usr/sbin这个目录的软链接,超级用户(root)使用的高级管理程序和系统守护程序都在这。
srv:该目录存放一些服务启动之后要提取的数据。
sys:这个是linux 2.6内核的一个很大的变化,该文件系统(目录)是内核设备的一个直观反应。
tmp:是temporary(临时)的缩写,是用来临时存放一些文件的,这里存放的文件或者目录会被定时清除掉,在安装mysql时mysql.sock(mysql的套接字文件)这个文件会被存放到这里,可能会出现一些问题。
usr:时unix shared resources(linux共享资源)的缩写,这个目录非常重要,他相当于windows的program file这个目录,我们的linux使用的相关命令库都要在这个目录下,并且我们有一些软件比如mysql也会被安放到这个目录下,所以使用的时候无比小心,控制好权限等操作。
var:是variable(变量)的缩写,在这个目录中存放着不断扩充和不断改变的文件或者内容,比如说系统的日志或者一些系统跟踪文件会存放到这里。

linux用户与组的概念

组(group):他是一组相同职能的用户的集合。
用户(user):他是登陆我们linux最基本的管理或者职能单元。
为什么在linux中有用户与组的概念?
因为我们的linux是一个多用户 多任务(命令)的系统,所以就可能产生一些用户的功能和权限是完全一致的,为了更好的权限管理和用户统筹需要,所以采用了组的这个概念对用户进行相关的管理。不只是linux,包括我们熟知的windows linux 也采用了这种方式进行用户管理。
DBA:数据库管理员 database administer
DBA:datablock adress 数据块地址
主组与附加组的概念
为什么有主组与附属组?
因为一个用户可能身兼多职,可能拥有不同的权限,所以我们将其加入到相关的组(附属组)即可。
一个用户只能有一个主组,但是可以有多个附属(加)组,它不能退出他的主组,但是可以退出相关的附加组。
在useradd(添加用户)的这条命令里,
useradd -g oinstall -G dba oracle
-g代表它的主组(基本组),-G代表它的附加组
那么由这条命令可知:useradd 这条命令建立了一个叫oracle的用户,oracle用户的主组为oinstall,它的附属组为dba组。
useradd -g mysql mysql
那么我们由这条命令可知:useradd 建立了一个叫mysql 的用户,它的主组为mysql,它没有附加组。
建立用户之前一定要确定用户归属的组一定是存在的,然后再去建立用户。
创建组:groupadd oinstall
创建组:groupdadd dba
创建组:groupadd oper
创建用户:useradd -g oinstall -G dba oracle(单个附加组)
创建用户:useradd -g oinstall -G dba,oper mysql (多个附加组)
usermod命令时修改用户所属组的命令:usermod -G mysql mysql1

删除用户:userdel -fr oracle (fr 将与用户所有关联的内容统统删除)
一个主组内如果只有一个和组名相同的用户的话,删除用户时也会把该组删除掉。

我们还要知道,建立好用户以后,我们还需要给用户加一个密码,保证用户安全。
创建密码的命令为 passwd
centos/rhel/oracle-linux 在6的这个版本的时候安装linux时,不会强制你去建立一个用户,但是到了7以后,他会在你安装操作系统的时候强制你去建立一个用户,尽量避免不让你去使用root用户,防止出现高风险事件(误删除,误操作),造成对系统的不良影响,这就是linux中的防呆设置。
操作

在这里插入代码片
--建立组
groupadd   -g 500 oinstall
groupadd   -g 501 dba
groupadd   -g 502 oper

--查看组
cat /etc/group
--结果
oinstall:x:500:
dba:x:501:
oper:x:502:
--建立用户
useradd -g oinstall -G dba,oper oracle
--查看
cat /ect/group
--结果
oinstall:x:500:
dba:x:501:oracle
oper:x:502:oracle
--查看用户
cat /etc/passwd
--结果
oracle:x:1001:500:/home/oracle:/bin/bash
--查看用户(带密码的目录)
cat /etc/shadow
--结果
oracle:!!:19058:0:99999:7:7:::
--给oracle 用户添加密码
passwd  oracle
--输入密码,回车

--结果
oracle:$6$EFGUDYDCHHJHJFDCVRR/SRRrfsyyyu:19058:0:99999:7:7:::
--查看用户
cat /etc/passwd
--结果(不影响输出,x代表密码)(500 代表主组,/home/oracle家目录 /bin/bash 代表shell的状况)
oracle:x:1001:500:/home/oracle:/bin/bash


--查看用户的具体信息
id oracle
--结果
uid=1001(oracle)  gid=500(oinstall)   groups=500(oinstall),501(dba),502(oper)
-操作命令
id(在root用户下)
--结果
uid=0(root)  gid=0(root) groups=0(root) context=unconfined_u:unfined_r:unfined_t:s0-s0:c0.c1023
--删除用户
userdel oracle
--查看
cat /etc/passwd
cat /etc/shadow
--结果 :删除成功
--重新创建用户
useradd -g oinstall -G dba,oper oracle
--结果创建用户成功,但是有警告。
useradd:warning:the home directory already exist.
Not copying any file from skel directory into it.
--避免这种情况发生
--删除用户
userdel -fr oracle
--创建用户
useradd -g oinstall -G dba,oper oracle
--结果无报错,创建成功

-给用户指定编号
useradd -u 10086 -g oinstall -G dba,oper oracle
cat /etc/passwd
--结果
oracle:x:10086:500:/home/oracle:/bin/hash

--说明:一个主组内只有一个和组名同名的话,删除用户时也会把该组删除掉
groupadd  mysql
useradd -g mysql mysql
userdel -fr  mysql
cat /ect/group
--结果发现用户删除后,该组也没有了。

## --实验:

groupadd  mysql
useradd -g mysql mysql
useradd -g mysql mysql1
cat /etc/pawd
--结果
mysql:x:10087:1001::/home/mysql:/bin/bash
mysql1:x:10088:1001::/home/mysql1:/bin/bash
cat /etc/group 
--结果
mysql:x:1001
userdel- fr   mysql
cat /etc/group 
结果:发现组没有了,但是还有一个用户呢。
su -mysql1
--结果 发现能登陆进去,有警告
/usr/bin/id:cannot find name for group ID 1001
[mysql1@oracle~]$ id
--结果 发现组名没有了
uid=10088(mysql1) gid=1001 groups=1001 context=unfined_u:unfined_r:unfined_t:s0-s0:c0.c1023
--把这个组创建回来
 groupadd   -g 1001 mysql
 
 usermod -g mysql mysql1
 --结果:usermod:no changes
 usermod -G mysql mysql1
 su -mysql1
 id
uid=10088(mysql1) gid=1001(mysql) groups=1001 (mysql)context=unfined_u:unfined_r:unfined_t:s0-s0:c0.c1023

groupdel mysql
结果:groupdel:cannot remove the primary group of user  'mysql1'
--先删除用户,再删除组
userdel -fr mysql1
groupdel mysql

## 实验
groupadd mysql
useradd -g mysql mysql
useradd -g oinstall -G dba,oper oracle
id mysql
结果:uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)
id oracle
结果:uid=1002(oracle) gid=500(oinstall) groups=500(oinstall),501(dba),502(oper)
usermod -G mysql  oracle
id oracle
结果发现附加组只有mysql了
:uid=1002(oracle) gid=500(oinstall) groups=500(oinstall),1001(mysql)

usermod -G dba,oper,mysql  oracle
id oracle
结果:uid=1002(oracle) gid=500(oinstall) groups=500(oinstall),501(dba),502(oper),1001(mysql)

usermod -G oinstall mysql
id mysql
结果:uid=1001(mysql) gid=1001(mysql) groups=1001(mysql),500(oinstal)
--说明原来的附加组更新成现在的的



  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值