第三课、LInux目录结构与用户身份

第三课、LInux目录结构与用户身份

LInux下一切皆文件, 一切从 “ / “ 开始(倒状树结构)并按照文件系统层次标准(FHS)采用树形结构来存放文件,以及定义了常见目录的用途。Linux中严格区分大小写。文件名称不得包含斜杠 / 。
将系统中的所有东西都抽象成了文件。


[root@yzh ~]# tree /
树形结构展示目录


设置分区最简单的是 boot swap / 分区 这三个。

重点目录:

boot 开机所需文件-内核,开机菜单以及所需配置文件等。

dev 以文件形式存放任何设备与接口(Device)

etc 配置文件

home 家目录

bin 二进制可执行命令 /usr/bin

sbin 系统管理员命令 /usr/sbin

lib 动态链接共享库,库函数

tmp 公用的临时文件存储点

(把一些文件进行局域网内的共享。SBIT,粘滞位,只有文件的拥有者可以删除自己的文件)

root 系统管理员的主目录

opt 第三方软件目录

media 挂载设备文件的目录

mnt 挂载光驱、usb设备的目录。

srv 一些网络服务的数据文件目录

usr/local 用户自行安装的软件(源码部署, --prefix = /usr/local/安装名称)

/usr/share 一些共享的文件。(linux 字体

/var 主要存放经常变化的文件,

如日志文件 /var/log

系统日志 messages

服务日志 /var/log/httpd/access_log | errpr_log

查看文件或服务报错信息的话就可以在 /var/log 下去找。

/lost + fount 当文件系统发生错误时,将一些丢失的文件片段存放在这里。

proc 虚拟文件系统,例如系统内核、进程、外部设备及网络状态等。

( cat /proc/cpuinfo ) cpu信息

( cat /proc/meminfo ) 内存信息


链接:

前提知识: inode —目录

硬链接:不允许对“目录”链接,只能是文件。 是对文件的一个完整复制。每一个硬链接出来的文件是独立个体。

  • ln 源 目
    [root@yzh ~]# ln c.txt d.txt

软链接:对文件&对目录都可以。⇒ 相当于win中的快捷方式(只有一个inode)

  • ln -s 源 目
    [root@yzh ~]# ln -s /etc/sysconfig s1

绿色: 脚本
黄色:
绿底:公用目录


绝对路径: 从最原始的目录” / “到目标所在地

相对路径: 从当前目录到目标所在地

在我们安装部署一些服务的时候,最好是提前将文件创建好。

  • mkdir -p /usr/local/nginx


用户与用户组概念&能力

Linux是多用户操作系统。方便多人使用。为了安全引入了用户组的概念。具备相同特性的用户称为组。

Linux系统用户是根据用户ID来识别的。 默认ID长度为32位。从默认ID编号0开始,但是为了兼容老系统,用户ID限制在65535以下,Linux用户总共分为三种,如下:

超级用户:(ID 0)在Linux发行版本中,默认是root,真的超级用户是 UID=GID=0

系统用户:(ID 1-999) 用于运行服务,但是此用户无家目录,不可登录。

普通用户:(ID默认 1000-65535) 必须要超级用户分配。

Linux系统中的每个文件或者文件夹,都有一个所属用户和所属组。使用id命令可以显示当前用户的信息,使用passwd命令可以修改当前用户密码。

[root@yzh ~]# cat /etc/passwd



h:x:1001:1001::/home/h:/bin/bash
用户名:加密密码:用户UID:用户GID:用户:目录: shell类型

shell类型区别:
/bin/bash    ->  可登录用户
/sbin/nologin  -> 非可登录用户

防止渗透。
passwd命令  root可以为自己修改 为普通用户添加|修改密码

普通用户只能对自己进行密码的修改(普通用户必须按照要求)

设置 -- 使用周期 -- 所有的用户 只有7天有效  7天后自动删除

Linux操作系统用户的特点如下:

  • 每个用户拥有一个UserID,操作系统实际读取的是UID,而非用户名。
  • 每个用户属于一个主组,属于一个或多个附属组,一个用户最多有31个附属组。
  • 每个组拥有一个GroupID
  • 每个进程以一个用户身份运行,该用户可对进程拥有资源控制权限。
  • 每个可登录用户有一个指定的shell环境。( /bin/bash 等等)

linux用户管理

日常维护管理涉及到的相关配置文件:

/etc/passwd  保存用户信息
/etc/shadow  影子文件,保存用户密码
/etc/group   保存组信息
/etc/gshadow 保存组密码信息
/etc/login.defs  用户属性限制,密码过期时间,密码最大长度等限制。
/etc/default/useradd  显示或更改默认的useradd配置文件(useradd默认创建
用户,自动建立家目录,添加附属组)
如需创建新用户,可以使用命令useradd,执行命令 useradd yzh 即可创建yzh用
户,同时创建一个同名的组yzh,默认该用户属于yzh组。

useradd yzh命令默认创建用户yzh,会根据如下步骤进行操作。

  1. 在/etc/passwd文件中添加用户信息
  2. 使用passwd命令创建密码,密码会被加密保存在/etc/shadow中
  3. 为用户yzh创建家目录,/home/yzh
  4. 将/etc/skel中的.bash开头的文件复制到/home/yzh家目录中
  5. yzh组信息保存在/etc/group配置文件中。

在使用useradd命令创建用户时,可以支持如下参数。

用法: useradd [选项] 登录

useradd -D [选项]

选项:
-b, --base-dir BASE_DIR                 指定新账户的家目录;

-c, --comment COMMENT               新账户的 GECOS 字段;

-d, --home-dir HOME_DIR             新账户的主目录;

-D, --defaults                         显示或更改默认的 useradd 配置;

-e, --expiredate EXPIRE_DATE           新账户的过期日期;

-f, --inactive INACTIVE                 新账户的密码不活动期;

-g, --gid GROUP                    新账户主组的名称或ID;

-G, --groups GROUPS                新账户的附加组列表;

-h, --help                             显示此帮助信息并推出;

-k, --skel SKEL_DIR                 使用此目录作为骨架目录;

-K, --key KEY=VALUE                 不使用 /etc/login.defs 中的默认值;

-l, --no-log-init                      不要将此用户添加到最近登录和登录失败数据库;

-m, --create-home                      创建用户的主目录;

-M, --no-create-home                  不创建用户的主目录;

-N, --no-user-group                    不创建同名的组;

-o, --non-unique                       允许使用重复的 UID 创建用户;

-p, --password PASSWORD            加密后的新账户密码;

-r, --system                           创建一个系统账户;

-R, --root CHROOT_DIR               chroot 到的目录;

-s, --shell SHELL                       新账户的登录 shell;

-u, --uid UID                           新账户的用户 ID;

-U, --user-group                       创建与用户同名的组;

-Z, --selinux-user SEUSER               为SELinux 用户映射使用指定 SEUSER。
****

cat /etc/shadow

h:!!:19295:0:99999:7:::
用户:MD5加密算法密码:

cat /etc/group

********************************************************************************************h:x:1001:
用户组名称:用户组密码:用户GID:成员名称********************************************************************************************

cat /etc/gshadow

h:!::
组名称:组密码::

  • useradd cisco 创建的用户默认是可登录的。

Useradd案例演示:
(1) 新建thinkmo用户,并加入到thinkmo1,thinkmo2附属组;
useradd -G thinkmo1,thinkmo2 thinkmoedu
(2) 新建thinkmo3用户,并指定新的家目录,同时指定其登陆的SHELL;

[root@yzh ~]# useradd thinkmo3 -d /tmp/ -s /bin/bash

Linux用户及组案例

使用usermod来修改已存在用户及组的属性,如下为usermod详细参数:

用法:usermod [选项] 登录

选项:

-c, --comment 注释               GECOS 字段的新值;

-d, --home HOME_DIR             用户的新主目录;

-e, --expiredate EXPIRE_DATE      设定帐户过期的日期为 EXPIRE_DATE;

-f, --inactive INACTIVE            过期 INACTIVE 天数后,设定密码为失效状态;

-g, --gid GROUP                 强制使用 GROUP 为新主组;

-G, --groups GROUPS             新的附加组列表 GROUPS;

id username  --- 查看用户信息

-a, --append GROUP             将用户追加至上边 -G 中提到的附加组中,

                                并不从其它组中删除此用户;

-h, --help                        显示此帮助信息并推出;

-l, --login LOGIN                  新的登录名称;

-L, --lock                        锁定用户帐号;

-m, --move-home                 将家目录内容移至新位置 (仅于 -d 一起使用)-o, --non-unique                  允许使用重复的(非唯一的) UID;

-p, --password PASSWORD         将加密过的密码 (PASSWORD) 设为新密码;

-R, --root CHROOT_DIR           chroot 到的目录;

-s, --shell SHELL                  该用户帐号的新登录shell环境;

-u, --uid UID                      用户帐号的新UID;

-U, --unlock                      解锁用户帐号;

-Z, --selinux-user SEUSER          用户账户的新SELinux 用户映射。

usermod 的案例演示:

(1)将yzh用户属组修改为yzh1,yzh2附属组

  • usermod -G yzh1,yzh2 yzh

(2)将yzh用户加入yzh3,yzh4附属组, -a为新添加组,原组保留:

  • usermod -a -G yzh3,yzh4 yzh

(3) 修改yzh用户,并指定新的家目录,同时指定其登陆的shell;

  • usermod -d /tmp/ -s /bin/bash yzh

(4)将yzh用户名修改为yzh1

  • usermod -l yzh1 yzh

(5)锁定yzh1用户及解锁yzh1用户方法:

  • usermod -L yzh1
  • usermod -U yzh1

userdel 案例演示

使用userdel可以删除指定用户及其用户的邮箱目录或者selinux映射环境。

userdel yzh 保留用户的家目录
userdel -r yzh 删除用户及其用户家目录,用户login系统无法删除
userdel -rf yzh 强制删除用户及其该用户家目录,不论是否login系统

linux组管理

特点:

  • 每个组都有一个组ID
  • 组信息保存在/etc/group中
  • 每个用户至少拥有一个主组,同时还可以拥有31个附属组

我们通过命令 **groupadd 、 groupdel、groupmod 、**来对组进行管理。

详细参数如下:

groupadd 
-f, --force                    如果组已经存在则成功退出;

                            并且如果 GID 已经存在则取消 –g;

-g, --gid GID                  为新组使用 GID;

-h, --help                      显示此帮助信息并推出;

-K, --key KEY=VALUE        不使用 /etc/login.defs 中的默认值;

-o, --non-unique                允许创建有重复 GID 的组;

-p, --password PASSWORD    为新组使用此加密过的密码;

-r, --system                    创建一个系统账户;

groupmod用法       

-g, --gid GID                  将组 ID 改为 GID;

-h, --help                      显示此帮助信息并推出;

-n, --new-name NEW_GROUP    改名为 NEW_GROUP;

-o, --non-unique                允许使用重复的 GID;

-p, --password PASSWORD    将密码更改为(加密过的) PASSWORD;

groupdel用法

groupdel thinkmoedu                 删除thinkmoedu组;

Groupadd案例演示

(1) groupadd创建linux组

  • groupadd linux
  • groupadd -g 1000 linux
  • groupadd -r linux //创建一个系统用户

(2) groupmod 修改组名称,将linux组名,改成linux1

  • groupmod -n linux1 linux
  • groupmod -g 1000 linux

权限详解

**
**

drwxr-xr-x. 3 root root
		d     rwx       r-x   r-x       .        root     root     109   Oct 5 0152     tuned    
文件类型   属主   所属组  其他人   隐藏属性   所属主   所属组   大小   创建时间      目录名称

  • id yzh 查看id信息

passwd 命令

usermod -L yzh 锁定

usermod -U yzh 解锁

设置用户使用周期

只有7天有效,7天后自动删除

(权限+用户管理)=最小化原则。→ 授权下游用户, 如果权限过大,导致出问题,从下到上所有人同时担责。

chmod 777 root组 这个权限太大了。

755 644 权限太大。

属主 rwx

属组 r–

其他 rw-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨优秀&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值