学习 ubuntu的第三天

目录

五 用户和用户组

1 切换 root用户        

1.1 设置root密码

1.2 添加删除用户

2 用户组

2.1 查看用户的所属组信息

2.2 查看所有用户组的信息

3 创建、删除用户组

3.1创建测试环境

创建 xiao 测试用户

创建一个名为 test 的用户组

3.2 添加用户

将 xiao 用户添加到 test 用户组

查看用户 xiao 所属的所有用户组

3.3 删除用户xiao以及用户组test

将用户 xiao 从 test 用户组中删除

删除 test 的用户组

六 文件和文件目录权限

1 组管理与权限管理

1.1、文件/目录 所有者

1.2.1 查看文件的所有者和权限

1.3 权限的基本介绍

-rw-rw-r--     0-9说明:

1 是文件的硬链接数, 表示该文件有一个硬链接

第一个zhang   是文件的所有者, 即创建该文件的用户

第二个zhang   是文件的所属组, 即该文件所属的用户组

0   59这些是    是文件的大小,    0就表示该文件目前没有数据

11 月  07:33 是该文件最后一次被修改的日期和时间

1.txt.  创建的文件

1.3.1  rwx权限讲解

2 修改所属组和文件权限

2.1 修改文件权限

2.2 修改所有者和所属组

2.1、修改文件所有者

2.2、修改目录所有者

2.3、修改文件/目录所在的组


五 用户和用户组

1 切换 root用户        

1.1 设置root密码

        在 Ubuntu 系统中, root 用户没有设置默认密码

       sudo passwd root    可以更改 root 用户的密码,即设置密码    

输入zhang用户的密码,输入root用户密码,再次输入root用户密码即可设置成功

       su - root

               将当前用户临时切换到 root 用户 [su:switch user]

        exit

               退出当前的 shell 环境或终端

       


        (可以跳过)退出当前的 shell 环境: 结束当前Shell进程并返回到上一级的Shell环境或用户桌面

       可以类比为打开了多个程序窗口, 当你关闭一个窗口时, 并没有关闭电脑或者操作系统, 而是回到了之前的工作空间

注:shell 是一个命令行解释器, 负责接收和解析用户通过终端输入的命令,每当用户在终端中输入一条命令, shell 会立即将其 "翻译" 成操作系统可以理解的指令

        终端 是一个提供命令输入和输出环境的程序, 可以把它看作是一个窗口, 让用户可以看到操作系统的反馈,而 shell 则是这个窗口中的工具, 帮助用户向操作系统发出指令


        su root

        将当前用户临时切换到 root 用户, 但不会切换当前用户的环境变量和工作目录,就是说你终端开头显示的还是   zhang 这个用户下

        当前用户的环境并不完全适合作为 root 用户来运行, 因为可能会出现一些权限问题

         su - root

        将当前用户临时切换到 root 用户, 同时切换当前用户的环境变量和工作目录

就是终端开头显示的是   root 这个路径

        建议使用 su - root 命令来切换到 root 用户, 以确保当前用户的环境变量和工作目录 与 root 用户的环境变量和工作目录保持一致, 避免出现不必要的问题


       (可以跳过) 在 linux 系统中, 用户的系统设置通常是独立的, 每个用户都有自己的配置文件和环境变量

        当使用 su - root 命令临时切换到 root 用户后, 可以执行一些需要 root 权限的操作, 比如:修改系统设置

        修改的设置只会影响当前 root 的用户环境, 不会影响其他用户的系统设置

        当你退出 root 用户环境后, 这些操作将不会对其他用户或会话产生影响

文字来源  https://www.dengruicode.com/classes_content?uuid=00a8df5104f3493aa9bcfb0ccbef6d47


1.2 添加删除用户

       su - root 切换到root用户

       *当创建一个新用户账户时, 系统都会在 /home 目录下自动创建与该用户账户同名的文件夹

       

       adduser xiao  创建xiao用户           ls  /home 查看该系统上所有已创建用户的主目录,可以发现home 目录下是    zhang   xiao 

       deluser xiao   删除xiao用户     但没删除home目录下的xiao文件       rm -r /home/luna 可以删除luna用户的主目录

       deluser --remove-home xiao 删除xiao用户及其相关文件,一步删除到位

       passwd xiao 更改用户密码    这里已经是最高权限了,不用加sudo了


       注:  可以跳过,我这里就没有报错,根据报错的进程4857  使用   kill -9 4857结束进程

               报错 userdel: user xiao is currently used by process 4857

               解决

                      ps -f 显示当前终端会话中运行的进程的详细信息

                               UID          PID    PPID  C STIME TTY          TIME CMD

                               root           1       0  0 17:29 ?        00:00:03 /sbin/init splash

                               root           2       0  0 17:29 ?        00:00:00 [kthreadd]

                               ......

                               UID (User ID) 进程用户ID

                               PID (Process ID) 进程ID

                               PPID (Parent Process ID) 父进程ID

                               C(CPU) 进程占用 CPU 的百分比

                               STIME (Start Time) 进程启动的具体时间

                               TTY (Teletypewriter) 与进程交互的终端设备

                               TIME 启动进程花费的 CPU 时间

                               CMD 启动进程的命令

                       ps -ef 显示系统中所有正在运行的进程的详细信息

                       ps -ef | grep xiao 显示系统中所有名称包含 luna 的进程的详细信息

                               ps[process status 进程状态]

                               -e[every 每个] 表示显示所有进程, 包括其他用户的进程

                               -f[full format 完整格式] 表示以完整格式显示进程信息

                               | 管道符号 将前一个命令的 "输出" 作为后一个命令的 "输入"

                               grep luna 会在 ps -ef 命令的 "输出" 中查找包含 luna 的进程信息

                       强制结束 id=4857 的进程

                       kill -9 4857

                               -9 表示发送 SIGKILL[signal kill] 信号给进程 id 为 4857 的进程

                               SIGKILL 信号是一种强制停止进程的信号


2 用户组

2.1 查看用户的所属组信息

               groups     未指定用户,查看当前用户的所属组信息

                       zhang adm cdrom sudo dip plugdev users lpadmin

                       zhang : 组名为 zhang 的用户组 [zhang 用户隶属于和自己同名用户组]

                       adm(Administrator) : 管理员用户组, 具有系统管理权限

                       cdrom(CD-ROM) : 光盘用户组, 具有读取光盘的权限

                       sudo(Super User Do) : 超级用户组, 具有执行系统管理任务的权限

                       dip(Device Interface) : 接口用户组, 具有配置网络接口的权限

                       plugdev(Plug-in Device) : 设备插件用户组, 具有管理设备插件(如声卡、显卡等)的权限

                       users(Users) : 普通用户组, 不具有系统管理权限

                       lpadmin(Local Printer Administration) : 打印机管理用户组, 具有管理打印机的权限

               groups zhang      指定了用户, 查看 zhang 这个指定用户的所属组信息

                       zhang : zhang adm cdrom sudo dip plugdev users lpadmin

                :左边第一个   zhang 指的是用户     当前登录用户的用户名是 zhang

                :右边第二个   zhang 指的是所属组  组名为 zhang 的用户组

               groups root

                       root : root

                               root 用户隶属于 root 组, root 组被赋予了最高的权限, 允许其成员访问系统中的所有资源

2.2 查看所有用户组的信息

               需要找到存放用户组的文件,文件在etc目录下

        使用 cat /etc/group

             

        使用grep zhang /etc/group   只查找zhang 这个字符串


    adm:x:4:syslog,zhang 表示名为adm的组, 组密码是x, 组ID是4, 组成员包括syslog和zhang

        cdrom:x:24:david [表示名为cdrom的组, 组密码是x, 组ID是24, 组成员包括zhang]

        sudo:x:27:david [表示名为sudo的组, 组密码是x, 组ID是27, 组成员包括zhang]

        dip:x:30:david [表示名为dip的组, 组密码是x, 组ID是30, 组成员包括zhang]

        plugdev:x:46:david [表示名为plugdev的组, 组密码是x, 组ID是46, 组成员包括zhang]

        users:x:100:david [表示名为users的组, 组密码是x, 组ID是100, 组成员包括zhang]

        lpadmin:x:118:david [表示名为lpadmin的组, 组密码是x, 组ID是118, 组成员包括zhang]

        david:x:1000: [表示名为zhang的组, 组密码是x, 组ID是1000, 没有其他组成员]


 /etc/group 文件的每行格式是 group_name:x:GID:group members

                       group_name 表示用户组的名称

                       x 表示密码占位符, 密码是存储在/etc/shadow文件中

                       GID 表示组ID(GID), 用于唯一标识用户组

                       group members 表示该用户组的成员, 每个成员用逗号分隔        

        查看用户 zhang 的用户ID和组ID  (不查看zhang的组成员,只需要用户id,组id使用)

               id david

               uid=1000(zhang) gid=1000(zhang)

               组=1000(zhang),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),100(users),118(lpadmin)


3 创建、删除用户组

3.1创建测试环境

创建 xiao 测试用户

        su - root 切换到root用户    ls /home/查看当前有哪些用户,这里只有zhang 用户

        adduser xiao 创建xiao用户    输入两次密码,5下回车跳过  选择y   回车即可完成

创建一个名为 test 的用户组

        groupadd test     回车,即可完成创建

        grep test /etc/group        可以查看test用户组的信息,可以看见目前是没有组成员的

                test:x:1002:

        groups xiao    可以看见xiao是属于   xiao  users 用户组,还不属于test

3.2 添加用户

将 xiao 用户添加到 test 用户组

        usermod -a -G test xiao

        注 [-a:append -G:group]     追加的意思

                -a 表示以追加方式 将用户 xiao 添加到 test 组中, 不影响其原有所属组

        若省略了 -a, 用户 xiao 将从其原有组中删除,再被添加到名为 test 的新组中

                -G                 group  表示组     

                test              表示将用户添加到名为 test 的组中

查看用户 xiao 所属的所有用户组

        groups xiao        可以看见后面加了一个test组

                xiao : xiao users test       

        grep test /etc/group      可以看见test里只有一个xiao成员信息

                test:x:1002:xiao

3.3 删除用户xiao以及用户组test

将用户 xiao 从 test 用户组中删除

        deluser xiao test

        使用grep test /etc/group   可以看到已经没有xiao用户了

 

        当然 是把xiao从test用户组中删除了,但xiao用户还是存在的

删除 test 的用户组

        groupdel test        可以看见grep 已经查询不到test的信息了


六 文件和文件目录权限

1 组管理与权限管理

        在Linux中的每个用户必须属于一个组,不能独立于组外。在Linux中每个文件有所有者、所在组、其他组的概念。

1.1、文件/目录 所有者

        所有者一般为文件的创建者,谁创建了改文件,谁就称为该文件的所有者

1.2.1 查看文件的所有者和权限

ls -ahl  可以查看隐藏文件切换算好文件大小,以长格式形式列出文件,查看的比较全

ls -l  以长格式形式列出文件  

1.3 权限的基本介绍

-rw-rw-r--     0-9说明:

0 位确定文件类型

        - 是普通文件

        l 是链接,相当于 windows 的快捷方式

        d 是目录,相当于 windows 的文件夹

        c 是字符设备文件,鼠标键盘等

        b 是块设备,比如硬盘                                          

                                                           以第一行1.txt.文件这行为例    rw- rw- r--

1-3位确定所有者(该文件的所有者)拥有该文件的权限。 User        rw-

4-6位确定所属组(同用户组的)拥有该文件的权限。 Group                   rw-

第7-9位确定其他用户拥有该文件的权限。 Other                                           r--

1 是文件的硬链接数, 表示该文件有一个硬链接

        在默认情况下, 创建一个文件时, 系统通常会创建一个硬链接

                创建软链接(符号链接) 的命令

        ln -s /home/david/test.txt /home/david/symbolicLink.txt                

                创建硬链接

        ln /home/david/test2.txt /home/david/hardLink.txt

        实现方式:

                硬链接是指向文件索引节点的引用, 类似原始文件的别名,

                硬链接与原始文件共享同一个索引节点,在系统中可以被视为同一个文件.

                软链接是指向另一个文件或目录的路径, 类似Windows的快捷方式,

                软链接有自己的索引节点

        删除原始文件时:

                硬链接仍然存在, 因为它指向的是文件的索引节点

                软链接则会失效, 因为它指向的文件已不存在

第一个zhang   是文件的所有者, 即创建该文件的用户

第二个zhang   是文件的所属组, 即该文件所属的用户组

0   59这些是    是文件的大小,    0就表示该文件目前没有数据

11 月  07:33 是该文件最后一次被修改的日期和时间

1.txt.  创建的文件

(直接放我之前学centos的笔记图片,有点懒得一点点码字了,感觉确实挺费时间的,主要是没办法转换成可编写pdf,弄得挺麻烦的,学习两个小时,一个多小时全在搞笔记了,本末倒置了属于是,这要啥时候能学完,用这个是为了可以复习,直接放笔记图片也可以很好的展示)

1.3.1  rwx权限讲解

2 修改所属组和文件权限

2.1 修改文件权限

        使用 chmod  u=rwx, g=rx,o=rx     和       chmod  751这两种方式都是可以直接进行修改文件权限。 即无论之前是什么权限,直接赋予新的权限,751

        如果在特定情况下,你只需要增加一个权限,就需要使用第一种方式,写清楚是谁,比如u+x

        假如想清空其他组的权限,     chmod o=  1.txt    只需要空格就行

        假如移除所有者和所属组的rw权限,    chmod  ug-rw  1.txt   

        递归地将目录demo及其子目录下的所有文件的权限设置为777 [-R:recursive 递归]

                sudo chmod -R 777 demo

2.2 修改所有者和所属组

2.1、修改文件所有者
  • 查看文件/目录所在组,可以看见text.txt的所有者是root 所属组是root
  • 查看有哪些用户,这里有xiao用户,没有可以创建一个,我们准备更改为xiao为所有者

     

  • 命令:   chown  新用户  文件/目录名,可以看到,所有者是xiao用户

2.2、修改目录所有者
  • 新建一个多级目录,2目录下有1目录

命令: mkdir -p 2/1      ls -l

  • 修改2目录的所有者

命令:chown xiao 2      ls -l       成功修改

  • cd 到2目录可以看到1目录未受到影响

  • 使用chmod -R xiao /root/2/        就可以递归修改2目录下所有目录所有者,注意用绝对路径

2.3、修改文件/目录所在的组
基本指令: charp 组名 文件名
  • 先查看  test.txt   是在root  组

  • chgrp xiao test.txt    修改为xiao组

      

        更改目录的所属组一样的操作,chown命令可以同时修改所有者和所属组

   注

               将目录 2 的所有者更改为 yan 用户,所属组更改为 root 组

               chown yan:root 2


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值