目录
1. linux组基本介绍
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件
有所有者、所在组、其它组的概念。
1.1 文件/目录 所有者
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
1.1.1 文件的所有者
- 指令:ls –ahl
- -a :显示当前目录所有的文件和目录,包括隐藏的。
- -l :以列表的方式显示信息
- h:human,以人阅读方便的形式展示
创建一个组police,再创建一个用户tom,将tom放在police组,然后使用tom来创建一个文件ok.txt。
[root@hadoop home]# groupadd police
[root@hadoop home]# useradd -g police tom
[root@hadoop home]# id tom
uid=501(tom) gid=502(police) 组=502(police)
[root@hadoop home]# passwd tom
更改用户 tom 的密码 。
新的 密码:
无效的密码: 它没有包含足够的不同字符
无效的密码: 是回文
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@hadoop home]# su tom
[tom@hadoop home]$ touch ok.txt
touch: 无法创建"ok.txt": 权限不够
[tom@hadoop home]$ cd
[tom@hadoop ~]$ pwd
/home/tom
[tom@hadoop ~]$ touch ok.txt
[tom@hadoop ~]$ ls -ahl
总用量 28K
drwx------. 4 tom police 4.0K 2月 21 19:17 .
drwxr-xr-x. 6 root root 4.0K 2月 21 19:14 ..
-rw-r--r--. 1 tom police 18 5月 11 2016 .bash_logout
-rw-r--r--. 1 tom police 176 5月 11 2016 .bash_profile
-rw-r--r--. 1 tom police 124 5月 11 2016 .bashrc
drwxr-xr-x. 2 tom police 4.0K 11月 12 2010 .gnome2
drwxr-xr-x. 4 tom police 4.0K 2月 14 22:26 .mozilla
-rw-r--r--. 1 tom police 0 2月 21 19:17 ok.txt
1.1.2 修改文件所有者
- 指令:chown 用户名 文件名
使用root 创建一个文件apple.txt ,然后将其所有者修改成 zhangfei
[root@hadoop home]# touch apple.txt
[root@hadoop home]# ls -ahl
总用量 56K
-rw-r--r--. 1 root root 0 2月 21 19:27 apple.txt
.........
[root@hadoop home]# chown tom apple.txt
[root@hadoop home]# ls -ahl
总用量 56K
-rw-r--r--. 1 tom root 0 2月 21 19:27 apple.txt
..........
1.2 组的创建
参见 1.1.1 案例
1.3 文件/目录 所在组(查看、修改)
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。
查看文件 a.txt 属于哪个组,然后将这个文件所在组,修改到 police组。
[root@hadoop home]# ls -l
总用量 48
-rw-r--r--. 1 root root 1796 2月 17 21:43 a.txt
[root@hadoop home]# chgrp police a.txt
[root@hadoop home]# ls -l
总用量 48
-rw-r--r--. 1 root police 1796 2月 17 21:43 a.txt
[root@hadoop home]# id a.txt
id: a.txt:无此用户
1.4 其它组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。
1.5 改变用户所在组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。
将 zwj 这个用户从shaolin组,修改到 wudang 组
[root@hadoop home]# id zwj
uid=500(zwj) gid=501(shaolin) 组=501(shaolin)
You have new mail in /var/spool/mail/root
[root@hadoop home]# usermod -g wudang zwj
[root@hadoop home]# id zwj
uid=500(zwj) gid=500(wudang) 组=500(wudang)
2. 权限的基本介绍
ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
2.1 0-9位说明
- 第0位确定文件类型(d:目录, -:普通文件 , l:软连接 , c:字符设备(键盘,鼠标) , b:块文件,硬盘)
- 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。—User
- 第4-6位确定所属组(同用户组的)拥有该文件的权限,—Group
- 第7-9位确定其他用户拥有该文件的权限 —Other
2.2 rwx作用
2.2.1 作用到文件
- [ r ]代表可读(read): 可以读取,查看文件内容
- [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
- [ x ]代表可执行(execute):可以被执行
2.2.2 作用到目录
- [ r ]代表可读(read): 可以读取,ls查看目录内容
- [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
- [ x ]代表可执行(execute):可以进入该目录
2.2.3 rwx可用数字表示
r=4,w=2,x=1 因此rwx=4+2+1=7
2.3 其他含义
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
- 1: 文件表示硬连接数或,目录表示子目录数;
- root:用户
- root:组名
- 1213:文件大小(字节),如果是目录,显示 4096字节
- Feb 2 09:39: 最后修改日期
- abc:文件名
2.4 修改文件或目录的权限-chmod
2.4.1 方法1:+ 、-、= 变更权限
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
- chmod u=rwx,g=rx,o=x 文件目录名
- chmod o+w 文件目录名
- chmod a-x 文件目录名
给abc文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
给abc文件的所有者除去执行的权限,增加组写的权限
给abc文件的所有用户添加读的权限
2.4.2 方法2:通过数字变更权限
- r=4 w=2 x=1 rwx=4+2+1=7
- chmod u=rwx,g=rx,o=x 文件目录名 相当于 chmod 751 文件目录名
将 /home/abc.txt 文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现
[root@hadoop home]# ls -l
总用量 48
-rw-r--r--. 1 root root 0 2月 21 23:19 abc.txt
[root@hadoop home]# chmod 755 /home/abc.txt
[root@hadoop home]# ls -l
总用量 48
-rwxr-xr-x. 1 root root 0 2月 21 23:19 abc.txt
2.5 修改文件所有者-chown
- chown newowner file 改变文件的所有者
- chown newowner:newgroup file 改变用户的所有者和所有组
- -R 如果是目录 则使其下所有子文件或目录递归生效
请将 /home/abc .txt 文件的所有者修改成 tom
[root@hadoop home]# ls -l
总用量 48
-rwxr-xr-x. 1 root root 0 2月 21 23:19 abc.txt
[root@hadoop home]# chown tom abc.txt
[root@hadoop home]# ls -l
总用量 48
-rwxr-xr-x. 1 tom root 0 2月 21 23:19 abc.txt
请将 /home/xm目录下所有的文件和目录的所有者都修改成tom
[root@hadoop home]# chown -R tom xm/
[root@hadoop home]# cd xm/
[root@hadoop xm]# ls -al
总用量 32
drwx------. 4 tom wudang 4096 2月 15 18:07 .
-rw-------. 1 tom wudang 24 2月 15 18:07 .bash_history
-rw-r--r--. 1 tom wudang 18 5月 11 2016 .bash_logout
-rw-r--r--. 1 tom wudang 176 5月 11 2016 .bash_profile
-rw-r--r--. 1 tom wudang 124 5月 11 2016 .bashrc
drwxr-xr-x. 2 tom wudang 4096 11月 12 2010 .gnome2
drwxr-xr-x. 4 tom wudang 4096 2月 14 22:26 .mozilla
2.6 修改文件所在组-chgrp
请将 /home/abc .txt 文件的所在组修改成 police
[root@hadoop home]# ls -l
总用量 48
-rwxr-xr-x. 1 tom root 0 2月 21 23:19 abc.txt
[root@hadoop home]# chgrp police abc.txt
[root@hadoop home]# ls -l
总用量 48
-rwxr-xr-x. 1 tom police 0 2月 21 23:19 abc.txt
请将 /home/xm目录下所有的文件和目录的所在组都修改成police
[root@hadoop xm]# ls -al
总用量 32
drwx------. 4 tom wudang 4096 2月 15 18:07 .
-rw-------. 1 tom wudang 24 2月 15 18:07 .bash_history
-rw-r--r--. 1 tom wudang 18 5月 11 2016 .bash_logout
-rw-r--r--. 1 tom wudang 176 5月 11 2016 .bash_profile
-rw-r--r--. 1 tom wudang 124 5月 11 2016 .bashrc
drwxr-xr-x. 2 tom wudang 4096 11月 12 2010 .gnome2
drwxr-xr-x. 4 tom wudang 4096 2月 14 22:26 .mozilla
[root@hadoop home]# chgrp -R police xm/
[root@hadoop home]# cd xm/
[root@hadoop xm]# ls -al
总用量 32
drwx------. 4 tom police 4096 2月 15 18:07 .
drwxr-xr-x. 6 root root 4096 2月 21 23:19 ..
-rw-------. 1 tom police 24 2月 15 18:07 .bash_history
-rw-r--r--. 1 tom police 18 5月 11 2016 .bash_logout
-rw-r--r--. 1 tom police 176 5月 11 2016 .bash_profile
-rw-r--r--. 1 tom police 124 5月 11 2016 .bashrc
drwxr-xr-x. 2 tom police 4096 11月 12 2010 .gnome2
drwxr-xr-x. 4 tom police 4096 2月 14 22:26 .mozilla