echo -e "Hello,I am 'whoami',the system version is here,please helcheck ist  thanks! \n'lsb_release'"| mail -s 'help'root


cmd1 |cmd 2

cma1 2>&1 | cmd2

cmd1 | & cmd2


tr 转换和删除字符

tr'a-z' 'A-Z'

abc

ABC

echo abc |tr 'a-z' 'A-Z' | tr 'A-Z' 'a-z'

abc

第一个错误信息后面的管道是使用不了

wKioL1ef8u-y9EtDAAANqZfCy_I228.png-wh_50


-c 取字符集的不补集

-s 把连续所有属于第一字符集的字符

-d 删除  删除所有属于第一字符集的字符

-t 先删除第一个字符集较第二字符集多出的字符


echo abcdef | tr -d 'abc'

def

wKioL1ef8-zQNMD8AAAMafXZSR4650.png-wh_50


echo $[1+2]

wKioL1ef9YLRUEN9AAAJldXtbi0567.png-wh_50

echo $['echo"1 2 3" |tr'' ' '+']



cat a.txt |tr -d '\015'

cat a.txt |tr '/r' >f2.txt

cat a.txt |tr -s '\n'

cat /etc/init.d/functions |-cs '[:alpha:]' '\n'




tee 同时实行

ls |tee /tesrdir/ls.log

Linux 用户,组和用户权限的使用_第1张图片

tee -a 追加


pipe 管道



用户和权限


安全3A

认证 Authentication

授权 Authorization

审计 Accouting|Audition


用户 user

令牌token,dientity

Linux用户: Username/UID

管理员:root,0

普通用户:1-65535

    系统用户:1-499(centos 6), 

    1-999对守护进程获取资源进行权限分配


    登陆用户:500(centos 6)+,1000+


组 group

gid ID

一些用户的集合

管理员组:root,0

普通组:

      系统组:1-499,1-999


      普通组:500+,1000+



Linux 安全上下文     

     运行中的程序:进程

     以进程发起者的身份运行:

           root:/bin/cat

           zczx:/bin/cat  

    进程所能够访问资源的权限取决于进程的运行者的身份


系统识别用户是看ID,不是看用户名字

用户账号,创建的时候必须加入一个组。主要组,primary group 而且只有一个主组。


其他组,辅助组 sencondary group

辅助组可以有多个。可以有可以没有



groups 查询用户所在的组

wKiom1ef9hHCwjmrAAAJuK1q0Yw154.png-wh_50

groups +用户名

id 加用户名字都可以查询

wKioL1ef9huRHVIFAAAUpzg33TE907.png-wh_50

Linux用户和组的主要配置文件:

/etc/passwd:用户及其属性信息(名称,UID,主组ID等)

/etc/group:组及其属性信息

/etc/shadow:用户密码及其相关属性

/etc/gshadow:组密码及其相关属性


pwunconv   将用户显示X的密码加密码显示出来,使用后存储加密的shawd文件会清空

cat /etc/shawd   

pwconv     将用户显示的加密码转回X,将加密码存储回shawd文件中



rpm -i /media/Centos_6.8Final /Packages/finger-0.17-40.e



chash -s /bin/csh 加用户名

修改 shell 类型为csh


getent shadow 用户名

只看某某一用户的属性

wKioL1ef9w7w8GbAAAAwUVJoApg344.png-wh_50

usermod -U 用户名

可以删除没有设置密码的用户禁止登陆的!,默认有两个!,5版本以前可以通过使用2次这个指用户令之后可以直接登陆没有密码。



usermod -L 用户名 增加登陆障碍的!


authconfig --passalgo=sha256 --stdin --update

将用户密码加密方式改成sha256 ,对旧用户的加密方式没影响,之后新建的用户都使用。

单向加密: 哈希算法


openssl rand -base64 10

随机出现10个数字

wKioL1ef97bAzHlAAAAWQ1aIOWU369.png-wh_50

getent gshadow 查看所有的组


gpasswd 组的密码

        -a user:将user添加到指定组中

        -d user:从指定组中移除用户user

        -A user1,user2,....:设置有管理权限的用户列表

Linux 用户,组和用户权限的使用_第2张图片

newgrp命令:临时切换基本组:

           如果用户不属于这个组,需要密码进入


newgrp tom 临时将主组变成ton组

现在很少将组加入密码,这样能使非管理员操作的用户自己加入组


vipw =vi /etc/passwd

修改后会自动检查格式


用户和组管理命令

用户管理命令

useradd

usermod

userdel



useradd

          -g 指明用户所属基本组,可为组名,也可以GID

          -c 用户的注释信息

          -o 不检查UID的唯一性

                           useradd -u 0 -o rooter

          -d 指定路径(不存在)为家目录

          -N 不创建私用组做主组,使用users组做主组

          -r 创建系统用户

          -s 指明用户默认shell程序


useradd -D 

useradd -D -s /sbin/nologin


系统上的家目录和邮箱都不会自动生成


cat /etc/login.defs

能够查看系统默认信息

格式:

hehe:x:2000:2000::/home/hehe:/bin/bash

newusers  user.txt 

vi p.txt

hehe:123456

cat p.txt |chpasswd

密码


cp -r /etc/sk1/.[^.]* /home/hehe

将指定的家目录补齐


usermod

       -u:新的UID

       -g:新基本组

       -G:新的附加组,原来的附加组会被覆盖,若保留原有,则要同时使用-a选项

       -s SHELL:新的默认SHELL

       -c 新的注释信息

       -d 新的家目录不会自动创建,原来家目录中的文件不会同时移动至新的家目录

       -m 可以将家目录数据移动到新家目录

       -l 新的名字

       -L lock指定用户,在/etc/shawdow 密码栏的增加!

       -U unlock指定用户,在/etc/shadow 密码栏的!拿掉

       -e yyyy-mm-dd: 指明用户账号过期日期;

       -f 设定非活动期限



usermod -u 20000 -g wang -G bin,root,tom -s /bin/csh -d /vitestdir/hehedir -m -c"hehe test" -l newhehe -e 2017-08-01 -f 10 hehe


groupmems -l -g root 查看tom组的用户

wKioL1ef-5XBalV-AAALoUvgAGE698.png-wh_50

删除用户

userdel

        -r:删除用户家目录

        


  groupmens -a hehe -g bin  将用户添加到组

            -d              将组里的用户删除


id

  -u:查看用户的UID

  -g:查看组的ID、

  -G:查看用户所有组的组ID

  -n:-nu 查看用户的名字


Linux 用户,组和用户权限的使用_第3张图片

su 

不完全切换,还保留前一用户工作环境,只是把身份切换过去

su +用户名

wKioL1ef_KLD3Cj-AAAJOAsvuqQ852.png-wh_50

su -

完全切换

su - +用户名

切换账号的时候记得退出,exit


su -root -c 'cat /etc/shadow'

临时切换到root中查看文件,查看完自动变回普通用户

wKiom1ef_K-iWvTuAAAOVU8xG8o804.png-wh_50