Linux 帮助文档查看及用户权限设置

Linux帮助文档信息及用户权限

获取帮助信息的方法: 
 1
.--help  大多数外部命令获得帮助的常用方式 (外部命令)
      help command:  内部命令 help+内部命令本身  
 2. man command  显示命令的使用手册(分章节的)
     man ls
     man为命令提供的使用手册是分章节的
     1.普通的用户命令
     2.系统调用
     3.库调用
     4.特殊文件
     5.文件格式 对文件的说明
     6.游戏
     7.杂项
     8.管理类命令    系统管理类
     
     man N COMMAND  查看哪一章节
     what is COMMAND  查看手册页  文本文件
     man ls :man 到对应的路径 对应当前文件 压缩出来 PWD以查看命令在显示出来 
 3  info command  讲述命令的背后故事 打过补丁 和 BUG 之类的 MAN的补充信     息使用
 4 /usr/share/doc/ls-1.2.1     帮助文档
 5 官方首页 手册 帮助文档
    http://www.redhat.com/docs
    http://kbase.redhat.com       
 【 whatis 】 用于显示该命令的简单说明
   whatis rm
     (lp)
     (1)   
     man 1 rm               // 进入第一个章节查看 

   帮助信息所包含的模块;
   NAME                     // 名字
   DESCRIPTION         // 描述
   OPTTIOINS              // 选项
   EXAMPLES             // 例如
   FILES                      // 文件
   如何显示上下翻页   空格  往下翻一屏   往上 B
    ENTER   K   
   man man                 // 怎么用man命令
   makewhatis             //  第一次使用时执行这个命令 
         需要调用数据库 命令存在  帮助生成这个命令              
   man -k             在what is 对应数据库中查找       
   man -K            在整个库手册中查找所属信息速度将特别慢
   q  退出
  /Keyword  文件首部到文件首部查找关键词
  ?Keyword 
    n:下一个 
    N:前一个    键切换查看关键词

 【 file 】  判断文件的类型   区别普通文件的所属类型


 版本的信息查看:

    1.查看内核版本信息:

       cat /proc/version

       uname -r

       uname -a

    2.查看Linux 版本    

       cat /etc/issue

       cat /etc/redhat-release 

       rpm -q redhat-release

后两种只对REDHAT有效


 时间管理的命令

      linux: 系统时间,date  硬件时间clock 
      主机刚刚开始试图从硬件中读取时间  以后的时间linux系统时钟和硬件时间就会有偏差      
【 hwclock 】 
  -w, 系统时间是准确的,把硬件时间设定为系统时间一致

  -s, 硬件时间是准确的,把系统时间设定为硬件时间一致

【 date 】命令同时也可以设定为指定时间,指定显示特定时间
  date mmddHHyy.SS
  %: 指定特定字符的一个宏
  "+%H"  时   英文单词对应单词的首字母
  "+%M"  分
  "+%S"  秒 
  中间只要不加%所有字符都会为原来样式显示 
    "y"            11       年(前两位省略)  
    "Y"            2011      年
    "m"            07        月
    "M"            23       分钟 
    "d"            19        日
    "D"         07/19/11    月 天 年      
【 cal 】 日历
     cal 2011  显示2011年的日历
     cal 9 1752   特殊的一个日历 程序设计当时的一个失误
     date "+%" :  1970 1.1  0:0:0  格林尼治天文台开始计时  
 
忘记了语法格式怎么办?
  【 which 】 查看命令所对应的二进制文件位置
  【 type 】 用于查看是外部还是内部命令
内部:内部指shell  自身附带的命令    cd
      所有的内部命令 都没有一个对应的可执行的二进制文件
外部:ls 
   
 文本查看类命令: 纯文本文件
 cat,more,less,tail,head 
 【 cat 】 concatinate, dump
 连接 接多个文件显示出来  从前向后倾屏显示
             -n 显示行号   不在内容
             -e 显示隐藏换行符   $
 【more 】 主要功能 往后翻页     结束时直接退出
 【 less 】 既能往前也能向后翻   man的功能后台是less  man的本质是less 
 【 tail 】 查看文本后多少行
              -N 20
              或-20    默认指定最后10行
 【 head 】查看文本前多少行
                tail -n 22 /var/log/messages  
                -f   查看之后不会退出
   ctrl +c 退出  已经写好的命令不想执行 不想删
  
  【 wc 】 实现查看文本文档中有多少个字符字节
   wc /etc/rc.d/rc.sysinit
               -l 显示一共多少行
               -w 字符
               -c 字节  包括空格
  
 系统上如何实现用户管理
  什么是user,group,permission(权限)
  一个使用者获取使用资源的权限   权限的集合  界定每一个用户能够访问资源          
  User Name:UID      用户唯一标识数字  
  Group Name: GID   group 组,权限的集合            //  任何加入组成员都由有该组的权限
  组密码 让用户临时性的加入组 
  UID, GID
  0-65535 无符号十进制数 
  root: 管理员的ID 用于为零
  id root: 查看ID信息 
  root:0
 系统用户 :1-499   系统用户 服务运行的时候不允许某个用户运行
 普通用户: 500-65534     nobody -1 相当于window的guest账号
  从用户角度看分:
  私有组: 任何用户都必然属于一个组, 系统自动建立一个和用户同名的组 基本组
  公共组: 附加组
  一个用户可同时属于多个组
  安全上下文:secure context
  进程的权限取决于发起进程的用户的权限

  进程:资源分派的单位,一个程序正在执行的副本,以进程为单位划分区域执行

    文件和用户都有权限  访问的是要要求权限匹配才能访问  

     /etc/passwd  用户账号所在目录
     /etc/shadow  用户密码所在目录  
     /etc/group    用户组账号
     /etc/gshadow  用户组密码
     useradd gentoo
     tail -1 /etc/passwd  
     用户名:x:UID:GID(基本组ID):comment(注释,可以为空):home:默认shell
     查看系统中 一共中可用的shell
     cat /etc/shells
         

======================================================================

创建用户和用户组

  【 useradd  】参数:
    -u UID  用户ID 建立用户是系统默认的ID值
    -g GID  添加到组 改组必须是存在的
    -G GROUP,GROUP2 指定用户其他附加组
    -c "COMMENT" 命令
    -d /path/to/home
    -s SHELL
  useradd slackware   
  useradd -G mygrp slackware
  id slackware
  useradd -s /bin/tcsh centOS
  tail -1/etc/passwd 
  【groupadd 】 
    -g GID  添加一个组
    -r  useradd 和 groupadd 的公共选项

    把一个用户添加为系统用户  

    【 userdel 】删除用户
      -r 加-r 连同家目录一起删除
    【 groupdel 】   删除组 
    【 usermod  】修改用户的账号信息
      -u       
      -g
      -a -G  修改用户的附加组   -a atend覆盖
      -c
      -d       修改用户家目录
      -M       -d  
      -l        改变用户的登录名称  在某些场景下有用
      -L      锁定用户账号
      -U      解锁
      -e      过期时间 

   【 groupmod 】  修改组

          -g 改变ID

          -n 改变组名
    【 passwd 】  修改密码
            -l  锁定用户账号
            --stdin  把标注输入改为其他输入
            -n  设定密码最短使用期限

    【 finger 】 显示用户信息

    【 id  】 查看用户ID 

    【 who 】查看以登录用户

-+------------------------------------------------+-

   |               u              g             o                |

   |       — — —   — — —   — — —          |

   |            属主         属组        其他            |

 -+------------------------------------------------+-

   从上面的图表我们可以看出:

   Linux 文件系统的属性一共有 R , W , X 三种 分别为 read,write,execute

   Linux 规定 每三组划分一段 三段分别对应于 属主 ,属组和其他

      权限有两种表示法:数值法 和 字符法

       数值法:用3位二进制表示数值0--7     000--111 

       字符发:U=属主 ,G=属组, O=  其他


   文件默认权限:umask

    [root@linux~]  # umask

    0022

    [root@linux~] # umask -S

    u= rwx, g=rx, o=rx

       a.若用户创建的“文件” 默认“没有可执行(x)权限”, 只有 RW这两权限 ,最大表示为 666 即 :-rw-rw-rw-  

       b.若用户创建的“目录” , 目录是要求能进入的需要x  权限 ,最大表示为 777 即:drwxrwxrwx

   umask 是指:“该默认值需要减掉的权限”

   那么我们创建文件和目录的权限则为:

          创建文件: (-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r-- ;

           创建目录:(drwxrwxrwx) - (d----w--w-) ==> drwxr--r--. 

  例如: 

     [root@linux ~] # umask

     0022

     [root@linux ~] # touch test1

     [root@linux ~] # mkdir test 2

     [root@linux ~] # ll

     -rw-r--r--      1    root    root          0   Aug    13   16:02   test1

     drwxr-xr-x    2    root    root    4096   Aug    15   16:02   test2


   【 chown 】  修改文件属主,属组        

    -R      改变所有的权限   (递归修改)
    --reference
 chown[options]USERNAME file 
 chown USERNAME:GRPNAME file
 chown USERNAME.GRPNAME file
 chown:GRPNAME file
 chown gentoo a.txt   
 chown --reference-a.txt b.txt  以a 为参考 把b 修改成a一样的权限

  【 chmod 】 修改权限
 chmod [options] mode files...  改变权限
 chmod 760 a.txt       
 chmod g-w a.txt       只改变目录本身  不改变其他选项
 chmod +x a.txt
    -R
    -reference=
 -----------------------------------------------------------------------------------------------------
    要限定其他用户访问
    755-->544  
    rwxr-xr-x   r-xr--r--                  
    chmod u-w,go-x
    chmod u=r-x,go=r--        

 ----------------------------------------------------------------------------------------------------

回顾上面的属性做几个练习:

 1.复制/etc/skel目录至/home, 并且重命名为centos

 2.设定此目录及其内部文件或子目录的属主属组为redhat 用户,redhat组

 3.设定此目录及其内部文件子目录的权限为:属组和其它用户没有任何权限

 4.修改redhat用户的家目录为/home/centos

1.cp -r /etc/skel /home/centos
    ll /home/
    ll /home/centos/ -a

2.chown -R redhat:redhat /home/centos/

3.chomd -R go=--- /home/centos/

4.usermod -d /home/centos/ redhat

你可能感兴趣的:(Infrastructure)