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. jQuery 插件简单模板

    /*! * Copyright yunos.com All rights reserved. * jquery.scrollspy.js * @author v10258@qq.com * @vers ...

  2. Android Permission中英对照

    android.permission.ACCESS_CHECKIN_PROPERTIESAllows read/write access to the "properties" t ...

  3. [New Portal]Windows Azure Virtual Machine (18) Azure Virtual Machine内部IP和外部IP

    <Windows Azure Platform 系列文章目录> 在开始本章内容之前,请读者熟悉以下2篇博文:       [New Portal]Windows Azure Virtual ...

  4. [SDK2.2]Windows Azure Virtual Network (4) 创建Web Server 001并添加至Virtual Network

    <Windows Azure Platform 系列文章目录> 在上一章内容中,笔者已经介绍了以下两个内容: 1.创建Virtual Network,并且设置了IP range 2.创建A ...

  5. CNN 笔记1

  6. C#根据身份证号码,计算生日、年龄、性别

    朋友谈及身份证相关的信息,才了解到原来省份证号码中包含了年龄和性别. 这样在数据库中,就不必单独留字段存放它们了(不过,要根据具体情况来,要是读取频率较高,还是单独列出为好),这样顺带解决了年龄变更的 ...

  7. Redis使用总结(2):Python接口

    安装redis-py sudo pip2 install redis 牛刀小试 redis连接实例是线程安全的,可以直接将redis连接实例设置为一个全局变量直接使用.如果需要另一个Redis实例(o ...

  8. python注释

    初学python 习得注释方法 如下: #我是注释 print("hello") ''' 我是 多行 注释! ''' 其实就是#号和三个单引号(也可以双引号)啦 看下面:这注释其实 ...

  9. 对TabControl的简单优化

    之前由于忙于赶项目进度而忽视了软件的用户体验,界面挺难看,有一天看见组长优化了某个窗体,让人感觉完全不一样,我也不甘示弱,要把我的程序做顺眼一点才行.我的程序是一个以TabControl为主要容器的窗 ...

  10. 【C#】让DataGridView输入中实时更新数据源中的计算列

    本文适用Winform开发,且DataGridView的数据源为DataTable/DataView的情况. 理解前提:熟知DataTable.DataView 求:更好方案 考虑这样一个场景: 某D ...