在第一讲中我们提到,linux是一种多任务、多用户的操作系统,在讲ls -l命令行我们看到如下文件详细信息:
root@ubuntu:/home/xtwy# ls -l total 48 drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Desktop drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Documents drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Downloads -rw-r--r-- 1 xtwy xtwy 179 2015-08-20 21:53 examples.desktop -rw-r--r-- 1 root root 30 2015-08-22 17:28 hello1.txt -rw-r--r-- 1 root root 48 2015-08-22 17:29 hello.txt drwxr-xr-x 3 root root 4096 2015-08-22 16:51 literature drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Music drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Pictures drwxr-xr-x 3 xtwy xtwy 4096 2015-08-22 15:52 Public drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Templates drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Videos这其中便涉及到用户和组的权限问题,在讲这部分内容之前呢,先来理解一下用户和组的概念
在Linux中,用户是能够获取系统资源的权限的集合,组是权限的容器。
部分内容来源于:http://www.2cto.com/os/201404/293172.html
用户类型描述管理员 root具有使用系统所有权限的用户,其UID 为0普通用户即一般用户,其使用系统的权限受限,其UID为500-60000之间.系统用户保障系统运行的用户,一般不提供密码登录系统,其UID为1-499之间与Linux用户信息相关的文件有两个,分别是/etc/passwd, /etc/shadow /etc/passwd文件内容如下:
root@ubuntu:/home/xtwy# more /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:2:2:bin:/bin:/bin/sh ........................ xtwy:x:1000:1000:Ubuntu-10.04,,,:/home/xtwy:/bin/bash/etc/passwd文件内容格式为:
account:password:UID:GID:GECOS:diretory:shellaccount: 用户名或帐号 password :用户密码占位符 UID:用户的ID号 GID:用户所在组的ID号 GECOS:用户的详细信息(如姓名,年龄,电话等) diretory:用户所的主目录 shell:用户所在的编程环境
/etc/shadow文件内容格式为:
root:$1$.TZS2yur$uQ3.5XLbdEhLkak9HKqZx/:16042:0:99999:7:空白:空白:空白 1 2 3 4 5 6 7 8 9 | | | | | | | | |--保留字段,目前为空 | | | | | | | |--用户过期日期(单位/天),此字段指定了用户作废的天数(从1970年的1月1日至今天数) | | | | | | |--在口令过期之后多少天禁用此用户 | | | | | |--提前多少天警告用户口令将过期 | | | | |--两次修改口令间隔最多的天数 | | | |--两次修改口令间隔最少的天数 | | |--上次修改密码的时间(单位/天),自1970年01月01日至今天数 | |--用户密码(对应/etc/passwd文件内的密码占位符),如果密码添加“!!”表示禁用该用户 |--用户名(对应/etc/passwd文件内的用户名) 注:其中字段4、5、6、7、8的值为空时,账号可永久使用前面我提到,组是权限的容器,如普通用户 user1,user2, user3所属组group,则它们会继承组group的权限,与group相关的文件包括/etc/group /etc/gshadow
下面给出的是/etc/group文件内容及格式含义
root:x:0:root | | | |--额外组(可以多个用“,”隔开) | | |--组ID(GID) | |--组密码占位符 |--组名下面给出的是/etc/gshadow文件内容及格式含义
root:空白:空白:root | | | |--以逗号分隔的小组成员 | | |--以逗号分隔的组管理员 | |--加密的密码 |--组名Linux中的用户管理主要涉及到用户账号的添加、删除和修改。所有操作都影响/etc/passwd中的文件内容
注销用户,重新到登录界面时,便会出现john用户的登录选项
删除用户时,用户不能处于登录状态:
userdel [options]username options 1.-r :连同主目录一起删除 使用示例: root@ubuntu:/home/xtwy# userdel -r john root@ubuntu:/home/xtwy# cd .. root@ubuntu:/home# ls前面我们知道,组是权限的集合。在linux系统中,每个用户都有一个用户组,没有指定时都默认为私有组,私有组名同用户名一致,建立用户组的好处是系统能对一个用户组中的所有用户的操作权限进行集中管理。组管理涉及组的添加、删除和修改。组的增加、删除和修改实际上就对/etc/group文件的更新。
在本节第一节,我们提到ls -l命令显示的文件或目录详细信息具有如下格式
root@ubuntu:/home/xtwy# ls -l total 48 drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Desktop drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Documents drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Downloads -rw-r--r-- 1 xtwy xtwy 179 2015-08-20 21:53 examples.desktop -rw-r--r-- 1 root root 30 2015-08-22 17:28 hello1.txt -rw-r--r-- 1 root root 48 2015-08-22 17:29 hello.txt drwxr-xr-x 3 root root 4096 2015-08-22 16:51 literature现在我们对ls -l显示的内容进行分解,首先来看前半部分 首先是文件类型,-表示文本文件,d表示目录,除此之外还有下列几种文件(不常见):
codeFile Type-Standard filedStandard directorylSymbolic link (a shortcut to another file)sSocket (a file designed to send and receive data over a network)cCharacter device (a hardware device driver, usually found in /dev)bBlock device (a hardware device driver, usually found in /dev)后面紧跟着的是用户权限、组权限及其它权限,其中r表示读权限,w表示写权限,x表示可执行权限,
再后面的数字表示的是链接数,这个放到下一节中介绍 紧接着是文件或目录的所属者,所属用户组,文件大小(字节数),文件最后访问时间,文件名。
下面具体说明:
//hello1.txt是一个普通文件 //root用户具有读写权限,但不能执行 //用户组root具有读权限,无写和执行权限 //其它用户只有读权限,无写和执行权限 -rw-r--r-- 1 root root 30 2015-08-22 17:28 hello1.txt //下面的代码演示了前面的内容 xtwy@ubuntu:~$ ls Desktop Downloads hello1.txt literature Pictures Templates Documents examples.desktop hello.txt Music Public Videos xtwy@ubuntu:~$ more hello1.txt hello linux hello linux linux xtwy@ubuntu:~$ echo "test permission" >> hello1.txt bash: hello1.txt: Permission denied //Desktop是一个目录 //用户xtwy具有读写和执行权限,这里面的执行权限x表示可以访问目录 //用用组xtwy具有读和执行权限,无写权限 //其它用户具有读和执行权限,无写权限 drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Desktop1 增加权限
//chmod命令,a表示所有,包括用户、组及其它用户都有增加写权限 root@ubuntu:/home/xtwy# chmod a+w hello1.txt root@ubuntu:/home/xtwy# ls -l total 48 drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Desktop drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Documents drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Downloads -rw-r--r-- 1 xtwy xtwy 179 2015-08-20 21:53 examples.desktop -rw-rw-rw- 1 root root 30 2015-08-22 17:28 hello1.txt -rw-r--r-- 1 root root 48 2015-08-22 17:29 hello.txt drwxr-xr-x 3 root root 4096 2015-08-22 16:51 literature drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Music drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Pictures drwxr-xr-x 3 xtwy xtwy 4096 2015-08-22 15:52 Public drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Templates drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Videos2 减小权限
//减小权限,用减号表示 root@ubuntu:/home/xtwy# chmod a-w hello1.txt root@ubuntu:/home/xtwy# ls -l total 48 drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Desktop drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Documents drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Downloads -rw-r--r-- 1 xtwy xtwy 179 2015-08-20 21:53 examples.desktop -r--r--r-- 1 root root 30 2015-08-22 17:28 hello1.txt -rw-r--r-- 1 root root 48 2015-08-22 17:29 hello.txt drwxr-xr-x 3 root root 4096 2015-08-22 16:51 literature drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Music drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Pictures drwxr-xr-x 3 xtwy xtwy 4096 2015-08-22 15:52 Public drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Templates drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Videos3 给当前用户增加权限
//不加all表示作用于当前用户 root@ubuntu:/home/xtwy# chmod +w hello1.txt root@ubuntu:/home/xtwy# ls -l total 48 drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Desktop drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Documents drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Downloads -rw-r--r-- 1 xtwy xtwy 179 2015-08-20 21:53 examples.desktop -rw-r--r-- 1 root root 30 2015-08-22 17:28 hello1.txt -rw-r--r-- 1 root root 48 2015-08-22 17:29 hello.txt drwxr-xr-x 3 root root 4096 2015-08-22 16:51 literature drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Music drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Pictures drwxr-xr-x 3 xtwy xtwy 4096 2015-08-22 15:52 Public drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Templates drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Videos4 灵活设置权限,采用数字方式
读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1
//用户具有读写权限 //用户组和其它用户具有执行权限,无读写权限 root@ubuntu:/home/xtwy# chmod 611 hello1.txt root@ubuntu:/home/xtwy# ls -l total 48 drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Desktop drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Documents drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Downloads -rw-r--r-- 1 xtwy xtwy 179 2015-08-20 21:53 examples.desktop -rw---x--x 1 root root 30 2015-08-22 17:28 hello1.txt -rw-r--r-- 1 root root 48 2015-08-22 17:29 hello.txt drwxr-xr-x 3 root root 4096 2015-08-22 16:51 literature drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Music drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Pictures drwxr-xr-x 3 xtwy xtwy 4096 2015-08-22 15:52 Public drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Templates drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Videos5 改变用户 chown
将root拥有改xtwy用户拥有
-rw---x--x 1 root root 30 2015-08-22 17:28 hello1.txt root@ubuntu:/home/xtwy# chown xtwy hello1.txt -rw---x--x 1 xtwy root 30 2015-08-22 17:28 hello1.txt //修改完成后可以对文件中的内容进行修改 root@ubuntu:/home/xtwy# su xtwy xtwy@ubuntu:~$ echo "test permissions" >> hello1.txt6 改变用户组 chgrp
-rw---x--x 1 xtwy root 30 2015-08-22 17:28 hello1.txt xtwy@ubuntu:~$ chgrp xtwy hello1.txt -rw---x--x 1 xtwy xtwy 47 2015-08-22 23:43 hello1.txt添加公众微信号,可以了解更多最新Spark、Scala相关技术资讯
