zoukankan      html  css  js  c++  java
  • 7 权限(重点)

    • id –显示用户身份号
    • chmod –更改文件模式
    • umask –设置默认的文件权限
    • su –以另一个用户的身份来运行 shell
    • sudo –以另一个用户的身份来执行命令
    • chown –更改文件所有者
    • chgrp –更改文件组所有权
    • passwd –更改用户密码

    1.为什么要设置权限?

       因为Unix系统式多用户系统,硬件设备需要多用户共享,一台计算机连接到一个网络,那么远程用户通过ssb(安全shell)可以登录并操纵这台电脑,比如运行图像用户界面应用程序。

    2.超级用户权限:

               安装和更新软件,编辑系统配置文件,访问设备

    一、文件属性——id显示用户身份号

    1.id显示用户身份号

    xiaohui@ubuntu:~$ id
    输出uid=1000(xiaohui) gid=1000(xiaohui) groups=1000(xiaohui),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),128(sambashare)

    此处注意:

    1)不同系统中用户的uid和gid不同,如Fedora 系统从 500 开始进行普通用户帐户的编号,而 Ubuntu 从 1000 开始;

    2)用户账号定义在/etc/passwd文件中,用户组定义在/etc/group文件中,用户密码包含在/etc/shadow文件中,并且用户账户和用户组创建以后,这些文件随着/etc/shadow的变动而改变;

    3)uid是用户ID     gid是用户组

    2.文件属性——读取,写入和执行

        文件和目录的访问权利是根据读访问,写访问和执行访问来定义的,以随便一个文件列表为例

    xiaohui@ubuntu:~$ ls -l foo.txt
    输出-rw-rw-r-- 1 xiaohui xiaohui 0 Aug 18 00:27 foo.txt

      输出结果中前十个字符是文件的属性,第一个字符表明文件类型,后九个字符表明文件模式,也叫文件所有者,和其他人的读、写、执行权限

    1)文件类型

    - 一个普通文件
    d 一个目录
    l 一个字符链接
    c 一个字符设备文件,按照字节流处理数据,比如终端机,调制解调器
    b 一个块设备文件,按照数据块处理数据设备,如硬盘,CD-ROM盘

    2)文件模式

    r 读取
    w 写入
    x 执行

     二、更改文件模式——chmod

        更改文件或目录的模式(权限),可以用chmod命令,注意只有文件所有者或超级用户才能

    1.八进制数字表示法(一个八进制数字代表三个二进制数字)

    Octal Binary File Mode
    0 000 ---
    1 001 --x
    2 010 -w-
    3 011 -wx-
    4 100 r--
    5 101 r-x
    6 110 rw-
    7 111 rwx

       通过3个八进制数字,设置文件所有者,用户组,其他人权限 (文件用户)。。。区别文件属性(文件类型,文件所有者的权限,文件所有者所在组的权限,其他用户的权限)

    设置foo.txt为文件所有者权限为读写权限,而删除用户组和其他人的用户权限
    原来:
    xiaohui@ubuntu:~$ >foo.txt
    xiaohui@ubuntu:~$ ls -l foo.txt
    -rw-rw-r-- 1 xiaohui xiaohui 0 Aug 18 00:47 foo.txt
    更改权限:
    xiaohui@ubuntu:~$ chmod 600 foo.txt
    xiaohui@ubuntu:~$ ls -l foo.txt
    -rw------- 1 xiaohui xiaohui 0 Aug 18 00:47 foo.txt

    2.符号表示法

    1)通过字符“ u”,“ g”,“ o”, and “ a”的组合来指定要影响的对象,不指定时默认为all

    u 文件所有者
    g 用户组
    o 其他人
    a all

    2)执行的操作可能是一个“+”字符,表示加上一个权限,一个“-”,表示删掉一个权限,或者是一个“=”,表示只有指定的权限可用,其它所有的权限被删除

              如:u+x表示为文件所有者添加可执行权限

    符号表示法的优点是,允许你设置文件模式的单个组成部分的属性,而没有影响其他的部分。

    3.借助GUI来设置文件模式

         打开桌面的Files文件,找到创建的文件foo.txt 然后右键properties,然后在peimissions中可以修改文件模式

     三、设置默认权限——umask

     1.umask控制着文件的默认属性 

    xiaohui@ubuntu:~$ > foo.txt
    xiaohui@ubuntu:~$ ls -l foo.txt
    -rw-rw-r-- 1 xiaohui xiaohui 0 Aug 18 01:15 foo.txt
    xiaohui@ubuntu:~$ umask
    0002    一般都是响应这个值

     2.用umask来改变文件权限

                      原理:掩码中出现一个数字1,则删除文件模式中和这个1在相同位置的属性。比如

    xiaohui@ubuntu:~$ rm foo.txt
    xiaohui@ubuntu:~$ umask 0000
    xiaohui@ubuntu:~$ > foo.txt
    xiaohui@ubuntu:~$ ls -l foo.txt
    -rw-rw-rw- 1 xiaohui xiaohui 0 Aug 18 01:41 foo.txt
    xiaohui@ubuntu:~$ rm foo.txt
    xiaohui@ubuntu:~$ umask 0002  掩码值为0002,修改文件模式
    xiaohui@ubuntu:~$ > foo.txt
    xiaohui@ubuntu:~$ ls -l foo.txt
    -rw-rw-r-- 1 xiaohui xiaohui 0 Aug 18 01:42 foo.txt
    original file mode --- rw- rw- rw-
    mask 000 000 000 010
    result --- rw- rwp r--

    四、更改身份

                 一般更改为超级用户,去完成一些超级用户权限的任务:安装和更新软件,编辑系统配置文件,访问设备

    1.su——以其他用户身份和组ID运行一个shell

    格式   su [-[l]] [user]

    • 如果包含-l,那么会为指定用户启动一个需要登陆的shell,这意味着会加载此用户的shell环境,并且工作目录会更改到这个用户的主目录,如果不指定用户,那就假定为超级用户
    • -l可以写成-   例1
    • 使用-c可以只执行单个命令,而不是启动一个新的可交互的shell  
    xiaohui@ubuntu:~$ su -
    Password: 
    root@ubantu:~#       开始超级用户的命令输入,注意此处提示是#
    root@ubantu:~#  exit        返回原来的shell
    xiaohui@ubuntu:~$

    2.sudo——以另一个用户身份执行命令

    sudo与su的区别

           sudo允许一个普通用户以不同身份(通常是超级用户),通过一种非常可靠地方式来执行命令

           sudo不要求超级用户密码;

           sudo不会重启一个shell,也不会加载另一个用户的shell运行环境,命令不必加单引号

    xiaohui@ubuntu:~$ su -c 'ls -l /root/*'
    Password: 
    su: Authentication failure   因为我的密码填错了
    xiaohui@ubuntu:~$ sudo -c ls -l /root/*
    usage: sudo -h | -K | -k | -V
    usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
    usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user]
                [command]
    usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
                prompt] [-u user] [VAR=value] [-i|-s] [<command>]
    usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
                prompt] [-u user] file ...

     五、更改文件所有者和用户组——chown

    格式: chown [owner] [:group] [:group]] file...

    例:

     六、chgrp——更改用户组所有权

    chown只能更改文件所有权,而不是用户组所有权,需要用chgrp完成

     七、更该用户密码

    格式passwd [user]

     

  • 相关阅读:
    Arduino
    DTU
    现代信号处理与应用
    matlab学习记录
    列车准点节能操纵
    泊松过程
    序号生成算法odoo
    操作系统特性
    c语言中的变量
    xml中的四则运算与时间爱格式
  • 原文地址:https://www.cnblogs.com/xiaoxiaohui2015/p/5782047.html
Copyright © 2011-2022 走看看