zoukankan      html  css  js  c++  java
  • 数据仓库_Linux(3)

    1.整理 用户用户组
    2.整理 sudo命令
    3.整理 用户无法登录 passwd文件
    4.权限 rwx------ chmod chown 案例
    5.其他命令 - su find du等

    用户和用户组

    针对用户的相关文件在:/usr/sbin/user*

    [root@aliyun ~]# ll /usr/sbin/user*
    -rwxr-x---. 1 root root 118192 Nov  6  2016 /usr/sbin/useradd
    -rwxr-x---. 1 root root  80360 Nov  6  2016 /usr/sbin/userdel
    -rwxr-x---. 1 root root 113840 Nov  6  2016 /usr/sbin/usermod
    -rwsr-xr-x  1 root root  11296 Apr 13  2017 /usr/sbin/usernetctl

    针对用户组的相关文件在:/usr/sbin/group*

    [root@aliyun ~]# ll /usr/sbin/group*
    -rwxr-x---. 1 root root 65480 Nov  6  2016 /usr/sbin/groupadd
    -rwxr-x---. 1 root root 57016 Nov  6  2016 /usr/sbin/groupdel
    -rwxr-x---. 1 root root 57064 Nov  6  2016 /usr/sbin/groupmems
    -rwxr-x---. 1 root root 76424 Nov  6  2016 /usr/sbin/groupmod

    可以打印出PATH路径,就会发现/user/sbin已经被添加在了PATH环境中了,可以从主机的任意位置使用这些命令

    [root@aliyun ~]# echo $PATH
    /opt/module/jdk1.8.0_144/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

    需求:

      1. 添加hadoop用户

      2. 删除hadoop用户

      3. 重新创建hadoop用户,模拟用户丢失样式,并修正样式

      4. 创建bigdata用户组,并把hadoop用户添加进这个用户组

      5. 修改bigdata为hadoop的主组

    1. 添加hadoop用户

    [root@aliyun ~]# useradd hadoop
    [root@aliyun ~]# id hadoop
    uid=1000(hadoop) gid=1000(hadoop) groups=1000(hadoop)

    2. 删除hadoop用户

    使用命令帮助查看 userdel 命令

    [root@aliyun ~]# userdel --help
    Usage: userdel [options] LOGIN
    
    Options:
      -f, --force                   force some actions that would fail otherwise
                                    e.g. removal of user still logged in
                                    or files, even if not owned by the user
      -h, --help                    display this help message and exit
      -r, --remove                  remove home directory and mail spool
      -R, --root CHROOT_DIR         directory to chroot into
      -Z, --selinux-user            remove any SELinux user mapping for the user

    会发现 -r 选项是删除家目录

    在这里我们选择删除用户的时候不删除家目录

    [root@aliyun ~]# userdel hadoop
    [root@aliyun ~]# id hadoop
    id: hadoop: no such user
    [root@aliyun home]# cat /etc/passwd | grep ruoze
    [root@aliyun home]# cat /etc/group | grep ruoze

    因为hadoop该组只有hadoop用户,当这个用户删除时,组会校验就他自己,会自动删除

    3. 重新创建hadoop用户,模拟用户丢失样式,并修正样式

    3.1 创建hadoop用户

    [root@aliyun ~]# useradd hadoop
    useradd: warning: the home directory already exists.
    Not copying any file from skel directory into it.
    Creating mailbox file: File exists
    [root@aliyun ~]# id hadoop
    uid=1000(hadoop) gid=1000(hadoop) groups=1000(hadoop)

    3.2 模拟用户丢失样式

    [hadoop@aliyun ~]$ ll -a .bash*
    -rw-r--r-- 1 hadoop hadoop  18 Dec  7  2016 .bash_logout
    -rw-r--r-- 1 hadoop hadoop 193 Dec  7  2016 .bash_profile
    -rw-r--r-- 1 hadoop hadoop 231 Dec  7  2016 .bashrc
    [hadoop@aliyun ~]$ rm -rf .bash*

    [root@aliyun ~]# su - hadoop    #切换用户
    Last login: Sun Nov 17 09:29:10 CST 2019 on pts/0
    -bash-4.2$    #用户样式丢失

    3.3 修正样式 (这里只有root权限才可以拷贝)

    [root@aliyun ~]# ll  -a /etc/skel/
    total 20
    drwxr-xr-x.  2 root root 4096 Aug 18  2017 .
    drwxr-xr-x. 81 root root 4096 Nov 17 09:27 ..
    -rw-r--r--   1 root root   18 Dec  7  2016 .bash_logout
    -rw-r--r--   1 root root  193 Dec  7  2016 .bash_profile
    -rw-r--r--   1 root root  231 Dec  7  2016 .bashrc
    

      [root@aliyun ~]# cp /etc/skel/ .bash* /home/hadoop/
      cp: omitting directory ‘/etc/skel/’

    [root@aliyun ~]# su - hadoop  #样式回来了
    Last login: Sun Nov 17 09:33:39 CST 2019 on pts/2
    [hadoop@aliyun ~]$ 

    4. 创建bigdata用户组,并把hadoop用户添加进这个用户组

    [root@aliyun ~]# groupadd bigdata
    [root@aliyun ~]# usermod -a -G bigdata hadoop
    [root@aliyun ~]# id hadoop
    uid=1000(hadoop) gid=1000(hadoop) groups=1000(hadoop),1001(bigdata)

    5. 修改bigdata为hadoop的属组

    查看命令帮助发现有一条命令是改变用户的属组的

    -g, --gid GROUP               force use GROUP as new primary group
    [root@aliyun ~]# usermod -g bigdata hadoop  #强制改变属组
    [root@aliyun ~]# id hadoop
    uid=1000(hadoop) gid=1001(bigdata) groups=1001(bigdata)

    sudo命令

    sudo命令是让普通用户具备root用户的权限

    添加普通用户具备root权限的文件是:/etc/sudoers

     90 ## Allow root to run any commands anywhere 
     91 root    ALL=(ALL)       ALL
     92 hadoop  ALL=(root)      NOPASSWD:ALL  #新添加的内容

    用户无法登录 修改passwd文件

    在模拟用户无法登陆之前,先说明管理用户信息的文件是:/etc/passwd

    [root@aliyun ~]# tail -3  /etc/passwd
    redis:x:996:994:Redis Database Server:/var/lib/redis:/sbin/nologin
    mysqladmin:x:514:101::/usr/local/mysql:/bin/bash
    hadoop:x:1000:1001::/home/hadoop:/bin/bash

    需要注意的是最后一个冒号后面是用户的登陆权限

    需求:

      1. 模拟用户的登录权限是/bin/false,修改,并登录

      2. 模拟用户的登录权限是/sbin/nologin,修改,并登录

    1. 模拟用户的登录权限是/bin/false,修改,并登录

    1.1 模拟用户的登录权限是/bin/false

    [root@aliyun ~]# cat /etc/passwd | grep hadoop
    hadoop:x:1000:1001::/home/hadoop:/bin/false

    1.2 尝试登录

    [root@aliyun ~]# su - hadoop
    Last login: Sun Nov 17 09:37:25 CST 2019 on pts/2
    [root@aliyun ~]#   #登录失败

    1.3 查看用户文件权限,并修改

    [root@aliyun ~]# cat /etc/passwd | grep 'hadoop'
    hadoop:x:1000:1001::/home/hadoop:/bin/bash

    1.4 再次登录

    [root@aliyun ~]# su - hadoop
    Last login: Sun Nov 17 09:56:43 CST 2019 on pts/1
    [hadoop@aliyun ~]$     #登录成功

    2. 模拟用户的登录权限是/sbin/nologin,修改,并登录

    1.1 模拟用户的登录权限是/sbin/nologin

    [root@aliyun ~]# cat /etc/passwd | grep hadoop
    hadoop:x:1000:1001::/home/hadoop:/sbin/nologin

    1.2 尝试登录

    [root@aliyun ~]# su - hadoop
    Last login: Sun Nov 17 09:59:35 CST 2019 on pts/1
    This account is currently not available.
    [root@aliyun ~]#   #登录失败

    1.3 查看用户文件权限,并修改

    [root@aliyun ~]# cat /etc/passwd | grep 'hadoop'
    hadoop:x:1000:1001::/home/hadoop:/bin/bash

    1.4 再次登录

    [root@aliyun ~]# su - hadoop
    Last login: Sun Nov 17 09:56:43 CST 2019 on pts/1
    [hadoop@aliyun ~]$     #登录成功

    rwx------ chmod chown 案例

    查看文件或者目录的读写执行权限

    [root@aliyun ~]# ll test.txt
    -rw-r--r-- 1 root root 12 Nov 12 23:36 test.txt
    r: read  4
    w: write 2 
    x: 执行  1
    -: 没权限 0

     rw-第一组 6 代表文件或文件夹的用户root,读写
     r-- 第二组 4 代表文件或文件夹的用户组root,读
     r-- 第三组 4 代表其他组的所属用户对这个文件或文件夹的权限: 读

    chmod 命令用来修改文件或者目录的读写执行权限,加 -R 表示递归修改

    chown 命令用来修改文件或者目录的属主和属组,加 -R 表示递归修改

    需求:

      1. 修改 test.txt 文件的属组为bigdata

      2. 修改 test.txt 文件的权限为属主读写执行,属组读执行

    1. 修改 test.txt 文件的属组为bigdata

    [root@aliyun ~]# chown -R :bigdata test.txt 
    [root@aliyun ~]# ll test.txt 
    -rw-r--r-- 1 root bigdata 12 Nov 12 23:36 test.txt

    2. 修改 test.txt 文件的权限为属主读写执行,属组读执行,其他可读

    [root@aliyun ~]# chmod -R 754 test.txt 
    [root@aliyun ~]# ll test.txt 
    -rwxr-xr-- 1 root bigdata 12 Nov 12 23:36 test.txt

    注意: -R 参数,目前可认为只有chown和chmod命令有,其他都为 -r

    其他命令 - su find du

    su命令用来切换用户,使用su - 用户名的方式,切换的时候把环境也切换了

    [root@aliyun ~]# su - hadoop  #su - 用户名
    Last login: Sun Nov 17 10:16:08 CST 2019 on pts/2
    [hadoop@aliyun ~]$ pwd
    /home/hadoop
    [root@aliyun ~]# su hadoop  #su 用户名
    [hadoop@aliyun root]$ pwd
    /root

    需要注意 .bash_profile 和 .bashrc 两个文件中的环境生效的区别

    .bash_profile文件 su ruoze不会执行,su - ruoze 都执行
    .bashrc文件       su ruoze执行   ,su - ruoze 都执行

    find命令用来查找文件,在不确定文件名的情况下使用模糊匹配

    [hadoop@aliyun root]$ find /home -name '*hadoop*'
    /home/hadoop

    du命令用来查看文件或者目录大小

    虽然 ls -l 也可以查看文件或者目录的大小,但是 ls -l 显示的目录大小并不准确

    [root@aliyun ~]# ll -h  size.log/
    total 12K
    -rw-r--r-- 1 root root 286K Nov 17 10:24 lastlog

    再使用du -sh 查看一次

    [root@aliyun ~]# du -sh size.log/
    12K    size.log/

    最后进入size.log文件夹查看文件的大小

    [root@aliyun log]# du -sh lastlog
    12K    lastlog
    学习中,博客都是自己学习用的笔记,持续更新改正。。。
  • 相关阅读:
    Stack
    js this理解
    js面向对象
    自执行函数
    原!struts安全漏洞,由2.3.37版本升级至2.5.22
    原!linux机器 配置自动scp脚本
    转!!记一次使用 Arthas 热更新线上代码
    mysql 修改大表字段,报错ERROR 1878 (HY000): Temporary file write failure. 用pt-online-schema-change
    转!!JAVA Future 模式与 Promise 模式
    转!!linux下详解shell中>/dev/null 2>&1
  • 原文地址:https://www.cnblogs.com/Tunan-Ki/p/11875564.html
Copyright © 2011-2022 走看看