用户基础

单用户多任务
  • 一个用户登录到系统上,执行多个服务任务和进程。
多用户多任务
  • 用的可以是不同的(趋同)账号或者超级管理员账号root

  • 不同用户所具有的权限也不同

  • 不同的任务工作由不同的维护人员来完成,也可以说是不同的用户。

用户UID和GID
  • UID 身份证号
  • GID 户口本号
ID命令查询用户信息
  • [root@sec ~]# id
    uid=0(root) gid=0(root) groups=0(root)
  • [root@sec ~]# id azkaban
    uid=1000(azkaban) gid=1000(azkaban) groups=1000( azkaban)
Linux系统用户分类
  • 超级用户 皇帝用户

    • UID 0 拥有最高的权限
  • 普通用户 老百姓用户

    • UID
      • Centos 7 大于=1000
      • Centos 6 大于=500~65535
      • 能够登陆系统,但是只能操作自己目录的内容
  • 虚拟用户 傀儡用户

    • UID
      • Centos 7 1 ~ 999
      • Centos 6 1 ~ 499
      • 无法直接创建,系统自身拥有,不具有登陆系统的能力。
常见的用户管理命
  • id 命令 查询用户信息 UID GID

  • su 命令 切换不同用户 su -

  • sudo 命令 普通用户提权

    • /etc/sudoers 查看该用户是否有运行sudo的权限
  • whoami 命令 显示当前用户

  • W 用于显示目前登入系统的用户信息

  • last 用于显示用户最近登录的信息

  • lastlog 用于显示用户的登陆日志可以看见系统中哪些用 户登录过,哪些用户没有登录过

  • passwd 命令 修改用户密码

    • 交互设置密码 echo 123456 l passwd --stdin azkaban
    • 非交互设置密码 passwd azkaban
  • useradd 命令 添加新用户

    • -c
    • -d 目录 指定用户主目录(家目录) 如果指定的用户的主目录(不存在) -m 可以创建录
      【实例】 useradd -d /home/git -m git
    • -g 指定用户所属于的用户组
      • cat /etc/passwd
      • root: x :0:0:root:/root:/bin/bash
      • 用户的信息,冒号分割的7个字段.
      • 用户名 : 密码 : uid : gid : 说明信息 : 目录 : shell环境
      • cat /etc/group
      • cat /etc/shawod
    • -G 指定用户所属于的用户组,指定用户所属于的附加组
    • -s
      • Shell环境 /bin/bash
      • useradd admin -s /bin/sh -g root
    • -u 用户号 默认的Shell环境
  • usermod 修改用户信息

  • userdel命令 删除用户

    • -r 删除用户的时候同时删除主目录
    • userdel -r gitlab
    • cat /etc/shawod 更新信息
    • cat /etc/group 更新信息
    • cat /etc/passwd 更新信息
字符集
  • echo $LANG 查看字符集
  • /etc/locale.conf Centos7 永久修改字符集 source /etc/locale.conf
  • /etc/sysconfig/i18n Centos6 永久修改字符集 source /etc/locale.conf
  • localectl set-locale LANG=en_US.UTF-8
在Linux终端中特殊符号
  • 引号相关

    • ' '单引号 结果显示 '单引号所引的内容'
    • " "双引号 "它会先把 变量进行解析,解析之后输出结果"
    • ``反引号 通常用于把命令输出结果传给变量中
    • \ 反斜杠 转义字符 用在一些命令、变量、路径等 如果输出的时候要配合" "来一起使用
  • 重定向符

    • > 标准输出重定向 先清空文件内容再写入 覆盖的方式写入
    • >> 标准输出追加重定向 追加内容到文件的末尾处 追加的方式写入
    • < 标准输入重定向 用来指引命令从哪里读取数据
    • << 标准追加输入重定向 用来和cat命令配合 向文件追加多行内容
    • 2>&1
      • 标准输出 数字 1
      • 错误输出 数字 2
      • 标准输入 数字 0
      • 同时把错误信息或正确信息都记录到文件中
  • | 管道符

    • 把前一个命令的结果通过管道传递给后面的命令
    • cat a.txt | wc -l
  • #

    • Root用户提示符 #
    • 配置文件注释
  • $

    • 取变量值得时候必须加 $ 符号
    • Linux系统中切换到普通用户 $
  • & 一般脚本里出现的多 & 在后台运行

通配符

  • * 所有
  • ? 匹配任意一个字符。有仅有ー个字符
  • 字符集合
    • [abcd] 匹配 abcd 中任何一个字符,abcd 可以是连续的也可 以不连续的 可以是一 段,可以是多个。Is [ab].txt
    • [a-z] 匹配 a 到 z 之间的任意一个字符,字符前后要连续 ls [a-z].txt
    • [0-9] 匹配数字 0-9 之间的任意一 个字符,字符前后要连续 Is [0-9].txt
    • [!abcd] 表示不匹配括号里面的任意一个字符,
      • 也可以表示 为[!a-d]
      • 这里可以用 表示 [a-d]
      • Is [^a-f].txt

链接

  • 软链接 ln -s

    • 软链接就相当于是目录或文件的一个快捷方式
    • 修改创建软链接时不会影响文件本身
    • 软链接可以针对 文件 也可以是 目录
    • 软链接文件与源文件的 Inode -节点号不相同
  • 硬链接 ln

    • 是文件的另ー个入ロ,另ー个访向方式
    • 修改硬链接的内容会直接修改源文件本身
    • 创建硬链接只能针对文件,不针对目录
    • 硬链接文件与源文件的 Inode -节点号相同。