# Linux学习日志(二) 用户

文件管理

文件管理类命令

    ls,
    查看:cat,more,less,tail,head,tac
    复制:cp
    移动:mv
    删除:rm
    创建:touch
    元数据属性:stat
    查看内容类型:file
    文本编辑器:nano,vi

Linux的文件类型

   普通文件:-,f
   目录文件:路径映射d
   链接文件(符号链接):软连接l
   设备文件:
       字符设备:c,一次存取一个字符
       块设备:b
   命名管道:p
        fi,fo
   套接字文件:s

Linux的时间戳

 访问时间:最近一次访问的时间
 修改时间:写数据
 改变时间:元数据改变的时间

ls 使用默认选择当前目录

        -a:显示所有文件,包含隐藏文件
        -A:不现实.和..常见的通用路径
        --color:显示颜色
        -l:长格式显示
            文件类型  权限 硬链接数 属主 属组 最近一次的修改时间 文件名->原始文件
        -d:显示目录自身的属性,通常与-l同时使用
        -r:实现逆序显示
        -R:递归显示
        -i:inode号,index node
        -h:文件大小以人类易读格式显示
   tree
      #cd /etc/yum.repos.d/
      #wget http://172.16.0.1/centos6.5.repo
      #rm CenOS-Base.repo
      #yum -y install tree
      I

名称解析 : name resolving

bash shell的特性之四:命令别名

  clear 清屏
  alias:当前shell中定义的所有别名:
         任何随进程而生的属性,会在进程结束,属性消失
          alias 别名=‘原始命令’
          unalias 别名 取消定义的别名
         在命令前加\使用命令本身,而不是别名

查看纯文本文件

  file FILE..:查看文件内容的格式
  cat:将文本连接起来显示在标准输出上
      控制符 如换行符
      -E --show-ends 显示结束符$
      -e:等于-vE
      -v:显示非打印符
      -n:显示每行按顺序编号
      -s:将多个连续的空白行合并显示一个空白行

 tac:逆序显示文件

分屏显示

     more:只支持向后翻(文件尾部以后)
     less:支持前后翻
     head:
     -n #:显示前多少行
     tail
     -n # 显示后多少行
     -f:

echo命令的用法:

          -e
             \b:删除前面的字符
             \t:制表符
             \v:垂直制表符
             \n:换行符
             \0NNN()
             开始\033[#      #       1
                      3前景色  颜色(1-7)
                 4背景色
              结束\033[0m
            -n:不为显示内容自动换行

文件操作

cp copy

 cp  SRC DEST
   假如SRC是一个文件:
        如果目标是一个文件且目标存在:覆盖
        如果目标文件不存在:创建新文件
        如果目标存在,且是个目录:复杂源至目标目录中,并保持原名
 cp SRC ... DEST
     假如SRC有多个文件:
         如果目标存在,且是一个文件:复制无法进行
          如果目标存在,且是一个目录:复制各文件至目标目录中,并保持原名
          如果目标不存在:复制无法进行
     假如SRC只有一个且是目录:-r
          如果目标是一个文件且目标存在:失败
           如果目标文件不存在:创建新目录
           如果目标存在,且是个目录:复制源目录到目标目录中,并保持原名

cp命令的常用选项:

     -r:递归
     -i:提示,交互
     -f:强制覆盖
     -a: -dr 保留所有的文件信息
     -d:当源为连接文件时,复制链接文件本身,而非指向的源文件
     -p:保持原有属性

mv:

 移动,剪切,与cp相近
 可以直接移动目录,不需要-r选项

rm:

  移除,删除非空目录 rm -rf

touch:用来修改时间戳,创建空文件

   -c:不创建空文件,只修改时间戳
   -t:指定时间戳
   -a:仅修改访问时间
   -m:仅修改修改时间

stat命令:显示文件源数据信息,详细信息

      stat FILE
      -t 指定特定时间

Linux编辑器

行编辑器:sed (使用于脚本)
全屏编辑器:nano,vi,vim

bashshell的特性五:globbing 文件名通配

通配符:

 *:匹配任意长度的任意字符
 ?:匹配任意单个字符
 []:匹配指定字符范围内的任意单个字符,不区分大小写
   [[:upper:]]:大写字母
   [[:lower:]]:小写字母
   [[:alpha:]]:所有字母
   [[:digit:]]:所有数字
   [[:alnum:]]:字母+数字
   [[:space:]]:空格
   [[:punct:]]:标点符号 特殊字符
 [^]:匹配指定字符范围外的任意单个字符
   例如: 非数字[^0-9]

练习

    练习一: 复制/var目录下所有1开头,以一个小写字母结尾,且中间出现一位数字的文件或目录至/tmp下
       cp /var/l*?*[[:lower:]] /tmp

    练习二: 复制/etc/目录下以P开头,中间跟了任意字符,并以d结尾的文件至/tmp/a目录中
        cp -r /etc/p*d /tmp/a

    练习三:复制/etc/目录下以P开头,中间跟了4个任意字符,并以d结尾的文件至/tmp/a目录中,如果a 不存在,先创建出来

       cp -r /etc/p????d /tmp/a

    练习四: 复制/etc/目录下以任意一位数字开头,并以非数字结尾的文件至/tmp/b目录中
        cp -r /etc/[0-9]*[^0-9] /tmp/b

    练习五: 复制/etc/目录下以非字母开头,后面跟了一个字母及其他任何长度字符的文件至/tmp/c目中
   cp -r /etc/[^[:alpha:]][[:alpha:]]* /tmp/c/

用户和权限管理:

1.用户是什么?

     用户:资源获取标识符,资源分配,安全权限模型的核心要素之一
     密码:来实现用户认证的

2.没有用户,能否使用

    能使用

/etc/passwd

加密方法:

   对称加密:如果加密、解密使用相同的密码称之为对称加密
            DES,3DES,AES
   非对称加密:DSA,RSA
   单向加密:雪崩效应,定长输出,不可逆
            MD5:信息摘要  128bit定长输出16个字符
        SHA1:安全的哈希算法 160bit
                CRC32:循环冗余校验码

密码数据库:/etc/shadow

    6 sha512
      1 MD5
      $加密算法$8位盐$乱码
    加密 : openssl passwd -1 -salt 12345678
    输入密码  然后加密成功

组可以理解为一个用户容器,里面装这角色

文件:

     /etc/group
        组名:密码占位符:GID:用户列表(附加组)
     /etc/gshadow 密码

安全上下文:

运行中的进程有其属主和属组:取决于进程的属组和属主

/etc/skel 默认复制文件地址

/etc/defauit/useradd 定义默认家目录、环境配置文件目录等

用户管理命令

创建用户:

useradd UserName
生成的属性信息
/etc/passwd:
用户名:x(密码占位符):UID:GUID(基本组ID):用户备注信息(多个以,隔开):家目录:默认shell
/etc /shells:当前系统的安全shell列表

useradd:adduser

       -u UID:指定UID
       -g GID:指定GID,即用户的基本组,但GID要事先存在
       -G GID:指定用户的额外组,但GID要事先存在
       -d 目录: 指定家目录
       -c 备注:备注
       -s:shell:指定默认shell,应该指定使用/etc/shells文件中出现的shell
       -m:创建用户时,强制给用户创建家目录
       -M:创建用户时,但不创建家目录
       -D: 改变其默认shell
       -r: 创建系统用户 特点:id 1-499 不会为用户创建家目录 默认shell为/sbin/nologin
       id Username :显示用户的id号

userdel:删除用户,默认会保留家目录

  userdel UserName
  -r:一并删除家目录

groupadd GrpName

  -g GID:创建组并为其指定GID

用户类别

管理员:0
普通用户:1-65535
    系统用户:1-499
    登 陆用户:500+

用户组:

   管理员组:
   普通组:

 以用户为视角,组可以分为两类:

      基本组:显示在/etc/passwd中GID字
      段组,为用户的基本组
      额外组:附加组:/etc/group

设定用户密码:passwd

 普通用户:passwd
 管理员:
    改自己密码:passwd
改其他用户密码:passwd UserName
     -l:锁用户 用户密码前加两个!
 -u:解锁

密码安全性策略:足够复杂

   够长、交叉应用数字、大写字母、小写字母和特殊字符中的至少三种
   尽量避免使用易猜测的密码:
   定期更换:

/etc/shadow文件格式:

   登陆名:加密密码:最近一次的密码修改时间(距离1970-1-1的时间):最短使用期限:最长使用期限:警告区间:非活动区间(登陆就要修改密码):账号的过期期限:预留段
   -l: 锁用户

设定组密码:gpasswd GroupName

修改用户的属性定义(chsh):

   chsh:修改默认的shell
   chfn:修改用户注释

usermod:跟useradd命令使用方法类似

        -u UID:
         -g GID:
             -G GID:默认会覆盖原有的附加组,如果要是添加,可以同时使用-a选项
             -c string
         -d new home 默认不会迁移用户的家目录,如果要迁移,同时使用-m选项
         -s SHELL:
         -l New_login_name:修改用户登录名称
         -e 过期期限
         -f 非活动期限
         -L:锁定用户账号
         -U:解锁

如何修改组属性定义:

       groupmod:
             -g GID
             -n New Group 修改用户的属组
       groupdel
       gpasswd

修改账号日期属性:

      chage:修改用户的日期属性
                  -E:距离1970-1-1号的时间天数,过了这个时间,账号不可访问
                  -I: 设置活动天数
                  -m:修改密码最小使用时间
                  -M:修改密码最长使用时间
                  -W:警告时间

查看用户的相关信息:

       id
           -n 显示名称
           -u 显示UID
           -g:显示基本组ID
           -G:显示所有组ID       

       who 显示当前登录用户
       whoami:显示当前终端登录的用户
       su:Swith User
           切换用户
             -l:登陆式切换
             -c:不切换用户,直接执行命令

练习

1.创建一个用户mandriva,其中ID号为2002,基本组为distro(组ID为3003) 附加组为linux

  useradd -u 2002 -g distro =G linux mandriva

2.创建一个用户fedora,其全名为Fedora Community,默认为shell为tcsh

  useradd -c "Fedora Community" -s /bin/tcsh fedora

3.修改mandriva的ID号为4004,基本组为Linux,附加组为distro和fedora

  usermod -u 4004 -g linux -G distro,fedora

4.给fedora加密码,并设定其密码最短使用期限为2天最长为50天

   passwd fedora
   chage -m 2 -M 50 fedora

5.将mandriva的默认shell改为/bin/bash

      usermod -s /bin/bash mandriva
      chsh

答案不唯一

时间: 2024-10-16 18:47:54

# Linux学习日志(二) 用户的相关文章

Linux学习日志1-基本知识

1.冯.诺依曼体系计算机五大组成部件: 1.控制器:控制其他四个部件的运作 2.运算器:负责计算加减乘除 3.存储器:存放运算的数据来源与结果 4.输入设备:接收数据输入存入存储器 5.输出设备:从存储器接收数据输出 2.Linux的起源: 1991年一个芬兰大学生Linus Torvalds参考其老师的教学用操作系统Minix的思想(注意仅仅是思想),自己写了一个操作系统内核,命名为Linux 0.0.1,发布在comp.os.minix新闻组上,正式宣告Linux内核的诞生.从那时起,Lin

linux学习日志

Linux学习日志 基本用户接口模式是shell ,乌班图一般是用 terminal这个终端来输入命令 F11全屏,ctrl+shift+"+" 变大,ctrl+-变小. 命令格式 命令  [参数] [操作对象] cmd    options  opreation cd ~ 回到用户主目录 ls 查看目录下的内容 ./当前目录 ../父目录 ls -l pwd 可以查看当前工作目录 print working directory man 命令名 可以查命令帮助 cd 切换目录 touc

linux学习笔记二:linux文件系统

各大linux的版本都遵循着FHS(Filesystem Hierarchy Standard)文件系统目录标准,是一个树形结构的组织文件.在此简要记录各目录. linux下所有文件都处在/文件下. 树形结构图: /boot:  系统启动相关的文件 主要文件 1.vmliunx:内核    2.initramfs:磁盘映像文件   3.grub(bootloader) /dev:设备文件 块设备:随机访问设备. 字符设备:线性设备,顺序访问.按字符为单位.键盘.鼠标. 设备号:主设备号(majo

Linux学习闲谈(二) ——SVN版本控制拾遗

  Linux学习闲谈(二) --SVN版本控制拾遗 (转载请附上本文链接--linhxx) 一.概念 仓库(repository)是代码总的存放的地方,工作副本(working copy)的每个开发者用于开发的地方.版本控制方法如下图: 两个开发者一起检出,其中一个开发完提交,另一个后提交的,必须先update最新的仓库,否则无法提交.检出后,后者可以提交.该解决方案称为"复制-修改-合并". 但是,对于图片等二进制文件,用加锁-修改-解锁模型更好.因此还要根据实际情况. 二.版本控

Linux学习日志2-vim使用基础

vim是linux操作系统下的一个文本编辑工具,功能非常强大,但刚学习起来比较复杂.vim的所有功能要讲明白得有几百页,在这里只是记录一下vim的一些基本用法. 首先vim打开文件的三种方式: vim +# xxx(#是数字):表示打开xxx文件并将光标定位到指定行. vim -o xx1 xx2 xx3:表示同时打开三个文件,垂直分割显示 vim -O xx1 xx2 xx3:表示同时打开三个文件,水平分割显示 多个文件间跳转:键入ctrl+w后:→向左.←向右.↑向上.↓向下 vim打开文件

Linux学习日志day1——无人值守系统安装DHCP+TFTP+PXE+Kickstar

Linux学习日志day1--无人值守批量系统远程网络安装(DHCP+TFTP+PXE+Kickstar)                                         --作者:江信瀚 服务器环境介绍: 主机名:workstation.example.com 关闭SElinux以及防火墙 虚拟机:VMware(关闭了VMware的DHCP服务) 网卡配置: 静态IP获取! IPV6全部都删除,因为根本用不到 子网IP可以在VMware中设置 8.8.8.8是谷歌的DNS服务器

Linux学习笔记二:Linux的文件处理命令

1.文件处理命令:ls 作用:显示目录文件 语法:ls [选项] [文件或目录] [选项]:-a 显示所有文件,包括隐藏文件   -l 显示详细信息 -d 查看目录属性 [文件或目录]:当省略时默认将当前路径作为参数 实例: · ls 显示当前文件夹下所有文件(不包括隐藏文件)的信息 · ls -l 显示当前文件夹下所有文件(不包括隐藏文件)的详细信息 · ls -ld  显示当前文件夹的详细信息 技巧:要查看文件夹的信息,必须加-d参数:要查看详细参数,必须加-l参数. 2.文件的属性 使用”

linux学习笔记二:硬盘信息查询

在linux管理中,硬盘管理是很重要的一部分.包括阵列,分区,逻辑卷等操作,在对硬盘操作前,需要充分的了解硬盘的信息.常用的硬盘查询有以下几种: 1.df  查看文件系统空间使用情况: linux-lszd-db:~ # dfFilesystem     1K-blocks     Used Available Use% Mounted on/dev/sda6      809262496 37615092 770825244   5% /udev             8076412    

linux学习(二)

4. 文件的打包压缩:Linux下的压缩指令实在是很多,因此产生了众多的压缩文件的后缀名: *.Z     compress程序压缩的档案 *.gz    gzip程序压缩的档案: *.bz2   bzip2程序压缩的档案: *.tar     tar程序打包的数据,并没有压缩过: *.tar.gz  tar程序打包的档案,其中并且经过gzip的压缩 *.tar.bz2  tar程序打包的档案,其中经过bzip2的压缩 gzip,bzip2目前是最流行的压缩程序.但是这些程序只能针对单个文件进行

《Linux学习并不难》用户管理(1):Linux用户账户分类

9.1  <Linux学习并不难>用户管理(1):Linux用户账户分类 用户账户在Linux系统中是分角色的,由于角色不同,每个用户的权限和所能执行的工作任务也不同.在实际的管理中,用户的角色是通过UID(用户ID号)来标识的,每个用户的UID都是不同的. 在Linux系统中有三大类用户,分别是root用户.系统用户和普通用户. 1.root用户 在Linux系统中,root用户UID为0,root用户的权限是最高的,普通用户无法执行的操作,root用户都能完成,所以也被称为超级用户.在Li