zoukankan      html  css  js  c++  java
  • Linux

    Linux - 用户管理与文件权限

    现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源。

    普通用户在所分配到的资源内进行各自的操作,相互之间不受影响。但是这些普通用户的权限是有限制的,且用户太多的话,管理就不便,从而引入root用户。

    此用户是唯一的,且拥有系统的所有权限。root用户所在的组称为root组。“组”是具有相似权限的多个用户的集合。

    root用户 : 默认在Unix/linux操作系统中拥有最高的管理权限。可以理解为qq群的群主.

    普通用户: 是管理员或者具备管理权限的用户所创建的,只能读、看,不能增、删、改。

    root为什么叫root?

    在Linux系统中,用户也有自己的UID身份账号且唯一

    系统管理员UID为0

    系统用户UID为1~999 Linux安装的服务程序都会创建独有的用户负责运行。

    普通用户UID从1000开始:由管理员创建用户组

    用户组GID:

    为了方便管理属于同一组的用户,Linux 系统中还引入了用户组的概念。通过使用用 户组号码(GID,Group IDentification),我们可以把多个用户加入到同一个组中,从而方 便为组中的用户统一规划权限或指定任务。

    假设有一个公司中有多个部门,每个部门中又 有很多员工。如果只想让员工访问本部门内的资源,则可以针对部门而非具体的员工来设 置权限。

    例如,可以通过对技术部门设置权限,使得只有技术部门的员工可以访问公司的 数据库信息等。

    [root@s16ds ~]# id   root
    
    uid=0(root) gid=0(root) groups=0(root)
    
    用户的存放文件:
    
    /etc/passwd  
    
    /etc/shadow 存放用户密码的文件
    

    创建普通用户

    #添加用户
    useradd oldboy(用户名) 
    #设置密码       
    passwd oldboy(用户名)
    
    root用户可以修改其他所有人的密码,且不需要验证
    

    切换用户

    su命令可以切换用户身份的需求,
    
    #先看下当前用户(我是谁)
    whoami
    #切换用户
    su - oldboy
    #退出用户登录
    logout
    ctrl + d
    
    su命令中间的-号很重要,意味着完全切换到新的用户,即环境变量信息也变更为新用户的信息
    
    Tip:
    1.超级用户root切换普通用户无需密码,例如“群主”想踢谁就踢谁
    2.普通用户切换root,需要输入密码
    3.普通用户权限较小,只能基本查看信息
    4.$符号是普通用户命令提示符,#是超级管理员的提示符
    

    groupadd命令

    group命令用于创建用户组,为了更加高效的指派系统中各个用户的权限,在工作中常常添加几个用户到一个组里面,这样可以针对一类用户安排权限。
    groupadd it_dep
    

    userdel删除用户

    -f     强制删除用户
    -r    同事删除用户以及家目录
    userdel -r pyyu(用户名)
    

    sudo 命令

    sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

    sudo 【选项】【参数】
    -b:在后台执行指令;
    -h:显示帮助;
    -H:将HOME环境变量设为新身份的HOME环境变量;
    -k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。
    -l:列出目前用户可执行与无法执行的指令;
    -p:改变询问密码的提示符号;
    -s<shell>:执行指定的shell;
    -u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;
    -v:延长密码有效期限5分钟;
    -V :显示版本信息。
    

    sudo命令在什么时候用?

    怎么办?权限不够,这时候需要sudo ls /root 以root身份去运行,chaoge权利小,root总可以了吧!!

    这是由于配置sudo必须编辑/etc/sudoers文件,并且只有root才能修改,咱们可以通过visudo命令直接编辑sudoers文件,使用这个命令还可以检查语法,比直接编辑 vim /etc/sudoers更安全

    visudo 编辑sudoers文件
    
    写入
    ## Allow root to run any commands anywhere
    root    ALL=(ALL)       ALL
    chaoge  ALL=(ALL)       ALL   #允许chaoge在任何地方,执行任何命令
    
    
    此时切换chaoge用户
    #su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
    su - chaoge
    已经可以使用sudo ls /root 命令
    

    文件与目录权限

    Linux权限的目的是(保护账户的资料)

    Linux权限主要依据三种身份来决定:

    • user/owner 文件使用者,文件属于哪个用户
    • group 属组,文件属于哪个组
    • others 既不是user,也不再group,就是other,其他人

    什么是权限?

    在Linux中,每个文件都有所属的所有者,和所有组,并且规定了文件的所有者,所有组以及其他人对文件的,可读,可写,可执行等权限。
    
    对于目录的权限来说,可读是读取目录文件列表,可写是表示在目录内新增,修改,删除文件。可执行表示可以进入目录
    

    Linux权限的解读

    使用一条命令查看权限

    ls -l /var/log/ mysqld.log
    

    解读上图:

    1. 权限,第一个字母为文件类型,后续9个字母,每3个一组,是三种身份的权限

    2. 文件链接数

    3. 文件拥有者-属主

    4. 文件拥有组-属组

    5. 文件大小

    6. 最后一次被修改的时间日期

    7. 文件名
      先来分析一下文件的类型(图中第一个 - 部分 )

       -    一般文件
       d    文件夹
       l    软连接(快捷方式)
       b    块设备,存储媒体文件为主
       c    代表键盘,鼠标等设备
      

    权限部分

    r    read可读,可以用cat等命令查看
    w    write写入,可以编辑或者删除这个文件
    x    executable    可以执行
    

    目录权限

    r    可以对此目录执行ls列出所有文件
    w    可以在这个目录创建文件
    x    可以cd进入这个目录,或者查看详细信息
    

    权限与数字转化

    ls -l /var/log/mysqld.log 
    -rw-r--r-- 1 mysql mysql 6735642 8月  11 14:19 /var/log/mysqld.log
    这个就代表mysqld.log文件属主是mysql,属组是mysql,只有mysql用户可以读取编写这个文件,其他人只能读此文件。
    

    查看用户权限的命令

    id指令查看用户所属群主
    [root@oldboy_python ~ 16:34:52]#id root
    uid=0(root) gid=0(root) 组=0(root)
    

    文件权限

    我们已知三种身份权限(属主-user,属组-group,其他人-others),每种身份都有rwx的三种权限,系统还提供了数字计算权限。

    r    read          4
    w    write        2
    x    execute     1
    

    每种身份最低是0分,最高是r+w+x 7分

    因此三种身份,最高权限是777,最低是000

    -rw-rw-r-- 1 root root 0 8月  11 16:41 pyyu.txt
    因此可知pyyu.txt的权限是
    属主是6 r+w(4+2)
    属组是6 r+w(4+2)
    其他人是4 r(4)
    

    修改权限的命令

    chmod

    chmod [身份]   [参数]   [文件]
        u(user)   +(添加)  
        g(group)   -(减去)
        o(other)  =(赋值)
        a(all)
    

    例如:

    当前权限
    -rw-rw-r-- 1 root root 0 8月  11 16:41 pyyu.txt
    方法1
    减去属主的写权限
    chmod u-w pyyu.txt
    查看权限
    -r--rw-r-- 1 root root 0 8月  11 16:41 pyyu.txt
    
    方法2
    属主添加可读可写可执行权限
    chmod 700 pyyu.txt
    
    属主可读可写可执行
    属组可读可执行
    其他人可读可执行
    chmod 755 pyyu.txt
    

    修改文件名,修改文件更改日期

    mv pyyu.txt chaoge.txt
    #触摸,修改时间
    touch chaoge.txt
    

    修改文件权限属性

    普通用户只能修改自己的文件名,时间与权限(注意)
    因此修改其他用户权限,只能用最nb的root用户

    切换root用户

    [pyyu@oldboy_python root]$ su -

    当前/tmp/pyyu.txt文件以存在,且信息是
    -rw-rw-r-- 1 pyyu pyyu    0 8月  11 16:41 pyyu.txt
    

    修改属主为root -> chown

    [root@oldboy_python /tmp 16:43:12]#chown root pyyu.txt
    

    查看信息

     [root@oldboy_python /tmp 16:43:42]#ll pyyu.txt 
    -rw-rw-r-- 1 root pyyu 0 8月  11 16:41 pyyu.txt
    

    修改属组 -> chgrp

    [root@oldboy_python /tmp 16:43:42]#ll pyyu.txt 
    -rw-rw-r-- 1 root pyyu 0 8月  11 16:41 pyyu.txt
    [root@oldboy_python /tmp 16:44:59]#chgrp root pyyu.txt 
    [root@oldboy_python /tmp 16:45:51]#ll pyyu.txt 
    -rw-rw-r-- 1 root root 0 8月  11 16:41 pyyu.txt
  • 相关阅读:
    VOA 2009/11/02 DEVELOPMENT REPORT In Kenya, a Better Life Through Mobile Money
    2009.11.26教育报道在美留学生数量创历史新高
    Java中如何实现Tree的数据结构算法
    The Python Tutorial
    VOA HEALTH REPORT Debate Over New Guidelines for Breast Cancer Screening
    VOA ECONOMICS REPORT Nearly Half of US Jobs Now Held by Women
    VOA ECONOMICS REPORT Junior Achievement Marks 90 Years of Business Education
    VOA 2009/11/07 IN THE NEWS A Second Term for Karzai; US Jobless Rate at 10.2%
    Ant入门
    Python 与系统管理
  • 原文地址:https://www.cnblogs.com/konghui/p/10503452.html
Copyright © 2011-2022 走看看