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. 2015年,从毕业到工作的几点感悟(Android开发新人)

    锄禾日当午,汗滴禾下土.       2015年,从毕业到工作的几点感悟(Android开发): 多用三方类库:(成长经验:尽量不要自己手动实现网络上已经有的优秀开源类库的功能,例如: 网络请求:常见 ...

  2. 【Java基础】通用程序设计

    Num1:for-each循环优先于传统的for循环 java1.5版本发布之前的做法: for(int i=0;i<a.length;i++){ doSomething(a[i]); } ja ...

  3. 在Android中调用WebService

    某些情况下我们可能需要与Mysql或者Oracle数据库进行数据交互,有些朋友的第一反应就是直接在Android中加载驱动然后进行数据的增删改查.我个人不推荐这种做法,一是手机毕竟不是电脑,操作大量数 ...

  4. nth-child和蝉原则实现的奇妙随机效果(译)

    此文翻译自charlotte jackson的<Magic randomisation with nth-child and Cicada Principle> 在做伪装的随机模式时将nt ...

  5. .Net语言 APP开发平台——Smobiler学习日志:仿12306的APP登陆界面

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的”Smobil ...

  6. MVC之前的那点事儿系列(7):WebActivator的实现原理详解

    文章内容 上篇文章,我们分析如何动态注册HttpModule的实现,本篇我们来分析一下通过上篇代码原理实现的WebActivator类库,WebActivator提供了3种功能,允许我们分别在Http ...

  7. 获取PC或移动设备的所有IP地址

    不论是PC还是移动设备,都有可能同时存在几个IP地址(如具有多块网卡),本文介绍怎样获得PC或移动设备的所有IP地址. // 获得所有IP地址 public static void get_ip(){ ...

  8. java一点小的知识点

    1.在dos底下编译运行java文件时,若有包名,需要建立包名对应的文件夹,然后编译的时候写出包名:java.mypack.PackageDemo 2.代码中有包名的时候,自动创建文件夹并编译的方法: ...

  9. 非常不错的Navigation Bar效果

    非常不错的Navigation Bar效果,该源码转载于源码天堂的,大家可以了解一下吧,多视图应用程序中,我们常常使用到自定义UINavigationBar来完成导航条的设置. 源码我就不上传了,大家 ...

  10. 【转】持久化消息队列之MEMCACHEQ

    G MEMCACHEQ AS MESSAGE QUEUE PHP,消息队列,MEMCACHEQ 使用消息队列(MESSAGE QUEUE)可以把某些耗时的工作推后,然后在后台慢慢地去执行,这样就不会让 ...