一、使用chown命令改变文件属主
chown USERNAME FILE1...... -R :递归改变目标文件夹和子文件夹中的所有文件和目录的 属主 --reference=RFILE :使用RFILE文件的属主和属组作为目标文件的属主和属组 USERNAME:GROUPNAME :同时改变目标文件的属主和属组 --dereference :影响链接文件指向的文件而不是链接文件本身,这是默认 选项 -h, --no-dereference :影响链接文件本身而不是链接文件指向的文件(如果操作系 统支持的话)
示例:
chown root /u Change the owner of /u to "root". chown root:staff /u Likewise, but also change its group to "staff". chown -hR root /u Change the owner of /u and subfiles to "root".
二、使用chgrp修改文件属组
chgrp GROUPNAME FILE...... -R :递归改变目标文件夹和子文件夹中的所有文件和目录的 属组 --reference=RFILE :使用RFILE文件的属组作为目标文件的属组 --dereference :影响链接文件指向的文件而不是链接文件本身,这是默认 选项 -h, --no-dereference :影响链接文件本身而不是链接文件指向的文件(如果操作系 统支持的话)
示例:
chgrp staff /u Change the group of /u to "staff". chgrp -hR staff /u Change the group of /u and subfiles to "staff".
三、使用chmod命令修改文件权限
1.同时修改三类文件权限
chmod MODE FILE,...... -R :递归修改权限 --reference=RFILE :将目标文件的权限全部修改成为RFILE文件的权限。
示例:
chmod -R 777 /tmp/a :/tmp/a文件的权限修改成 rwxrwxrwx chmod --reference=/a /tmp/a :将/tmp/a的权限修改成和/a权限相同
2.只修改某类用户的权限
chmod u/g/o/a = r/w/x FILE,......
3.增加或者删除某类用户的某个权限
chmod u/g/o/a +/- r/w/x FILE,......
四、权限相关问题
1.不同的用户创建了新文件之后默认的权限不相同,这是为什么?
kdyzm@kdyzm:/tmp/temp$ touch b kdyzm@kdyzm:~$ su root Password: root@kdyzm:/tmp/temp# touch a kdyzm@kdyzm:/tmp/temp$ ll total 8 drwxrwxr-x 2 kdyzm kdyzm 4096 1月 31 09:50 ./ drwxrwxrwt 13 root root 4096 1月 31 09:42 ../ -rw-r--r-- 1 root root 0 1月 31 09:50 a -rw-rw-r-- 1 kdyzm kdyzm 0 1月 31 09:50 b
不同类别的用户umask不同(比如root与普通用户),umask是“反向掩码”,使用
umask
命令就能够显示出来当前用户umask的值
kdyzm@kdyzm:~$ umask 0002 kdyzm@kdyzm:~$ su root Password: root@kdyzm:/home/kdyzm# umask 0022 root@kdyzm:/home/kdyzm#
当创建文件或者文件夹的时候,系统会根据umask的值设置其对应的权限位的值:如果创建的是文件,那么使用666-umask作为文件的默认权限;如果是文件夹,那么使用777-umask作为文件夹的默认权限。
需要特别注意的是,Linux默认不允许文件有执行权限,如果经过计算创建的文件有了执行权限,则在执行权限位上自动+1。
2.如何通过配置文件的方式创建一个账户