《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令
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用户以及权限相关命令的更多相关文章
- 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 ...
- 《The Linux Command Line》 读书笔记02 关于命令的命令
<The Linux Command Line> 读书笔记02 关于命令的命令 命令的四种类型 type type—Indicate how a command name is inter ...
- 《The Linux Command Line》 读书笔记01 基本命令介绍
<The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...
- [笔记]The Linux command line
Notes on The Linux Command Line (by W. E. Shotts Jr.) edited by Gopher 感觉博客园是不是搞了什么CSS在里头--在博客园显示效果挺 ...
- Linux Command Line Basics
Most of this note comes from the Beginning the Linux Command Line, Second Edition by Sander van Vugt ...
- Linux Command Line 解析
Linux Command Line 解析 0 处理模型 Linux kernel的启动包括很多组件的初始化和相关配置,这些配置参数一般是通过command line进行配置的.在进行后续分析之前,先 ...
- 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 ...
- 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( ...
- Reso | The Linux Command Line 的中文版
http://book.haoduoshipin.com/tlcl/book/zh/ 本书是 The Linux Command Line 的中文版, 为大家提供了多种不同的阅读方式. 中英文双语版- ...
随机推荐
- Azure Redis Cache (3) 在Windows 环境下使用Redis Benchmark
<Windows Azure Platform 系列文章目录> 熟悉Redis环境的读者都知道,我们可以在Linux环境里,使用Redis Benchmark,测试Redis的性能. ht ...
- VS2008 C++ 调用MATLAB 2009b 生成的DLL .
转载: 刚开始学习用VC++调用matlab生成的DLL,找了网上一些资料,难以找到vs2008与MATLAB2009b版本的,按照以往版本做的总是有很多错误.经过两天努力,终于调试成功,这里将经验总 ...
- Redis发布订阅实现原理
发布订阅中使用到的命令就只有三个:PUBLISH,SUBSCRIBE,PSUBSCRIBE PUBLISH 用于发布消息 SUBSCRIBE 也叫频道订阅,用于订阅某一特定的频道 PSUBSCRIBE ...
- 利用jstree插件轻松构建树应用
最近完成了项目中的一个树状应用,第一次接触了jstree这个插件,总的来说它的官方文档还是比较详细的,但是在使用过程中还是出现了一些问题,下面我就来谈谈这款插件的使用和心得. 首先项目需要构建一棵树, ...
- 对于 ThreadLocal 的理解和应用
首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的.各 ...
- jQuery Mobile动态刷新页面样式
当我们使用Ajax或者javascript动态在页面上添加元素后,如添加select控件的option元素,添加ul的li元素.添加之后我们会发现,它们显示的样式不是jQuery Mobile的炫酷样 ...
- 利用chardet检测网页编码
环境:Win7_x64 + python3.4.3 需要先下载chardet并进行安装,下载地址:https://pypi.python.org/packages/source/c/chardet/c ...
- iOS 阶段学习第24天笔记(Block的介绍)
iOS学习(OC语言)知识点整理 一.Block 的介绍 1)概念: block 是一种数据类型,类似于C语言中没有名字的函数,可以接收参数,也可以返回值与C函数一样被调用 封装一段代码 可以在任何地 ...
- C# AD(Active Directory)域信息同步,组织单位、用户等信息查询
示例准备 打开上一篇文章配置好的AD域控制器 开始菜单-->管理工具-->Active Directory 用户和计算机 新建组织单位和用户 新建层次关系如下: 知识了解 我们要用C# ...
- 【C#】VS2015开发环境的安装和配置(三)2016-08-03更新
分类:C#.VS2015.WPF.ASP.NET MVC.Android.iOS.Unity3D: 更新日期:2016-08-03 控制台应用程序.WPF应用程序直接创建即可,这里就不再介绍了.下面仅 ...