zoukankan      html  css  js  c++  java
  • 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令

     

    Linux用户以及权限相关命令

    查看身份

      id:Display user identity.

      这个命令的输出会显示uid,gid和用户所属的组。

      uid即user ID,这是账户创建时被赋予的。

      gid是primary group ID,是主要的组的id。当然这个用户也可以属于其他更多的组。

      用户账户信息被定义在 /etc/passwd文件中,组信息被定义在/etc/group文件中。

    chmod

      命令名称:chmod

      命令英文原意:change the permissions mode of a file

      命令所在路径:/bin/chmod

      语法:chmod [{ugo}{+-=}{rwx}][文件或目录][mode=421][文件或目录]

      功能描述:改变文件或目录权限。

     

      用户类型:

      u:user,实际上指所有者

      g:group所属组

      o:others其他人

      a:all所有人,即ugo的组合,如果不指定用户类型,默认是all。

      +增加权限,-去掉权限,=直接赋予权限

      r可读,w可写,x可执行。

      具体对文件和文件夹有不同意义,参见:http://www.cnblogs.com/mengdd/p/3557441.html

     

      比如一个叫doc的文件,给所有者加上wx权限:chmod u+wx doc

     

    用数字表示权限

      r-4

      w-2

      x-1

      将每一组的权限数字加起来作为整组的权限,比如:

      rwx是7,r-x是5,r--是4

      那么rwxr-xr--可以表示为754

      比较常用的数字:7 (rwx), 6 (rw-), 5 (r-x), 4 (r--), 0 (---)

    umask命令

      umask命令功能:显示、设置文件的缺省权限。

      umask命令语法:umask [-S]

      -S:以rwx形式显示新建文件或目录的缺省权限。

      执行umask

      显示0022

      第一个0:特殊权限位

      022用户权限位,权限掩码值

      需要用777减去022,得到755,三个数字分别表示ugo(user,group,others)的权限。

      umask –S

      u=rwx,g=rx,o=rx

      Linux权限规则:

      缺省创建的文件不能授予可执行x权限,这点是为了安全着想,文件默认是不能执行的

     

      可以用umask改变默认权限,用umask加上掩码值的形式。

      比如想把权限改为750,要用777减去750,及umask 027命令。

    改变身份Changing Identities

      在Linux中可以用三种方式改变自己当前的身份:

      1.登出,然后用另一个账号登入(…orz…)。

      2.使用su命令。

      3.使用sudo命令。

    su

      su:Run a Shell with Substitute User and Group IDs.

      su [-[l]] [user]

      如果使用了-l选项(经常被简写为-),结果就是一个login shell。

      意思是用户user的环境会被载入,当前的工作路径会被换为这个用户的home路径。如果没有指定用户,默认是superuser

      当执行su –之后,需要输入superuser的密码,输入成功之后,会开启一个新的shell,命令提示符将会变为#(之前是$),并且当前的工作目录变为superuser的home目录(/root),结束后如果要退出,输入exit,就会回到之前的shell。

     

      也可以直接执行一条命令:

      su –c ‘command’

      需要把命令放在引号里,以作区分。

    sudo

      sudo:Execute a Command as Another User.

      sudo和su类似,有一些附加的属性,管理员可以配置sudo,在良好的控制下,让普通用户以不同的身份执行命令。

      一个用户可能被限制在一些特定的命令中,不能执行其他。

      另一个不同就是sudo不要求知道superuser的密码,只需要知道当前用户的密码,输入密码后,完成认证,sudo不会新开一个shell,也不会载入另一个用户的环境,命令也不需要被引号括起来。这种行为可以通过各种选项覆写,可以查看sudo的man page。

      sudo –l可以查看sudo所赋予的权限。

     

    改变所有者和所属组

      改变所有者:chown

      命令英文原意:change file ownership

      语法:chown [用户] [文件或目录]

      功能:改变文件或目录的所有者。

     

      改变所属组:chgrp

      命令英文原意:change file group ownership

      语法:chown [用户组] [文件或目录]

      功能:改变文件或目录的所属组。

     

      chown命令也可以用于改变所属组。

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

     

    更改密码

      passwd [user]

      重置密码时,需要输入旧的密码。

      如果你有superuser的权限,你还可以设置其他用户的密码。

      另一些选项可以设置账户锁定,密码过期等,详细信息可以查看passwd的man page。

    参考资料

      《The Linux Command Line》

      视频教程:LAMP兄弟连李明老师讲Linux

      相关博文:

      ls –l显示文件权限:

      http://www.cnblogs.com/mengdd/p/3557441.html

     

  • 相关阅读:
    『高性能模型』卷积复杂度以及Inception系列
    『高性能模型』轻量级网络梳理
    『计算机视觉』YOLO系列总结
    利用Azure Functions和k8s构建Serverless计算平台
    我如何通过K8S开发认证(CKAD)考试
    对Windows桌面应用程序进行UI自动化测试
    Service Fabric是什么?
    如何把遗留的Java应用托管在Service Fabric中
    如何在本地数据中心安装Service Fabric for Windows集群
    当TFS/VSTS遇上Power BI
  • 原文地址:https://www.cnblogs.com/mengdd/p/3613323.html
Copyright © 2011-2022 走看看