RHEL6基础之十四RHEL文件、目录属性管理

文件类型

与windows不同,linux中不同类型文件颜色不尽相同,可以通过文件名颜色或者文件属性来查看文件类型091850330.png

使用file命令查看文件类型

[root@justin file]# ls
check_traffic_v1.2.2.zip  Common_file  Directory  ifcfg-eth0
[root@justin file]# file Directory/
Directory/: directory
[root@justin file]#


权限、归属

在Linux系统中,系统中的每一个文件或目录都赋予了两种属性:访问权限和文件所有者,简称为“权限”和“归属”,Linux系统根据文件或目录的归属、访问权限来对用户访问数据的过程进行控制。

172224328.png

root用户是系统的超级用户,拥有完全的管理权限,因此文件、目录的权限限制对root用户将不起作用。

[root@justin file]# ls -l /etc/shadow
----------. 1 root root 1080 10月 11 10:04 /etc/shadow
[root@justin file]# su - justin
[justin@justin ~]$ cat /etc/shadow
cat: /etc/shadow: 权限不够
[justin@justin ~]$ su - root
密码:
[root@justin ~]# tail -1  /etc/shadow
study::15988:0:99999:7:::
[root@justin ~]#

/etc/shadow文件第一部分权限位显示任何用户均无权限,实际上root用户还是能够进行正常的读写操作,而普通用户是无法进行任何操作的

143050927.png

文件、目录的权限和归属

linux文件、目录权限分为属主、属组和其他用户三种权限,每种权限由三部分组成即读、写、执行权限,三种权限关系为属主权限>=属组权限>=其他用户权限。

[root@justin ~]# ll !$
ll /home/test
-r--rw-r-x. 1 justin study 0 10月 11 15:08 /home/test
[root@justin ~]#

justin对/home/test有读权限,也可以修改文件,此时需要强制执行才可

161506994.png

文件、目录默认权限

文件的默认是没有可执行权限,权限为644;由于x权限是控制切换目录的权限,默认目录拥有读取执行权限,权限为755

[root@justin default]# touch file
[root@justin default]# mkdir dir
[root@justin default]# ll
总用量 4
drwxr-xr-x. 2 root root 4096 10月 11 15:21 dir
-rw-r--r--. 1 root root    0 10月 11 15:21 file
[root@justin default]#

权限设置

chmod

165429900.png

[root@justin default]# ll
总用量 4
drwxr-xr-x. 2 root root 4096 10月 11 15:21 dir
-rw-r--r--. 1 root root    0 10月 11 15:21 file
[root@justin default]# chmod ug=rwx,o=r dir file
[root@justin default]# ll
总用量 4
drwxrwxr--. 2 root root 4096 10月 11 15:21 dir
-rwxrwxr--. 1 root root    0 10月 11 15:21 file
[root@justin default]# chmod 665 dir file
[root@justin default]# ll
总用量 4
drw-rw-r-x. 2 root root 4096 10月 11 15:21 dir
-rw-rw-r-x. 1 root root    0 10月 11 15:21 file
[root@justin default]# chmod a+r,u+w,u+x,g+x dir file
[root@justin default]# ll
总用量 4
drwxrwxr-x. 2 root root 4096 10月 11 15:21 dir
-rwxrwxr-x. 1 root root    0 10月 11 15:21 file
[root@justin default]#


归属设置

165430968.png

[root@justin ~]# touch file1
[root@justin ~]# ll file1
-rw-r--r--. 1 root root 0 10月 14 16:56 file1
[root@justin ~]# chown justin file1
[root@justin ~]# ll file1
-rw-r--r--. 1 justin root 0 10月 14 16:56 file1
[root@justin ~]# chown :justin file1
[root@justin ~]# ll file1
-rw-r--r--. 1 justin justin 0 10月 14 16:56 file1
[root@justin ~]# chown root:root file1
[root@justin ~]# ll file1
-rw-r--r--. 1 root root 0 10月 14 16:56 file1
[root@justin ~]#

Linux的chattr与lsattr命令

这两个命令是用来查看和改变文件、目录属性的,与chmod这个命令相比,chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的。

chattr 用于设置文件文件系统属性(attribute),使用权限超级用户。

chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目录 

-R:递归处理所有的文件及子目录。
-V:详细显示修改内容,并打印输出。


-:在原有参数设定基础上,移除参数。

+:在原有参数设定基础上,追加参数。

= :更新为指定参数设定。


A:Atime,告诉系统不要修改对这个文件的最后访问时间。

S:Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。

a:Append Only,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全。

i:Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。


a选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。

lsattr 显示文件属性。 

lsattr [-adlRvV][文件或目录...] 

-a  显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。 

-d  显示,目录名称,而非其内容。 

-R  递归处理,将指定目录下的所有文件及子目录一并处理。

[root@Zabbix_server html]# lsattr /etc/resolv.conf 
-------------e- /etc/resolv.conf
[root@Zabbix_server html]# echo "nameserver 8.8.8.8" >> /etc/resolv.conf 
[root@Zabbix_server html]# cat /etc/resolv.conf 
; generated by /sbin/dhclient-script
nameserver 192.168.100.189
nameserver 202.96.209.5
nameserver 202.96.209.133
nameserver 210.22.70.3
nameserver 8.8.8.8
[root@Zabbix_server html]# chattr +i /etc/resolv.conf 
[root@Zabbix_server html]# lsattr /etc/resolv.conf 
----i--------e- /etc/resolv.conf
[root@Zabbix_server html]# echo "nameserver 8.8.4.4" >> /etc/resolv.conf 
-bash: /etc/resolv.conf: Permission denied
[root@Zabbix_server html]#


更改linux的root密码 报:passwd: Authentication token manipulation error

[root@Zabbix_server var]# passwd root
Changing password for user root.
New password: 
BAD PASSWORD: it is based on a dictionary word
Retype new password: 
passwd: Authentication token manipulation error
[root@Zabbix_server var]# lsattr /etc/passwd /etc/shadow
----i--------e- /etc/passwd
----i--------e- /etc/shadow
[root@Zabbix_server var]# chattr -i /etc/passwd /etc/shadow
[root@Zabbix_server var]# lsattr /etc/passwd /etc/shadow
-------------e- /etc/passwd
-------------e- /etc/shadow
[root@Zabbix_server var]# passwd root
Changing password for user root.
New password: 
BAD PASSWORD: it is based on a dictionary word
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@Zabbix_server var]#


你可能感兴趣的:(chown,chmod,chattr,lsattr)