单词
truncate
令牌 token
defaults
n. 违约;[计] 默认;预设值(default的复数)
v. 违约;[计] 默认(default的三单形式)
comma-separated 逗号隔开
cat >f1 单行重定向,回车后立即定向
tr命令 trabslate or delete characters 处理文件中的特定符号
tr 'a-z' 'A-Z'
选项
-c (complement) 取字符集的补集
-d (delete) 删除所有属于第一字符集的字符
-s (squeeze-repeats) 把连续重复的字符与单个字符标示
-t truncate-set1 将第一个字符对应字符转化为第二字符集对应的字符
[:alnum:]
[:alpha:]
[]
df | tr -s ' ' ':'
echo abcd | tr 'abcd' 'ABC'
ABCC
echo abcd | tr -t 'abcd' 'ABC'
ABCd
tr -s 'fa'
fjiwj
fjei
fsisss
[root@CentOS6 ~]$tr -s 'fs'
fjiwj
fjei
fsis
echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n'
1 2 3 4
多行重定向heretext
使用“<<终止词”命令从键盘把多行重定向给STDIN
直到终止词才提交,必须为独立的一行且符合开始的终止词
mail -s "hello" 名字 < my hostname is `hostname`(也可以加命令)/$HOSTNAME(也可以加变量)
> a
管道pipe 用| 表示 要求前面一个为标准输出,只能处理标准输出,不能处理标准错误
但是可以通过2>&1或者|&实现
cmd1 | cmd2 cmd1 由标准输出
cmd2 需要标准输入
echo {1..100} | tr ' ' '+' |bc 一样seq -s + 100 | bc
tee 重定向到多个目标
cmd1 | tee [-a] 文件名 | cmd2
把cmd1的STDOUT保存到文件中,作为cmd2的输入
-a 为追加
使用:
保存不同阶段的输出
复杂管道的故障排除
同时查看和记录输出
用户,组和权限
安全3A
资源分配
Authentication :认证
Aurhorization :授权
Accouting|Audition:审计
用户user
令牌token identity 登陆成功时会给一个令牌,以后的操作会触发令牌
linux用户:Username/UID
管理员:root 0
普通用户:1-65535
系统用户 1-499,1-999(CentOS7)
对守护进程获取资源进行权限分配
登陆用户:500+,1000+(CentOS7)
交互式登陆
用户组group
linux组:Groupname/GID
管理组:root ,0
普通组:
系统组:
普通组:
安全上下文
context((运行此程序的用户省份,用户组省份)
运行中的程序:进程process
进程所能够访问资源的权限取决于进程的运行者的身份
id 查看账号信息
组的类别
用户的主要组(primary group)
用户必须属于一个且只有一个主组
组名同用户名,且仅包含一个用户,私有组
附加组supplementary group
一个用户可以输入零个或多个附加组 多个组时累加权限
用户和组的配置文件
linux用户和组的主要配置文件
/etc/passwd 用户及其属性信息(名称 UID 主组ID等)
name
password
UID
GID
GECOS 描述信息
directory 用户家目录
shell shell类型
因为passwd即是命令也是关键字,man 想查看passwd的文件描述格式时,先用whatis查看
章节号 在查看格式
用户家目录在创建用户的时候会从/etc/skel/(新建账号的模板文件夹)中复制文件到其家目录
在/etc/default/useradd 文件可以看到默认使用useradd命令所进行的默认操作
cp -r /etc/skel/.[^.]* /jfeijfo
/etc/group 组及其属性信息
/etc/shadow 用户密码及其相关属性
/etc/gshadow 组密码及其相关属性
cat /etc/shells 可以查看系统支持的shell类型
echo $SHELL 查看当前shell类型
/etc/shadow 中的密码是进行加密的,且加密现在一盘还有一个salt 盐 控制即是密码相同加密
出来的字符依旧不一样,但是如果盐是一样,显示的字符也就一样了
!!为锁定的意思
login name 登录账号
encrypted passwd 密码密文
dare of last password change
minimum passwd age 修改一次后多长时间内可以修改
maximum passed age 必须这么多天之后进行密码的修改=密码到期
passwd warning period 密码到期多少天前提醒
passwd inactivity period 过期之后密码的有效期
account expiration date 账号有效期
更改时间 限定临时用户的时间
/etc/login.defs 可以修改此文件进行修改默认密码相关时间
密码加密
加密 明文——密文
解密 密文——明文
单向加密:哈希算法,原文不同,密文不同
密码的复制性策略 Openssl rand -base64 num num位的随机字符
数字 大小写字母 字符
随机口令
定期更换
group文件
/etc/group
group name
passwd
GID
user list 组成员
将已登录的账户加入到其他组,必须重新登录才能获取最新信息,因为其令牌还是旧的
/etc/gshadow
group name
encrypted passwd 可以建立组口令,其他用户可以临时newgrp切换用户主组
如果本来用户在这个组里,不需要口令,不在的时候要输入口令
administrators 组长 可以多个 逗号隔开
members 组成员
配置文件的操作
用户和组管理命令 便捷getent passwd = cat /etc/passwd
getent passwd xixi 只显示xixi在/etc/passwd中的信息
getent passwd /shadow/gpasswd/gshadow
新建
useradd
-u 指定的UID,建立服务的时候 ,不同服务器需要确定相同的id和名字
-o 不检测UID号是否已存在
-g GID
-c 描述信息 chfs查看 chfn 用户名
-d 指定家目录 useradd -d /data/app3home app3
-s 指定shell类型 程序服务为/sbin/nologin 可用列表在/etc/shells
-r 创建系统用户 默认不创建家目录
-m 强制创建家目录 适用于系统用户与-d 合作
-M 不创建家目录。使用于普通用户
-G 加入辅助组里面 useradd -G aa,bb quan
-N 不创建
Add the "apache" group and user
/usr/sbin/groupadd -g 48 -r apache 2> /dev/null || :
/usr/sbin/useradd -c "Apache" -u 48 -g apache \
-s /sbin/nologin -r -d /usr/share/httpd apache 2> /dev/null || :
默认useradd创建 文件/etc/default/useradd]
显示默认设置和更改
useradd -D=cat /etc/default/useradd
useradd -D -s SHELL
useradd -D -b base_Dir
useradd -D -g GROUP
useradd -G "bin,root" -s /bin/csh -c "Gentoo Distribution" gentoo
echo quan | passwd --stdin 用户名 用于修改多个密码
批量创建用户 newusers passwd格式文件
批量修改用户口令 批量修改用户口令,写在文件里格式为 用户名:密码
cat pd | chpasswd
修改
usermod
-u
-g
-G
保留原来就应该加入-a 追加
附加组归为空 usermod -G "" quan usermod -G quan quan
删除
userdel 用户名
-r 删除家目录,邮箱。工作中一般不用,可能数据有用
查看用户相关信息
id
-u 显示uid
-g 显示gid 主组
-G 显示所属组id 包括主组 附加组
-n 显示名字,和ugG一起使用
用于判断用户是否存在
切换用户
su >switch user eg: su [-] name
su name 非登录式切换 (不会读取目标配置文件,不改变当前工作目录)
su - name 登录式切换 --------------------------切换到家目录
注意:root 切换其他无需密码,用户切换root需要密码
换身份执行命令:
su - name -c 'command' 单引号
执行完会回到原来用户
设置密码
passwd option username
-d 删除指定用户密码
-l 锁定
-u 解锁
-e 强制用户下次登录登录修改密码
-f 强制
-n 指定最短使用期限,这么多天才能改密码
-x 最大使用期限
-w 提前多少天开始警告
-i 非活动期限
--stdin 从标准输入接受用户密码
echo “passed” | passwd --stdin Usetname
创建组
groupadd
-g GID 指明GID号
-r 创建系统组
更改组密码
gpasswd
-a u1 将u1添加到指定的组中
-d u1 将u1从指定组删除
-A u1 u2 设置管理权限的用户列表
newgrp命令:临时切换组
如果用户本不属于此组,则需要组密码
更改和查看组成员
groupmems option action
options:
-g groupname
action:
-a 指定用户加入 add ussername
-d 删除组中的用户 delete username
-p 清除组成员 purge
-l 显示组成员列表 list
groups 查看用户所属组列表