d2-用户和组管理

文件管理:
    cp,mv,rm
cp 
[root@izm5e5qf7n47jhwufk5eo9z ~]# cp --help
         Usage: cp [OPTION]... [-T] SOURCE DEST
         or:  cp [OPTION]... SOURCE... DIRECTORY
         or:  cp [OPTION]... -t DIRECTORY SOURCE...

           Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.


 cp SRC DEST  
         如果复制文件不存在 新建DEST,并将SRC中内容填充至DEST中
如果目录存在
         如果DEST是文件:将SRC中的内容覆盖至DEST
       此时建议cp命令使用-i选项
  如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件




cp SRC... DEST DEST
    src..为多个文件      必须存在且为目录其他情况均为错

cp SRC DEST
     SRC是目录 
要使用 -r递归复制
             如果DEST不存在  :则创建指定目录,后复制S
如果DEST存在:
          如果是文件报错

  是目录:

常用选项
     -i 交互式
 
 
rm
    -f  强制
-r  递归
rm -rf /
 
文本编辑器 nano
          nano a.txt
  全屏编辑器
 
bash的基础特性
    
      1.命令别名(alias)
       2.  alias NAME='VALUE'
               定义别名NAME,其相当于执行命令value
   注意:仅对当前shell进程有效如需要永久有效要定义在配置文件中
           仅对当前用户  ~/.hashhrc
            对所有用户有效:  /etc/bashhrc
           修改后要重新读取配置文件
             source /path/to/config_file    
       撤销别名 unalias
        
      2.文件名通配 glob
      通配符 *,?,[]
   1 *
     长度任意的任意字符
  a*b  
           2 ?
              任意一个字符
              a?b
            3 []匹配范围的任意单个字符
                [0-9] 0-9挑一个
                 [a-z] 不区分大小写
                 [A-Z]  大写
                  ^      匹配指定范围外的任意单个字符  
                [^0-9]   0-9之外任意单个字符
  
练习 
   [root@izm5e5qf7n47jhwufk5eo9z ~]# ls -d /var/l*[0-9]*[[:lower:]]
   
   
   [root@izm5e5qf7n47jhwufk5eo9z ~]# ls -d /tmp/l*[0-9]*[[:lower:]]
/tmp/labc8m

ctrl+a 跳转至命令开始处
ctrl+e 跳转至结尾
ctrl+c 取消
  
  
  4.bash I/O重定向 管道
        打开文件都有一个fd :file descriptor (文件描述符)

I/O重定向  改变标准位置
输出重定向 :COMMMAND>NEW_POS, COMMAND>>NEW_POS
                      覆盖重定向      追加重定向      

set -c  禁止覆盖重定向
2>  覆盖重定向错误输出流
2>> 追加重定向错误输出数据流


[root@izm5e5qf7n47jhwufk5eo9z ~]# tail -100 /etc/rc.d/rc.sysiiiinit > /tmp/sysinit.out 2> /tmp/sysinit.err
[root@izm5e5qf7n47jhwufk5eo9z ~]# cat /tmp/sysinit.err
tail: cannot open 鈥etc/rc.d/rc.sysiiiinit鈥for reading: No such file or directory
[root@izm5e5qf7n47jhwufk5eo9z 
    
         COMMAND > /path/to/file.out 2>&1
  COMMAND >> /path/to/file.out 2>>&1
  
   输入重定向 <
         tr 转换或删除字符
tr   
[root@izm5e5qf7n47jhwufk5eo9z ~]# tr abc ABC
abcdef
ABCdef


输出转化为大写
[root@izm5e5qf7n47jhwufk5eo9z ~]# tr 'a-z' 'A-Z' < /etc/fstab


#
# /ETC/FSTAB
# CREATED BY ANACONDA ON SUN OCT 15 15:19:00 2017
#
# ACCESSIBLE FILESYSTEMS, BY REFERENCE, ARE MAINTAINED UNDER '/DEV/DISK'
# SEE MAN PAGES FSTAB(5), FINDFS(8), MOUNT(8) AND/OR BLKID(8) FOR MORE INFO
#
UUID=EB448ABB-3012-4D8D-BCDE-94434D586A31 /                       EXT4    DEFAULTS        1 1



删除
[root@izm5e5qf7n47jhwufk5eo9z ~]# tr -d aa
aasfsa
sfs


输入大量字符保存到/tmp/test.out 接收EOF字符结束
[root@izm5e5qf7n47jhwufk5eo9z ~]# cat >>/tmp/test.out<> SDFS
> SDFS
> SDFG
> EOF

管道
   COMMAND1| COMMAND2 | COMMAND3|..
   
 [root@izm5e5qf7n47jhwufk5eo9z ~]# echo "$PATH" | tr 'a-z' 'A-Z'
/USR/LOCAL/SBIN:/USR/LOCAL/BIN:/USR/SBIN:/USR/BIN:/ROOT/BIN

[root@izm5e5qf7n47jhwufk5eo9z ~]# echo "$PATH" | tr 'a-z' 'A-Z' | tr -d 'U'

/SR/LOCAL/SBIN:/SR/LOCAL/BIN:/SR/SBIN:/SR/BIN:/ROOT/BIN


tee命令  标准输出并保存一份到指定路径
   [root@izm5e5qf7n47jhwufk5eo9z ~]# tee /tmp/tee.out
1
1
234
234
34
34
^C
[root@izm5e5qf7n47jhwufk5eo9z ~]# cat /tmp/tee.out
1
234
34
练习22222222
1     
[root@izm5e5qf7n47jhwufk5eo9z ~]# head -n 5 /etc/passwd | tr 'a-z' 'A-Z' |tee>/tmp/passwd.out
[root@izm5e5qf7n47jhwufk5eo9z ~]# cat /tmp/passwd.out
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH
BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN
DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN
ADM:X:3:4:ADM:/VAR/ADM:/SBIN/NOLOGIN
LP:X:4:7:LP:/VAR/SPOOL/LPD:/SBIN/NOLOGIN
[root@izm5e5qf7n47jhwufk5eo9z 


2
[root@izm5e5qf7n47jhwufk5eo9z ~]# who | tail -n 3| tr 'a-z' 'A-Z' >/tmp/who.out
[root@izm5e5qf7n47jhwufk5eo9z ~]# cat /tmp/who.out
ROOT     PTS/3        2018-04-13 19:29 (114.227.229.194)
ROOT     PTS/4        2018-04-13 20:13 (114.227.229.194)
ROOT     PTS/5        2018-04-13 20:32 (114.227.229.194)


文本处理工具 wc ,cut,sort,uniq
 wc  
    -l
    -w
-c 




[root@izm5e5qf7n47jhwufk5eo9z ~]# wc /etc/passwd
  25   35      1104 /etc/passwd
  
  行  单词数   字节
  
 [root@izm5e5qf7n47jhwufk5eo9z ~]# ifconfig |  wc -l
16


cut 
   -d 
   
   
   linux 用户权限管理
资源分派
       Authentication:认证
    Authorization 授权
        Accounting:审计
      Audition
linux 用户 Username/UID
管理员:root 0
普通用户:1-65535
系统用户:1-499
守护进程获取资源进行权限分配
登录用户:500+
           交互式登录
 
Linux 组    Groupname/GID
管理员组:root,0
普通组  : 
系统组:1-499
                  普通组:500+
    Linux安全上下文:
         运行中的程序:进程(process)
                以进程发起者的身份运行:
                       root:cat
                       tom:cat
                 进程所能访问的所有资源权限取决于进程的发起者身份
    
    linux组的类别
        用户的基本组(主组)
组名同用户名:且仅包含一个用户私有组
        用户的附加组(额外组)
       
linux 用户和组相关的配置文件
          /ect/passwd 用户及其属性信息(名称 UID 基本组)
          /ect/group  组及其属性
          /etc/shadow  用户密码及其相关属性
          /etc/gshadow  组密码及其相关属性






    /etc/passwd
    user1:x:1001:1001::/home/user1:/bin/bash
name:passwd:UID:GID:GECOS:directory:shell
用户名:密码:UID:GID:GECOS:主目录:默认shell

/etc/group
wheel:x:10:
组名:组密码:GID:以当前组为附加组的用户列表(多个用,分隔)
/etc/shadow
       用户名:加密了的密码:最近一次更改密码的日期:密码的最小使用期限:最大密码使用期限:密码警告时间段:密码禁用期:账号过期日期:保留字段
tom:$6$I3mySRML$v4WDRwje6Q36JbJHjkQegqogDAyxmO4aTqgKBPAB1PDKIEFD6n.7v9iduFgY2FsUP1NtZGa/KIZiMaOHgEvCT0:17634:0:99999:7:::    
    
   
   [root@izm5e5qf7n47jhwufk5eo9z ~]# useradd user2
[root@izm5e5qf7n47jhwufk5eo9z ~]# tail -1 /etc/passwd
user2:x:1004:1004::/home/user2:/bin/bash
[root@izm5e5qf7n47jhwufk5eo9z ~]# tail -1 /etc/group
user2:x:1004:
[root@izm5e5qf7n47jhwufk5eo9z ~]# tail -1 /etc/shadow
user2:!!:17634:0:99999:7:::
[root@izm5e5qf7n47jhwufk5eo9z ~]# 


用户和组相关的管理命令
用户创建:useradd
      useradd 
        -u UID:[UID_MIN-UID_MAX], 定义在/etc/login.defs
-g GID:指明用户所属基本组 可为组名也可为GID
            -c "COMMIT" 注释
                     -d   指定家目录
  -s   指明shell路径
  -G   指明附加组组必须实现存在
-r  创系统组
     CenOS7 id<1000

[root@izm5e5qf7n47jhwufk5eo9z ~]# groupadd mygrp
[root@izm5e5qf7n47jhwufk5eo9z ~]# tail -1 /etc/group
mygrp:x:1005:
[root@izm5e5qf7n47jhwufk5eo9z ~]# useradd -g mygrp user3
[root@izm5e5qf7n47jhwufk5eo9z ~]# tail -1 /etc/passwd
user3:x:1005:1005::/home/user3:/bin/bash

[root@izm5e5qf7n47jhwufk5eo9z ~]# id user3
uid=1005(user3) gid=1005(mygrp) groups=1005(mygrp)

-d
[root@izm5e5qf7n47jhwufk5eo9z ~]# useradd -d /home/ttt  user5
useradd: user 'user5' already exists
[root@izm5e5qf7n47jhwufk5eo9z ~]# useradd -d /home/ttt  userr4
[root@izm5e5qf7n47jhwufk5eo9z ~]# tail -1 /etc/passwd
userr4:x:1008:1008::/home/ttt:/bin/bash
-c
[root@izm5e5qf7n47jhwufk5eo9z ~]# useradd -c "useroooo" user4
[root@izm5e5qf7n47jhwufk5eo9z ~]# tail -1  /etc/passwd
user4:x:1007:1007:useroooo:/home/user4:/bin/bash

-G
[root@izm5e5qf7n47jhwufk5eo9z ~]# useradd -G mygrp user7
[root@izm5e5qf7n47jhwufk5eo9z ~]# id user7
uid=1009(user7) gid=1009(user7) groups=1009(user7),1005(mygrp)


[root@izm5e5qf7n47jhwufk5eo9z ~]# groupadd -g 3000 testgrp
[root@izm5e5qf7n47jhwufk5eo9z ~]# tail -1 /etc/group
testgrp:x:3000:

-r
[root@izm5e5qf7n47jhwufk5eo9z ~]# groupadd -r sql
[root@izm5e5qf7n47jhwufk5eo9z ~]# tail -1 /etc/group
sql:x:995:

查看用户 id信息
-u UID
-g GID
-G Groups
-n  name

[root@izm5e5qf7n47jhwufk5eo9z ~]# id tom
uid=1002(tom) gid=1002(tom) groups=1002(tom)
[root@izm5e5qf7n47jhwufk5eo9z ~]# id -u tom
1002
[root@izm5e5qf7n47jhwufk5eo9z ~]# id -g  tom
1002
[root@izm5e5qf7n47jhwufk5eo9z ~]# id -r tom
id: cannot print only names or real IDs in default format
[root@izm5e5qf7n47jhwufk5eo9z ~]# id -G TOM
id: TOM: no such user
[root@izm5e5qf7n47jhwufk5eo9z ~]# id -G tom
1002

    切换用户或以其他用户身份执行命令:su
      切换用户的方式
        su  username 非登录式切换 不会读取目标用户的配置文件
su   - username  登录式切换 会读取用户的配置文件
root su至其他用户无须密码,非root用户切换时要
 
[root@izm5e5qf7n47jhwufk5eo9z ~]# su tom
[tom@izm5e5qf7n47jhwufk5eo9z root]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[tom@izm5e5qf7n47jhwufk5eo9z root]$ exit
[root@izm5e5qf7n47jhwufk5eo9z ~]# su - user7
[user7@izm5e5qf7n47jhwufk5eo9z ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/user7/.local/bin:/home/user7/bin


加密机制:
   
   
        加密:明文-->密文
单向加密:提取数据指纹
md5:    128bit
sha1     160bit
 
 
用户属性修改 usermod
      -d
  -u UID
  -g GID 
  -G 附加组 原来组会被覆盖 若保留原有则要同时使用-a表示追加
  -s  新的默认shell
  -c  注释
  -d  新家目录  原有家目录中文件不会同时移至新家目录 若要移动同时使用-m
  -l 新登录名

  
  [root@izm5e5qf7n47jhwufk5eo9z ~]# groupadd g1
  [root@izm5e5qf7n47jhwufk5eo9z ~]# groupadd g2
  [root@izm5e5qf7n47jhwufk5eo9z ~]# tail -1 /etc/group
  g2:x:3002:
  [root@izm5e5qf7n47jhwufk5eo9z ~]# usermod -G g2,g1 tom
  [root@izm5e5qf7n47jhwufk5eo9z ~]# id tom
  uid=1002(tom) gid=1002(tom) groups=1002(tom),3001(g1),3002(g2)   
给用户添加密码  passwd
     passwd username: 修改指定用户密码 仅root
passwd 修改自己密码
 
删除用户:userdel
-r:删除用户家目录

修改组   groupmod
          -n group_name :新名字
           -g GID:新的GID
    删除组   groupdel
            groupdel GROUP

组密码:gpasswd
           


-r
[root@izm5e5qf7n47jhwufk5eo9z ~]# ls  /home
blair  jerry  tom  ttt  user1  user2  user3  user4  user7  wwwroot
[root@izm5e5qf7n47jhwufk5eo9z ~]# userdel -r user3
[root@izm5e5qf7n47jhwufk5eo9z ~]# ls /home
blair  jerry  tom  ttt  user1  user2  user4  user7  wwwroot

文件权限
     u   属主 
g   属组
o   其他
 
 
权限  目录
      r
      w
      x
      
     文件  
   r  可使用文件查看类工具获取其内容
       w  可修改其内容
      x    可把此文件提请内核启动为一个进程
 
目录
       r  可以使用ls查看此目录中文件列表
       w  可再次目录中创建文件,也可删除此目录中的文件
       x   可以使用 1s -l 查看此目录中文件列表 可以cd进入此目录
   
   
   --- 000
   --x 001
   
    
   修改文件权限 chmod
               chmod 
-R  递归修改 修改目录权限连文件一起
           
   [root@izm5e5qf7n47jhwufk5eo9z ~]# touch /tmp/aaa.txt
[root@izm5e5qf7n47jhwufk5eo9z ~]# ls /tmp/aaa.txt
/tmp/aaa.txt
[root@izm5e5qf7n47jhwufk5eo9z ~]# ls -l /tmp/aaa.txt
-rw-r--r-- 1 root root 0 Apr 14 14:27 /tmp/aaa.txt
[root@izm5e5qf7n47jhwufk5eo9z ~]# chmod 640 /tmp/aaa.txt
[root@izm5e5qf7n47jhwufk5eo9z ~]# ls -l /tmp/aaa.txt
-rw-r----- 1 root root 0 Apr 14 14:27 /tmp/aaa.txt



[root@izm5e5qf7n47jhwufk5eo9z ~]# chmod u=rwx,g=r /tmp/aaa.txt
[root@izm5e5qf7n47jhwufk5eo9z ~]# ls -l /tmp/aaa.txt
-rwxr----- 1 root root 0 Apr 14 14:27 /tmp/aaa.txt

修改文件属主 chown
      cchown [OPTION]... [OWNER][:[GROUP]] FILE...
  -R  递归修改
  
  
       [root@izm5e5qf7n47jhwufk5eo9z ~]# chown tom:tom /tmp/aaa.txt
   [root@izm5e5qf7n47jhwufk5eo9z ~]# ls -l /tmp/aaa.txt
    -rwxr----- 1 tom tom 0 Apr 14 14:27 /tmp/aaa.txt 

修改文件属组 chgrp
     Usage: chgrp [OPTION]... GROUP FILE...
  or:  chgrp [OPTION]... --reference=RFILE FILE...

你可能感兴趣的:(linux学习)