二、Linux文件系统和文本编辑器

1、用户和用户组管理

1.1 用户管理常用命令

  • Linux用户分类

    用户的角色是通过UID来识别,用户的UID全局唯一。

    • root用户(超级用户)

      系统唯一,是真实的。该用户可以登录系统,可以操作系统任何文件和命令,拥有最高权限。

    • 虚拟用户

      被称为伪用户或假用户,与真实用户区分开来。这类用户不具有登录系统的能力,却是系统运行不可缺少的用户,如bin、daemon、adm等。

      虚拟用户是系统自身拥有的。

    • 普通真实用户

      该类用户能登录系统,但权限受到限制,由系统管理员自行添加。

  • 用户账号添加命令——useradd或adduser

    • 语法

      useradd [option] [username]
      • option

        选项意义
        -g用于添加用户账号时指定该用户的私有组。如不指定-g参数,useradd命令将自动建立与用户账号同名的组作为该账号的私有组。
        -G用于添加附属组
        -D用于显示或设置useradd命令所使用的默认值
        -d指定用户主目录,如果此目录不存在,则同时使用-m选项来创建主目录
        -m使用者目录若不存在,则自动建立
        -u UID指定用户的用户号,如果同时有-o选线,则可以重复使用其他用户的标识号。
        注意,ID值不能为负值,预设为最小不得小于99而逐次增加。
        0~99传统上保留给系统账号使用。
    • 作用

      • 在/etc/passwd文件中添加一行记录
      • 在/home目录下创建新用户的主目录,并将/etc/skel目录中的文件复制到该目录中
    • 说明

      • 新建的用户暂时无法登录,需要为该用户设置口令后才能登录
      • 用户的UID和GID是useradd自动选取的,即将/etc/passwd文件中的UID加1,将/etc/group文件中的GID加1
      • 使用useradd或adduser命令增加新用户时,系统将为用户创建一个与用户名相同的组,称为私有组
  • 修改用户账号——usermod

    • 语法

      usermod [option] [username]
      • option为useradd命令选项

        选项意义
        -d [directory]修改用户登入时的目录
        -e [days]修改账号的有效期限,days表示天数
        -g [group]修改用户所属的群组
        -l [login_name]变更用户登录时的名称为login_name
        -p [password]修改用户密码
        -s [shell]指定用户登录的shell,如果不设置,则选用系统预设的shell
      • username是需要修改的用户名

    • 作用

      usermod命令可用来修改用户账号的各种属性,包括用户主目录、私有组、登录shell等内容。

    • 说明

      • 使用usermod命令修改用户密码,其显示在文件/etc/shadow中的密码是明密码,应该用passwd命令修改密码
      • usermod不允许改变已登录用户的用户账号名称,当用户修改UID时,也必须确认这个用户没有在电脑上执行任何程序
  • 删除用户账号命令——userdel

    • 语法

      userdel [option] [username]
    • 说明

      • option只有一个可选项-r
      • 如果在userdel后加上-r选项,则在删除用户的同时也一并删除存储在/home目录下的该用户目录和文件
  • 用户口令管理命令——passwd

    • 语法

      passwd [option] [username]
      • [username]为用户名

      • [option]为passwd命令选项

        选项意义
        -l锁定用户口令,即禁止使用该用户账号
        -u口令解锁
        -d关闭使用者的密码确认功能,使用者在登陆时可以不用输入密码,只有具备root用户的使用者才能使用
        -f强迫用户下次登录时修改密码
        -l [login_name]变更用户登录时的名称为login_name
        -s显示指定使用者的密码认证种类,同样只有具备root权限的用户才可使用
    • 说明

      • 凡是在文件/etc/shadow的用户名含“!!”时,该用户账号不可使用,而为加密信息时是可以使用的

1.2 用户组管理常用命令

  • 定义

    用户组是具有相同特征的用户的集合体,用户和用户组的关系是多对多的,一个用户可以属于多个用户组,一个用户组可以包含多个用户。

  • 用户组添加命令——groupadd

    • 作用

      groupadd可指定用户组名称来建立新的用户组

    • 语法

      groupadd [option] [groupname]
      • option为命令选项

        选项意义
        -g GID除非使用-o参数,否则GID值必须是唯一且数值不可为负,预设值以/etc/login.defs为准
        -o GID运行GID不唯一
        -r加入组GID号,且其GID号低于499系统账号
        -f新增一个已经存在的用户组账号,系统会出现错误信息,然后结束
      • groupname是将要创建的用户组名

    • 说明

      • 在调用groupadd命令时不设置GID号,新组的组标识GID是在当前最大组标识的基础上加1
  • 用户组修改命令——groupmod

    • 作用

      groupmod可指定用户组名称来修改新的用户组号或用户组名称

    • 语法

      groupmod [option] [groupname]
      • option为命令选项

        选项意义
        -g GID用户指定新的GID
        -o GID重复使用GID
        -n为群组改名
      • groupname为用户组名

  • 用户组删除命令——groupdel

    • 作用

      groupdel可指定用户组名称来删除已有的用户组

    • 语法

      groupdel [groupname]
    • 说明

      • 删除组时,如果该用户组中包含某些用户,则必须先删除这些用户,然后才能删除该用户组

2、文件和目录操作

  • 文件

    • 定义

      文件是Linux用来存储信息的基本结构,它是存储在某种介质(如磁盘、光盘和磁带等)上的一组信息的集合

  • 说明

    • Linux文件均为无结构的字符流形式
    • 文件名是文件的标识,它由字母、数字、下划线和圆点组成的字符串构成
    • Linux要求文件名的长度限制在255个字符以内
    • 为了便于识别和管理,用户可以把扩展名作为文件名的一部分,文件名与扩展名之间用圆点分开,扩展名对于文件分类有用
  • 目录

    Linux系统以文件目录(树形结构)的方式来组织和管理系统中的所有文件。

    整个文件系统有一个“根”(root),然后在根上分“杈“(directory),任何一个分杈上都可以再分杈,杈上也可以长出”叶子“(file)。

  • 路径

    路径是指从树形目录中的某个目录层次到某个文件的一条道路。

    • 路径的主要构成是目录名称,中间用"/"符号分开。
    • 路径分为相对路径和绝对路径。
  • 文件操作常用命令

    • 文件清单命令:ls
    • 文件复制命令:cp
    • 文件移动命令:mv
    • 文件删除命令:rm
  • 目录操作常用命令

    • 创建目录命令:mkdir
    • 删除目录命令:rmdir
      • rmdir仅仅能删除父目录中只包含空子目录的情况,如果目录中存在文件,无法删除该目录
    • 目录切换命令:cd

3 文件和目录权限管理

  • 说明

    • 文件或目录的访问权限分为只读、只写和可执行三种
    • 有三种不同类型的用户可对文件或目录进行访问:文件所有者、同组用户、其他用户
    • 每一个文件或目录的访问权限都有三组,每组用三位表示
      • 文件属主的读、写和执行权限
      • 与属主同组的用户的读、写和执行权限
      • 系统中其他用户的读、写和执行权限
      • 权限字段r代表只读,w代表写,x代表可执行
  • 更改文件(目录)权限命令——chmod

    • 作用

      chmod命令用于更改文件或目录的访问权限。

    • 语法(两种用法)

      • 一种是包含字母和操作符表达式的文字设定法
      • 一种是包含数字的数字设定法
      chmod [userType] [signal] [type] [filename]
      用户类型[userType]数学符号(signal)文件类型(type)
      u 表示用户(user),即文件或目录的所有者+ 添加某个权限r 可读
      g 表示同组(group),即与文件属主同组的用户- 取消某个全新啊w 可写
      o 表示其他(others)用户= 赋予给定权限并取消其他所有权限x 可执行
      a 表示所有(all)用户,它是系统默认值

      • 数字表示属性的含义

        0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限

  • 更改文件(目录)属主命令——chown

    • 作用

      chown命令可以改变文件或目录的属主

    • 语法

      chown [option] [owner] [filename]
      • option为chown命令选项

      • owner为改变后的用户属主

      • filename为需要改变属主的文件或目录

    • 说明

      • 当用户要改变一个文件的属主时,所使用的用户除了是root用户外,还可以是目标属主的成员
  • 特殊权限命令——SUID和SGID

    有时需要没有被授权的用户完成某项任务

    • SUID

      • 作用

        当一个设置了SUID位的可执行文件被执行时,该文件以所有者的身份运行

      • 说明

        无论谁来执行这个文件,它都拥有文件所有者的特权,可以任意使用该文件拥有者能使用的全部系统资源;

        如果所有者是root,那么执行人就有超级用户的特权了

      • 设置和除去SUID

        chmod u+s [filename]  #设置[filename]的SUID位
        chmod u-x [filename]  #去除[filename]的SUID位
    • SGID

      • 作用

        当一个设置了SGID位的可执行文件被执行时,该文件将具有所属组的特权,任意存取整个组所能使用的系统资源

      • 说明

        若一个目录设置了SGID,则所有被复制到这个目录下的文件,其所属的组都会被重设为和这个目录一样,除非在复制文件时加上-p选项,才能保留原来所属的群组设置

      • 设置和除去SGID

        chmod g+s [filename] #设置[filename]的SGID位
        chmod g-s [filename] #去除[filename]的SGID位
    • 说明

      SUID和SGID占据了ls -l清单中x位相同的空间;

      如果开始设置了可执行权限x位,则其相应的位置用小写的s表示;

      如果没有设置可执行权限x位,则其相应位置表示为大写的S。

  • 查找文件命令——find

    • 作用

      find命令能帮助用户在使用、管理Linux的日常事务时方便地查找出用户所需要的文件

    • 语法

      find [路径] [选项] [操作]
      • 路径

        路径是find命令所查找的目录路径

      • 选项

        选项用于指定查找条件

        选项意义
        name根据文件名查找文件
        perm根据文件权限查找文件
        prune使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略
        user根据文件属主查找文件
        group根据文件所属的用户组查找文件
        mtime -n +n根据文件的更改时间查找文件,-n表示文件更改时间距今在n天之内,+n表示文件更改时间距今在n天前
        nogroup查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在
        nouser查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在
        -newer file1 ! file2查找更改时间比文件file1新但比文件file2旧的文件
        type查找某一类型的文件,type后跟的子选项及其意义如下:
        b:块设备文件
        d:目录
        c:字符设备文件
        p:管道文件
        l:符号链接文件
        f:普通文件
        size n:[c]查找文件长度为n块的文件,带有c时表示文件长度以字节计
        depth在查找文件时,首先查找当前目录中的文件,然后在其子目录中查找
      • 操作

        操作用于指定结果的输出方式

        操作名称意义
        print将匹配的文件输出到标准输出
        exec对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } ;
        注意,{ }和;之间的空格
        ok和-exec的作用相同,只不过以一种更安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行
      • 示例

        # 查找当前目录下文件名以t开头,且文件属主具有读、写、执行权限的文件
        find . -name 't*' -perm 744 -print
        
        # 查找更改时间据今90天内的文件
        find . -mtime -90 -print
        
        # 其他
        find -/etc -type f -name "rc*" -exec ls -l {} \;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值