1 。 Linux 中的用户与群组
Linux 是真正的多用户多任务 ,同一时刻可以允许多个用户同时使用 Linux 。
Linux 的用户及群组功能是相当健全好用的一个安全防护。
2 。 Linux 文件权限
Linux 拥有用户及群组的概念,就需要针对这些用户和群组设置文件或者目录的权限,成为文件或者目录的权限与属性 。
a. 查看文件的权限和属性,使用命令ls
ls -l 显示各个文件或目录的权限及属性信息;
ls -a 显示所有的文件或目录,包括隐藏文件 dot file( 以 . 开头的 )
ls -la 多条选项的话,可以这样写
举例:
root@hemin-desktop:/home# ls -l
总用量 20
drwxr-xr-x 39 hemin hemin 4096 2007-11-24 13:37 hemin
drwx------ 2 root root 16384 2007-10-31 07:11 lost+found
b. 解释所列文件权限及属性:
1) 第一栏,如drwxr-xr-x ,一般10 个属性。
第一个代表文件类型,为目录、文件或者链接文件:
d 表示目录
- 表示文件
l 表示链接文件
b 表示设备文件中可供储存的接口设备
c 表示设备文件中的串行端口设备,如鼠标,键盘
接下来 9 位共 3 组属性,以 'rwx' 形式
r 表示可读
w 表示可写
x 表示可执行
3 组中第一组为 ' 拥有者的权限 , user', rwx 表示文件的拥有者可以读写及执行;
3 组中第二组为 ' 群组的权限 , group', r-x 表示和文件的拥有者属于同一群组的用户,可读可执行但是不能写;
3 组中第三组为 ' 其他非本群组的用户的权限 , others' , r-x 表示其他人可以读和执行,不可以写;
注意:对于一个目录如果允许进入,则需要开启 r 和 x 属性,否则只有 r 也无法进入。
2 )第二栏表示链接占用的节点,若为目录,通常与该目录下有多少子目录有关;
3) 第三栏表示这个文件( 或目录) 的拥有者;
4) 第4 栏表示拥有者的群组;
在 linux 每个用户有自己的用户 ID ,同时还有附属的群组 ID 。举例群组代号为 testgroup, 群组下各个用户的代号为 test1, test2, test3 。
[-rwxrwx---] 表示文件,文件的所有者可以读写执行,和该文件所有者属于同一群组的用户也可以读写执行,其他不属于该群组的用户不具备任何读写执行的权限。
5) 第5 栏表示文件的大小
6) 第6 栏表示该文件的建档日期或最近的修改日期。
7) 第7 栏表示该文件的文件名,dot file( 即以. 开头的文件) 为隐藏文件 。
还需要注意的是 Windows 下一个文件是否具有可执行能力是由其后缀名实现的,例如 .exe, .bat 等,在 Linux 下,文件是否能够执行,是由是否具有 x 这个属性来决定的,和后缀没有绝对的关系。
举例解释
root@hemin-desktop:/home# ls -l
总用量 20
drwxr-xr-x 39 hemin hemin 4096 2007-11-24 13:37 hemin
drwx------ 2 root root 16384 2007-10-31 07:11 lost+found
第一行表示:
最后的 hemin 为一个目录 (d) ,对于用户 hemin 具备 rwx 即读写执行权限;对于和 hemin 用户同属组群 hemin 的其他用户具备 r-x 即具备读和执行权限,但是不具备写权限;最后不属于 hemin 群组的其他用户具备 r-x 即读和执行权限。 39 表示链接个数,与 hemin 目录下的子目录个数有关系; 4096 表示 hemin 目录下文件的大小; 2007-11-24 13:37 表示该目录的最后修改日期; hemin 表示目录名称。
c. Linux 文件属性的重要性
不同于 Windows 中文件, Linux 中文件都附加了很多属性,尤其是群组的概念,更加安全更加易于管理。
3 。更改文件权限
修改群组,拥有者,修改各种身份的权限;
a. 修改群组;
使用 chgrp ,但是改变的目标群组名称必须在 /etc/group 中存在,否则会显示错误。
语法
chgrp 群组名称 文件或目录
举例:
ls -l
-rw-r--r-- 1 root root 100 2007-11-24 14:40 new
chgrp hemin new
ls -l
-rw-r--r-- 1 root hemin 100 2007-11-24 14:40 new
b. 修改拥有者chown
使用 chown 命令修改文件的所有者,但是文件的拥有者必须已经存在于系统中,及拥有者必须在 /etc/passwd 文件中存在。
如果要将目录下的所有子目录或文件同时修改,加 -R 参数即可,表示递归的意思。
chown [-R] 用户名称 文件或者目录
chown [-R] 用户名称 : 用户群组 文件或者目录
chown 不但可以修改用户名,而且可以同时修改用户名称和用户组群。
经常使用的需要变更文件的拥有者,是在文件复制给其他人的时候。
c. 修改各种身份的权限chmod
两种方法修改文件权限;
1) 数字类型修改
9 个属性共 3 个组,分别对应拥有者,拥有者所属群组,其他用户
rwx 三位的每一位用二进制表示,可以转化为一个 0-7 之间的数。
这样 9 位属性就可以表示为 3 位的
chmod [-R] xyz 文件或目录
例如
-rwxr-xr-- 转化为数字类型为 - 111 101 100 这样表示为 754
-rwxrwxrwx 可以表示为 777
2) 符号类型修改
9 个属性分为 3 组,分别属于 user, group, others 三组,可以使用 u, g, o 分别代表。
此外 a 代表 all 即全部三组 u, g, o
权限属性可以用 r, w, x 表示
这样采用如下方式
chmod u/g/o/a +/-/= r/w/x 文件或目录
其中 + 表示添加之后权限; - 表示删除之后的权限;=号表示设定之后的权限
举例:
chmod u=rwx,go=rx .bashrc
表示设置拥有者具备 rwx 权限,用户群组和其他用户都只有 rx 权限;
即 rwxr-xr-x 755
使用数字类型修改应如下
chmod 755 .bashrc
4 。 Linux 支持的文件格式与文件种类,后缀名
a. 文件格式
文件格式是 OS 存取数据的格式。 Windows 下的文件格式有 FAT, FAT32, NTFS 文件格式。
Linux 的正统的文件格式为 ext2 ,目前 Linux 支持的文件格式非常多,不过必须将想要支持的文件格式编译到 Linux 的内核里。
举例,如果 Windows 和 Linux 安装在一个硬盘里, Linux 也不能访问到 Windows 的分区,因为不支持 Windows 的文件格式; Windows 的核心也不支持 Linux 的文件系统,因此在 Windows 下是看不到 Linux 分区的。
目前很多 Linux 发行版本,都预先将一些文件格式编译到其内核里面,进而支持多种文件格式。
要查看 Linux 支持的文件格式,可以查看系统的 /lib/modules/'uname -r'/kernel/fs ,知道 Linux 支持的文件格式。
一般 Linux 的正统文件格式是 ext2 ,但是最近发布的 Linux 默认采用 ext3 或者 reiserfs 格式,因为具备日志管理功能。
Ubuntu 系统默认支持多种文件格式,因此能够访问到 Windows 分区。
b. 文件种类
Linux 主要有如下几类文件种类:
1) 正规文件 ,就是一般类型的文件, ls -l 之后第一个属性为 - 的文件,可以分为两种
纯文本文件 ASCII 码文件, UNIX 系统最多的一种类型;
二进制文件 binary ,通常出了脚本之外,执行文件就是这种;
2) 目录directory : ls -l 第一个属性为 d
3) 链接文件link file : 类似 Windows 下的快捷方式,第一个属性为 l
Linux 下的链接文件可以视为一个文件或目录的快捷方式,但和 Windows 下的快捷方式又不太一样, Windows 下修改快捷方式无法修改主程序, Linux 修改链接文件主程序会做相应改变。
4) 设备文件(device) : 与系统外设相关的文件,通常位于 /dev 目录下,可以分为两种
块 block 设备文件:用于储存数据以提供系统存取的接口设备,一般都指硬盘, ls -l 的第一个属性为 b
字符 character 设备文件:用于串行端口的接口设备,例如键盘,鼠标, ls -l 的第一个属性为 c
c. Linux 文件的后缀名
Linux 文件的后缀名没有意义。因为 Linux 下一个文件能不能被执行,与其 ls -l 第一栏的 10 个属性有关系,与文件名没有关系。
与 windows 不同,在 Windows 下,可执行文件的后缀名如 .exe 等。
在 linux 只要文件的文件属性中有 x ,即代表这个文件可以被执行。
在 linux 也适当地以文件后缀名表示文件类型,比如
批处理文件 ( 脚本 ): 以 .sh 代表,因为批处理脚本使用 shell 编写
打包或者压缩文档 : 以 .Z, .tar, .tar.gz, .zip, .tgz 表示,这是因为压缩软件不同而不同,如 gunzip, tar 等
网页文件:如 html, php 等
Perl 文件: .pl
FAQ :
Unix 与Linux 系统的文件名最多可以容许255 个字符;
-rwxrwxrwx 表示文件拥有者可以读写执行,和文件拥有者同属一个组群的用户可以读写执行,其他用户也可以读写执行;
将一个文件file 的属性改为-rwxr-xr-- 可以采用的指令:
数字方式:chmod 754 file
符号方式:chmod u=rwx,g=rx,o=r file
PS: 符号方式在原有基础上修改不大时用比较方便
更改一个文件的拥有者与群组的指令:chown 用户名: 群组 file
Linux 传统的文件类型为ext2, 现在常用的带有日志功能的文件格式有ext3 和reiserfs.
如下目录主要放置什么数据
/etc/ 启动及系统的数据文件都放在该目录下,还有应用程序的配置文件
/etx/rc.d/init.d 存放开关机过程中用到的脚本文件
/boot 存放Linux 核心与启动相关文件的地方
/usr/bin, /bin 系统执行文件的放置目录,一般用户可以使用
/usr/sbin, /sbin 系统执行文件的放置目录,root 用户可以使用的
/dev 存放与设备有关的文件
/var/log 主要放置可变的信息和数据,log 放置错误信息文件
文件名以'.' 开头,表示该文件为隐藏文件,显示该文件使用ls -a 及属性ls -al
5. Linux 目录配置
查看如下图片
本文详细介绍了Linux系统中的用户与群组管理、文件权限设置方法、文件属性的重要性和文件格式等内容,帮助读者理解Linux环境下如何有效管理和保护文件。
1934

被折叠的 条评论
为什么被折叠?



