linux系统下的档案会有很多attributes,这些attributes的使用对于保证系统的安全
有很大的帮助。运用好这些attributes有助于系统管理员有效的管理系统。
那档案到底有哪些属性呢?
档案的属性有很多,如果你不是系统管理员的话,估计你也很难都记住。
在chattr命令的man手册里面可以查到各个属性的详细含义,在需要时查一下就好。
sh-# man chattr
有如此之多的文件属性,其中用的比较多的有两个:
1. i属性,一旦档案具有这个属性,那这个文件既不能被删除也不能被重命名,也不能
创建链接文件,而且也不能向该档案中写入数据;
2. a属性,一旦档案具有此属性,那么只能向该档案中append数据。
通常这两个属性都是用来保护系统中非常重要的档案。
sh-# touch /attr_test.txt
sh-# chattr +i /attr_test.txt
chattr: Operation not permitted while setting flags on /attr_test.txt
出现这个执行错误的原因在于chattr这个命令只有root才有权限去执行。
可以通过id这个命令来确认当前用户是不是root用户。
sh-# id
uid=123(my_name) gid=456(ooxx)
sh-# lsattr /var/log/messages
由于本人的linux系统似乎有点问题,暂时无法在root用户下去进行更多的实验验证。
所以关于chattr的学习就暂时性的到此为止。
2013/10/11解决问题:
2. 如何确认一个partition是哪种类型的file system呢?
确认file system类型的方法有很多:
1. 使用mount或cat /proc/mount查看,
sh-# cat /proc/mounts
rootfs / rootfs rw 0 0
none /proc proc rw,relatime 0 0
none /sys sysfs rw,relatime 0 0
none /tmp tmpfs rw,relatime 0 0
none /opt tmpfs rw,relatime 0 0
none /proc/bus/usb usbfs rw,relatime 0 0
sh-#
2. 使用stat命令查看,只需要指定某个文件即可知道该文件所在的文件系统信息,
sh-# stat -f /etc/passwd
File: "/etc/passwd"
ID: fe0000000000 Namelen: 256 Type: ext2
Block size: 131072
Blocks: Total: 56 Free: 0 Available: 0
Inodes: Total: 1027 Free: 0
sh-#
待解决问题:
sh-# lsattr /etc/passwd
lsattr: reading /etc/passwd: Inappropriate ioctl for device
1. 为什么会出现这样的error?这是因为/etc这个partition的file system不是ext2/ext3吗?