《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 的中文版, 为大家提供了多种不同的阅读方式. 中英文双语版- ...
随机推荐
- 2015年,从毕业到工作的几点感悟(Android开发新人)
锄禾日当午,汗滴禾下土. 2015年,从毕业到工作的几点感悟(Android开发): 多用三方类库:(成长经验:尽量不要自己手动实现网络上已经有的优秀开源类库的功能,例如: 网络请求:常见 ...
- 【Java基础】通用程序设计
Num1:for-each循环优先于传统的for循环 java1.5版本发布之前的做法: for(int i=0;i<a.length;i++){ doSomething(a[i]); } ja ...
- 在Android中调用WebService
某些情况下我们可能需要与Mysql或者Oracle数据库进行数据交互,有些朋友的第一反应就是直接在Android中加载驱动然后进行数据的增删改查.我个人不推荐这种做法,一是手机毕竟不是电脑,操作大量数 ...
- nth-child和蝉原则实现的奇妙随机效果(译)
此文翻译自charlotte jackson的<Magic randomisation with nth-child and Cicada Principle> 在做伪装的随机模式时将nt ...
- .Net语言 APP开发平台——Smobiler学习日志:仿12306的APP登陆界面
最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的”Smobil ...
- MVC之前的那点事儿系列(7):WebActivator的实现原理详解
文章内容 上篇文章,我们分析如何动态注册HttpModule的实现,本篇我们来分析一下通过上篇代码原理实现的WebActivator类库,WebActivator提供了3种功能,允许我们分别在Http ...
- 获取PC或移动设备的所有IP地址
不论是PC还是移动设备,都有可能同时存在几个IP地址(如具有多块网卡),本文介绍怎样获得PC或移动设备的所有IP地址. // 获得所有IP地址 public static void get_ip(){ ...
- java一点小的知识点
1.在dos底下编译运行java文件时,若有包名,需要建立包名对应的文件夹,然后编译的时候写出包名:java.mypack.PackageDemo 2.代码中有包名的时候,自动创建文件夹并编译的方法: ...
- 非常不错的Navigation Bar效果
非常不错的Navigation Bar效果,该源码转载于源码天堂的,大家可以了解一下吧,多视图应用程序中,我们常常使用到自定义UINavigationBar来完成导航条的设置. 源码我就不上传了,大家 ...
- 【转】持久化消息队列之MEMCACHEQ
G MEMCACHEQ AS MESSAGE QUEUE PHP,消息队列,MEMCACHEQ 使用消息队列(MESSAGE QUEUE)可以把某些耗时的工作推后,然后在后台慢慢地去执行,这样就不会让 ...