用户信息一般记录在 /etc/passwd
中,个人密码记录在/etc/shadow
内,Linux的所有组名都记录在/etc/group
中
在root用户下输入ls -al
可以看到如下结果
(ls
是list的意思)
[root@ecs-x-large-2-linux-20200316170044 ~]# ls -al
total 48
dr-xr-x---. 6 root root 4096 Jun 24 2019 .
dr-xr-xr-x. 20 root root 4096 Mar 31 16:40 ..
-rw-r--r-- 1 root root 521 Apr 2 02:13 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
drwx------ 3 root root 4096 Feb 27 2019 .cache
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
-rw------- 1 root root 0 Feb 27 2019 .history
drwxr-xr-x 2 root root 4096 Feb 27 2019 .oracle_jre_usage
drwxr----- 3 root root 4096 Feb 27 2019 .pki
drwx------ 2 root root 4096 Mar 31 16:39 .ssh
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
每列所代表的意义和具体读法如下表:
1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|
权限 | 连接 | 所有者 | 用户组 | 文件容量 | 修改日期 | 文件名 |
chgrp
改变文件所属用户组chown
改变文件所有者chmod
改变文件的权限chgrp
改变所属用户组[~]# chirp [-R] dirname/filename
选项与参数:
-R 进行递归 (recursive)的持续更改,也即连通子目录下所有文件目录都更新称为这个用户组。常常用在更新某一目录内所有的文件情况。
chown
改变文件所有者[~]# chown [-R] 账号名称 文件或目录
[~]# chown [-R] 账号名称:组名 文件或目录
chmod
改变权限Linux文件的改变使用的是chmod
这个命令,设置权限的方法有两种,分别可以使用数字或者符号来进行权限的更改。
其中 ,r:4 w:2 x:1
每种身份各自的三个权限(rwx)分数是需要累加的,例如当权限为[-rwxrwx—-],分数为:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others = —- = 0+0+0 = 0
因此设置权限的更改时,该文件的权限数字就是770.
[~]# chmod [-R] xyz 文件或目录
假如我想将.bashrc文件权限都启用,则有
[~]# ls -al .bashrc
—rw-r—-r—- 1 root root 395 time .bashrc
[~]# chmod 777 .bashrc
[~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 time .bashrc
chmod 身份+操作+权限 文件或目录名
例如,先将一个文件的权限设置为-rwxr-xr-x,再去掉所有人的可执行权限:
[~]# chmod u=rwx,go=rx .bashrc
[~]# ls -al .bashrc
-rwxr-xr-x 1 root root 395 time .bashrc
[~]# chmod a-x .bashrc
[~]# ls -al .bashrc
-rw-r—-r—- 1 root root 395 time .bashrc
目录主要的内容是记录文件名列表,文件名与目录有强烈的关联。目录的三个操作权限与文件三个操作权限不大相同。
ls
命令将该目录的内容列表显示出来。说白了就是与该目录下的文件名变动有关。
cd
进去)例 :假如有一个test用户,没有支持root用户组,有一个目录的权限为 drwxr—r— 3 root root [else] .ssh,请问test是否可以切换到此目录中?
test对此目录仅具有r的权限,因此test可以查询此目录下的文件名列表。因为test不具有x的权限,所以test不能切换到目录内
注意:在网站开放目录给别人浏览时,应该至少给予rx权限,但w不可随便给。
例:假如test对自己的主文件夹具有rwx权限,此目录下有一个名为the_root.data的文件,权限为-rwx——— 1 root root [else] the_root,test对此文件的权限是什么?可否删除此文件?
显然test对此文件时other身份,因此这个文件他不可读不可编辑也无法执行。但这个文件位于他的主文件夹下,他在此目录下具有完整的rwx权限,所以对于“the_root.data”这个“文件名”具有“删除的权限”。因此test用户可以删除the_root.data这个文件。
Linux文件种类由文件属性那10个字符中的第一个来区分。
显然~
类似于Windows系统下的快捷方式
与系统外设及存储等相关的一些文件,通常集中在/dev
目录中,可细分为:
一个Linux文件能否被执行,与第一列十个属性有关,与文件名一点关系都没有,但是可以被执行与执行是否成功无关,执行成功与否得看文件本身的内容。可执行文件也有不同的执行方式和内容,因此扩展名可以在某种意义上区分文件种类。常用扩展名不再赘述。甚至可以理解为Linux上的文件名只是让你了解该文件的可能用途。
据说Linux文件通常很长
Linux文件名的限制:
Linux文件具有一个专门的标准:Filesystem Hierarchy Standard(FHS)标准。根据FHS的官方文件指出,其主要目的是希望让用户可以了解到已安装软件通常放置于哪个目录下。内容简单而复杂,有空专门整理为一个博客,以后再更新。
重点:
./
表示当前的目录../
表示上一层目录查看你的distribution使用的是哪个Linux标准(Linux Standard Base),可以使用如下命令:
[root@ecs-x-large-2-linux-20200316170044 ~]# uname -r
3.10.0-1062.1.1.el7.x86_64 <<可以查看实际的内核版本
[root@ecs-x-large-2-linux-20200316170044 ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch <<LSB的版本
Distributor ID: CentOS
Description: CentOS Linux release 7.6.1810 (Core) <<distribution 的版本
Release: 7.6.1810
Codename: Core
[root@ecs-x-large-2-linux-20200316170044 ~]#