用户基础
单用户多任务
- 一个用户登录到系统上,执行多个服务任务和进程。
多用户多任务
-
用的可以是不同的(趋同)账号或者超级管理员账号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
-
虚拟用户 傀儡用户
- UID
- Centos 7 1 ~ 999
- Centos 6 1 ~ 499
- 无法直接创建,系统自身拥有,不具有登陆系统的能力。
- UID
常见的用户管理命
-
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 -节点号相同。