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

《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令的更多相关文章

  1. 18 Command Line Tools to Monitor Linux Performance

    By Ravi Saive Under: Linux Commands, Monitoring Tools On: December 26, 2013 http://www.tecmint.com/c ...

  2. 《The Linux Command Line》 读书笔记02 关于命令的命令

    <The Linux Command Line> 读书笔记02 关于命令的命令 命令的四种类型 type type—Indicate how a command name is inter ...

  3. 《The Linux Command Line》 读书笔记01 基本命令介绍

    <The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...

  4. [笔记]The Linux command line

    Notes on The Linux Command Line (by W. E. Shotts Jr.) edited by Gopher 感觉博客园是不是搞了什么CSS在里头--在博客园显示效果挺 ...

  5. Linux Command Line Basics

    Most of this note comes from the Beginning the Linux Command Line, Second Edition by Sander van Vugt ...

  6. Linux Command Line 解析

    Linux Command Line 解析 0 处理模型 Linux kernel的启动包括很多组件的初始化和相关配置,这些配置参数一般是通过command line进行配置的.在进行后续分析之前,先 ...

  7. 15 Examples To Master Linux Command Line History

    When you are using Linux command line frequently, using the history effectively can be a major produ ...

  8. 10 Interesting Linux Command Line Tricks and Tips Worth Knowing

    I passionately enjoy working with commands as they offer more control over a Linux system than GUIs( ...

  9. Reso | The Linux Command Line 的中文版

    http://book.haoduoshipin.com/tlcl/book/zh/ 本书是 The Linux Command Line 的中文版, 为大家提供了多种不同的阅读方式. 中英文双语版- ...

随机推荐

  1. C语言中两位ASCII码可以表示汉字

    最近偶然有人问到这个相关字符编码的问题,所以百度了下参考了这两个资料,进行了简单分析. ******************************************************** ...

  2. msvc2013编译qt5.6源码

    1.回顾 说起到qt的编译,真是领人痛心啊,不仅编译选项繁多,而且编译时间比较久,总是能使想编译qt源码的人望而却步,呵呵...我就是其中一个,不知道从什么时候开始就想着把qt的源码编译一下,也尝试过 ...

  3. 【Android】使用属性动画碰到的困惑及讲解

    属性动画的教程网上已经特别多了,本篇也不打算再去各种详解知识点,主要就是记录题主学习属性动画时的碰到的一些困惑,以及后来自己的理解.如果有人也碰到相似的问题,正好可以一起讨论下. 概要 本篇主要涉及的 ...

  4. c# 指定的存储区提供程序在配置中找不到,或者无效

    <system.data> <DbProviderFactories> <remove invariant="System.Data.SQLite"/ ...

  5. Emit学习(2) - IL - 值类型和引用类型(补)

    上周末回家去享受生活了, 工作是为了更好的生活嘛, 所以我把生活, 工作分的比较开. 这几天不是很忙, 在学习工作技能的同时, 发点博文, 也算是做一个学习笔记 上篇中, 贴出的地址里面那位哥, 也有 ...

  6. C#编程总结(五)多线程带给我们的一些思考

    C#编程总结(五)多线程带给我们的一些思考 如有不妥之处,欢迎批评指正. 1.什么时候使用多线程? 这个问题,对于系统架构师.设计者.程序员,都是首先要面对的一个问题. 在什么时候使用多线程技术? 在 ...

  7. jquery基本选择器标签名选择器

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. css背景图

  9. archive for required library...

    最近把移动硬盘上的一个Android项目复制到笔记本上面,import后项目文件夹始终有一个红色叹号,console里面提示“archive for required library...”,原来是l ...

  10. MVC-自定义HttpModule处理

    HttpModule是向实现类提供模块初始化和处置事件. 当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于 ...