文件权限和用户组:
在linux中每个文件有所有者、所在组、其它组的概念:
1、文件所有者:一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
命令:ls –ahl 可以查看文件的所有者
chown 用户名 文件名 可以修改文件的所有者
2、文件所在组:当某个用户创建了一个文件后,该用户所在的组就是这个文件的所在组。
命令:ls –ahl 可以查看文件的所在组
charp 组名 文件名 可以修改文件所在组
改变text目录以及其子目录下的所有文件的群组属性:chgrp -R bin test (加上-R参数)
3、其它组:除开文件的所有者和所在组的用户外,系统的其他用户都是用户的其它组。
添加组:groupadd 组名
查看linux中所有组:cat /etv/group (cat命令只可以看,不可以编辑)
创建用户的同时指定将该用户分配到哪个组下:useradd ‐g 组名 用户名
改变用户所在的组: usermod –g 组名 用户名 (用root用户登陆)
改变用户登陆的初始目录: usermod –d 目录名 用户名
查看linux中所有用户信息: cat /etc/passwd
-rwxrw-r-- 第一个字符表示文件类型:(-)表示普通文件 (d)目录 (l)链接
其余字符每三个一组:r读=4,w写=2,x执行=1
第一组rwx:文件所有者的权限是读、写和执行
第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行
第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行
改变文件或目录的访问权限:chmod (修改文件的访问权限需是文件的所有者或者root用户)
chmod 755 abc:赋予abc权限rwxr-xr-x
chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限 a=所有的用户及群组
chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限
chmod a+r abc:给所有用户添加读的权限
特殊情况:drwxr-xr-- 至于 other 的权限中虽然有 r,但是由并不能进入此目录;x 在目录当中是与『能否进入该目录』有关!
档案预设属性:umask
在预设权限的属性上,目录与档案是不一样的。由于档案我们不希望他具有可执行的权力, 预设情况中:
①档案:档案是没有可执行 (x) 权限的。因此:若使用者建立为档案则预设『没有可执行 ( x ) 项目』,亦即只有 rw 这两个项目,也就是最大为 666 分,预设属性为:-rw-rw-rw-
②目录:若使用者建立为目录,则由于 x 与是否可以进入此目录有关,因此预设为所有权限均开放,亦即为 777 分,预设属性为:drwxrwxrwx
umask 指定的是该默认值需要减掉的权限!
意思就是说当要拿掉能写的权限,就是输入 2 分,而如果要拿掉能读的权限,也就是 4 分,以此类推。
查阅umask的方式有两种:
[root@linux ~]# umask
0022
[root@linux ~]# umask -S
u=rwx,g=rx,o=rx
所以使用者:(下面就是使用者建立档案或目录时默认的属性)
• 建立档案时:(-rw-rw-rw-) – (-----w--w-) ==> -rw-r--r--
• 建立目录时:(drwxrwxrwx) – (d----w--w-) ==> drwxr-xr-x
如何设定umask?
直接在 umask 后面输入 002 就好了! 例如:umask 002
意思就是只拿掉 others 的 w 权限