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. Javascript模板引擎mustache.js详解

    mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用.本文总结它的使用方法和一些使用心得,内容不算很高深 ...

  2. 视图(View)与部分视图(Partial View)之间数据传递

    写ASP.NET MVC程序,我们经常需要把数据从视图(View)传递至部分视图(Partial View) 或者相反. 今天Insus.NET使用 ControllerBase.TempData 进 ...

  3. Mysql日期统计函数简介

    NOW() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 DATE() 提取日期或日期/时间表达式的日期部分 EXTRACT() 返回日期/时间按的单独 ...

  4. ASP.NET Core开发-读取配置文件Configuration

    ASP.NET Core 是如何读取配置文件,今天我们来学习. ASP.NET Core的配置系统已经和之前版本的ASP.NET有所不同了,之前是依赖于System.Configuration和XML ...

  5. Node.js系列之ubuntu环境搭建

    ctrl+alt+t打开终端(命令行) 一.准备Node.js所依赖的包(g++,curl,python等) sudo apt-get install g++ curl libssl-dev apac ...

  6. 【VBS】vbs指定编码保存文本文件(含xml、ini什么的)

    本文还是折腾安装包期间衍生出来的产物. 我那安装包在安装期间有这个动作: - 让用户填写一些信息,待安装完成后把这些信息写入软件安装目录中的指定ini.xml文件中 上文说的是如何用vbs写ini,i ...

  7. iOS阶段学习第15天笔记(NSDate操作)

    iOS学习(OC语言)知识点整理 一.OC关于NSDate类的操作实例代码 //默认直接显示对象,显示的是格林威治时间 //获取当前日期时间的实例方法 NSDate *date1=[[NSDate a ...

  8. html+jquery翻页相册(原创)

    呵呵 今天心情大好,再发一篇最进前端实现的相册模仿功能 这个相册是在一个网站的案例展示页面上实现的,没单独写出来,没时间,重用性也很差,以后有时间了再单独提取出来, 写这个玩意前,我在网上找了一些案例 ...

  9. Intellij Idea上传本地项目到Git

    方法一:选择菜单VCS-Import into Version Control - Share project on Github,填写仓库名和github账户之后,点击"Share&quo ...

  10. String和StringBuffer的区别

    1.选自http://szh-java.iteye.com/blog/1666630 String 1,Stirng是对象不是基本数据类型 2,String是final类,不能被继承.是不可变对象,一 ...