本文共 2114 字,大约阅读时间需要 7 分钟。
之前学习过
ls -l如图,第一位-之前已经学习过,代指这是一个文本之后的 rw-r--r--是文件的权限前三位rw-是文件所有者的权限中间三位r-- 是文件所属组的权限后三位r--是其他用户的权限文件的权限有三种:r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限;对目录来说,具有新建,删除,修改,移动目录内文件的权限。x(eXecute,执行):对文件而言,具有执行文件的权限;对目录来说该用户具有进入目录的权限。权限拥有权限值,r=4 ,w=2 ,x=1,上图中rw-r--r-- 就可以用644表示将此文件的权限修改为700
chmod 700 /tmp/chen1/123.txt
然后
ls -l /tmp/chen1/可以发现123.txt的权限变成了rwx------也可以使用
chmod g+r,o+w /tmp/chen1/123.txt
此时文件权限变为rwxr---w- 即742
g就是group用户组o就是other其他用户,还有个u是指文件所有者,这种方法可以明确的修改文件的权限,比起用权限值修改略麻烦;接下来修改文件夹的权限ls -ld /tmp/chen1/
文件权限为rwxr-xr-x 755
chmod 700 /tmp/chen1/
ls -l /tmp/chen1/可以发现123.txt文件权限并没有改变,也就是说chmod命令只是修改了文件夹本身的权限,并没有修改文件夹内部文件的权限如果要修改文件夹和文件夹内部文件的权限,则使用下面的命令
chmod -R 741 /tmp/chen1/
可以发现文件夹/tmp/chen1/与文件/tmp/chen1/123.txt的权限都变为了741;
cat /etc/passwd可以看到最后两个是我之前增加的用户chen1和user1接着我来修改文件/tmp/chen1/123.txt的用户
ls -l /tmp/chen1/123.txt可以看到文件的用户和用户组都是root修改所属用户
chown chen1 /tmp/chen1/123.txt查看
ls -l /tmp/chen1/123.txt
修改所属组
chgrp user1 /tmp/chen1/123.txt
查看
ls -l /tmp/chen1/123.txt
也可以使用
chown user1:chen1 /tmp/chen1/123.txt
同时修改用户组和用户,用冒号分隔即可,
ls -l /tmp/chen1/123.txt
单独修改用户组也可以
chown :user1 /tmp/chen1/123.txt
文件夹默认所有的权限值777,文件666
umask 默认为0022umask 第一位的0可以先省略所以新建文件夹默认权限为 777-022 = 755新建文本默认权限为 666-002=644 ;如果将umask修改为0003umask 0003
则新创建的文件夹权限变为 777-003=774
而新建文本权限为 664 而并不是663这是因为,文本所有权限为664(rw-rw-rw-) 003 (-------wx)由于664权限中已经没有x权限,所以现在权限为(rw-rw-rw-)- (-------wx) =(rw-rw-r--)使用
man chattr 可以查看具体用法chattr +i /tmp/chen1/123.txt则文件/tmp/chen1/123.txt无法修改、删除使用
lsattr /tmp/chen1/123.txt
可以看到有i权限
chattr -i /tmp/chen1/123.txt
就可以删除i权限;
chattr +a /tmp/chen1/123.txt则文件/tmp/chen1/123.txt只可以追加,无法进行删除等其他操作并且只可以使用echo asaddasd >> /tmp/chen1/123.txt这种方式追加,无法用vi编辑追加
chattr -a /tmp/chen1/123.txt
删除a权限;
当文件夹拥有i权限时,文件夹内文件可以追加,也可以可以用vi追加或修改文件,但是不可以删除文件,无法创建新文件;
当文件夹拥有a权限时,文件夹内文件可以追加,也可以可以用vi追加或修改文件,可以新建文件,但是不可以删除文件;lsattr -R /tmp/chen1/
可以查看文件内所有子文件隐藏权限。对于这部分,可以去下面这个帖子查看详细介绍
转载于:https://blog.51cto.com/13569831/2067102