《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 的中文版, 为大家提供了多种不同的阅读方式. 中英文双语版- ...
随机推荐
- 创建支持多种屏幕尺寸的Android应用
Android涉及各种各样的支持不同屏幕尺寸和密度的设备.对于应用程序,Android系统通过设备和句柄提供了统一的开发环境,大部分工作是校正每一个应用程序的用户界面到它显示的屏上.与此同时,系统提供 ...
- 在springmvc中配置jedis:
主要学习https://github.com/thinkgem/jeesite.一下代码均参考于此并稍作修改. 1.jedis 首先,需要添加jedis: <!--jedis--> < ...
- jQuery选择器(一)
晚上闲着没事,正好用来整理下jQuery的选择器,毕竟没有总结就不算学习嘛. 首先,对事件处理.遍历DOM和Ajax操作,都依赖于选择器. 1.CSS选择器 要使用某个HTML元素,就先要找到它,而c ...
- ASP.NET MVC5+EF6搭建三层实例
一.创建项目解决方案 1.model层.BLL层.Dal层.Common层,都是类库 2.UI层使用MVC5 二.使用EF链接数据库 1.创建实体数据模型 2.选择来自数据库EF设计器 3.创建数据库 ...
- IOS 回收键盘通用代码
感觉IOS的键盘回收好累,所以封装了一个通用一点的方法 -(IBAction)spbResignFirstResponder:(id)sender { // NSLogObj(sender); if ...
- IOS编程 图片缓存模块设计
手机客户端为什么会留存下来?而不是被一味的Wap替代掉?因为手机客户端有Wap无可替代的优势,就是自身较强的计算能力. 手机中不可避免的一环:图片缓存,在软件的整个运行过程中显得尤为重要. 先简单说一 ...
- HoverTree系统源码介绍
HoverTree是一个开源asp.net系统.系统的效果请到:http://hovertree.com体验. 源码描述:一.源码特点采用典型的三层架构进行开发,实现了留言板的功能,后台管理,留言审核 ...
- 介绍开源的.net通信框架NetworkComms框架 源码分析(十八 ) ConnectionListenerBase
原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 许可是 ...
- 基于.Net Framework 4.0 Web API开发(2):ASP.NET Web APIs 参数传递方式详解
概述: ASP.NET Web API 的好用使用过的都知道,没有复杂的配置文件,一个简单的ApiController加上需要的Action就能工作.调用API过程中参数的传递是必须的,本节就来谈谈 ...
- CXF和spring整合遇到的问题:No bean named 'cxf' is defined
今天在做ws和spring整合的时候,很不幸的遇到了这个问题,百度了好久,竟然没人遇到这个问题,后来谷歌了一下,都是遇到这个问题的了...在看到一篇文章中提到了cxf.xml,所以我果断的打开这个配置 ...