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. 创建支持多种屏幕尺寸的Android应用

    Android涉及各种各样的支持不同屏幕尺寸和密度的设备.对于应用程序,Android系统通过设备和句柄提供了统一的开发环境,大部分工作是校正每一个应用程序的用户界面到它显示的屏上.与此同时,系统提供 ...

  2. 在springmvc中配置jedis:

    主要学习https://github.com/thinkgem/jeesite.一下代码均参考于此并稍作修改. 1.jedis 首先,需要添加jedis: <!--jedis--> < ...

  3. jQuery选择器(一)

    晚上闲着没事,正好用来整理下jQuery的选择器,毕竟没有总结就不算学习嘛. 首先,对事件处理.遍历DOM和Ajax操作,都依赖于选择器. 1.CSS选择器 要使用某个HTML元素,就先要找到它,而c ...

  4. ASP.NET MVC5+EF6搭建三层实例

    一.创建项目解决方案 1.model层.BLL层.Dal层.Common层,都是类库 2.UI层使用MVC5 二.使用EF链接数据库 1.创建实体数据模型 2.选择来自数据库EF设计器 3.创建数据库 ...

  5. IOS 回收键盘通用代码

    感觉IOS的键盘回收好累,所以封装了一个通用一点的方法 -(IBAction)spbResignFirstResponder:(id)sender { // NSLogObj(sender); if ...

  6. IOS编程 图片缓存模块设计

    手机客户端为什么会留存下来?而不是被一味的Wap替代掉?因为手机客户端有Wap无可替代的优势,就是自身较强的计算能力. 手机中不可避免的一环:图片缓存,在软件的整个运行过程中显得尤为重要. 先简单说一 ...

  7. HoverTree系统源码介绍

    HoverTree是一个开源asp.net系统.系统的效果请到:http://hovertree.com体验. 源码描述:一.源码特点采用典型的三层架构进行开发,实现了留言板的功能,后台管理,留言审核 ...

  8. 介绍开源的.net通信框架NetworkComms框架 源码分析(十八 ) ConnectionListenerBase

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是 ...

  9. 基于.Net Framework 4.0 Web API开发(2):ASP.NET Web APIs 参数传递方式详解

    概述:  ASP.NET Web API 的好用使用过的都知道,没有复杂的配置文件,一个简单的ApiController加上需要的Action就能工作.调用API过程中参数的传递是必须的,本节就来谈谈 ...

  10. CXF和spring整合遇到的问题:No bean named 'cxf' is defined

    今天在做ws和spring整合的时候,很不幸的遇到了这个问题,百度了好久,竟然没人遇到这个问题,后来谷歌了一下,都是遇到这个问题的了...在看到一篇文章中提到了cxf.xml,所以我果断的打开这个配置 ...