普通权限和特殊权限

当用户新建一个文件时,文件的所属用户和所属组是创建该文件的用户,该文件也有默认的权限;
 
1.关于默认权限
每一个终端都有个 umask 属性,用来确定新建文件和文件夹的默认权限;
umask 的使用方式用数字权限表示;如:022;
目录的默认权限是:777-umask;
文件的默认权限是:666-umask;
 
一般普通用户的默认 umask 是 002;root用户的 umask 是022;
例如:普通用户的默认权限:
    新建目录:777-002=775;换成rwx表示为 rwxrwxr-x;也就是同组和用户可以读写访问、其它用户可以读和访问不能写;
    新建文件:666-002=664; 即同组和用户自己可读写不能访问;文件也不需要访问;其它用户只能读;
 
命令 umask 可用来查看和设置umask的值;
例如:设置当前终端的umask
umask 002
 
如果查看umask ,输入单独的umask即可;
umask
会看到四个数字,分别是 :特殊权限位、用户u、组g、其它o
 
2.特殊权限
除了普通权限外,还有特殊权限;
如图:打开了特殊权限的效果
 
关于suid:
    suid的主要用在可执行文件的中;让没有权限的用户执行该程序,但不给它权限;
    例如:passwd命令;
        作用是修改密码;也就是把新密码写入/etc/shadow中;
        而/etc/shadow目录只对root用户开放;
        passwd命令普通用户也可以执行;
        为了让普通用户能够向/etc/shadow目录写入新密码,但不给普通用户权限,可用到suid;
        这样一来,普通用户执行passwd命令时,该进程是以 passwd的所属用户 root的身份执行的;保证了安全;
ls -l /user/bin/passwd
        可以看出:打开了特殊权限 suid 的权限,本应该是x的执行权限变成了s;
 
关于sgid:
    sgid对文件的影响方面和suid类似,用的比较少;
    sgid主要用于文件夹;用来保证文件夹的一致性;
    比如:普通用户建立的文件夹,组权限是普通户自己的组;
        而root用户在该文件夹中建立了一个文件;
        此时的文件想和其父目录的组权限保持一致,需要继承普通用户的组权限,而不是root的组;这是就要用到sgid;
 
关于sticky:
    打开sticky后,其它用户不能删除文件所属用户的文件;
 
3.设置特殊权限
命令 chmod 来设置特殊权限;和普通权限的设置命令一样;
设置 suid:    设置后u位的执行位会变成s,而不是x和-;比如 -rwsr-xr-x ;同时文件名会高亮红色显示;
chmod u+s a.txt
设置 sgid:    设置后 g位的执行位会变成s; 例如:drwxr-sr-x    
chmod g+s a.txt
设置sticky:    设置后 o为的执行位会变成t; 例如 drwxrwxr-t    ;同时文件名高亮蓝色显示;
chmod o+t a.txt
 
与普通权限一样,特殊权限也可以用数字方法表示;
权限有四位数字来表示;分别是 :特殊、u、g、o;
特殊权限在第一位数字上设置;
    suid=4;
    sgid=2;
    sticky=1;
例如:如下命令打开了特殊权限 suid
chmod 4755 a.txt
 
 
 
 
 
 
当用户新建一个文件时,文件的所属用户和所属组是创建该文件的用户,该文件也有默认的权限;
 
1.关于默认权限
每一个终端都有个 umask 属性,用来确定新建文件和文件夹的默认权限;
umask 的使用方式用数字权限表示;如:022;
目录的默认权限是:777-umask;
文件的默认权限是:666-umask;
 
一般普通用户的默认 umask 是 002;root用户的 umask 是022;
例如:普通用户的默认权限:
    新建目录:777-002=775;换成rwx表示为 rwxrwxr-x;也就是同组和用户可以读写访问、其它用户可以读和访问不能写;
    新建文件:666-002=664; 即同组和用户自己可读写不能访问;文件也不需要访问;其它用户只能读;
 
命令 umask 可用来查看和设置umask的值;
例如:设置当前终端的umask
umask 002
 
如果查看umask ,输入单独的umask即可;
umask
会看到四个数字,分别是 :特殊权限位、用户u、组g、其它o
 
2.特殊权限
除了普通权限外,还有特殊权限;
如图:打开了特殊权限的效果
 
关于suid:
    suid的主要用在可执行文件的中;让没有权限的用户执行该程序,但不给它权限;
    例如:passwd命令;
        作用是修改密码;也就是把新密码写入/etc/shadow中;
        而/etc/shadow目录只对root用户开放;
        passwd命令普通用户也可以执行;
        为了让普通用户能够向/etc/shadow目录写入新密码,但不给普通用户权限,可用到suid;
        这样一来,普通用户执行passwd命令时,该进程是以 passwd的所属用户 root的身份执行的;保证了安全;
ls -l /user/bin/passwd
        可以看出:打开了特殊权限 suid 的权限,本应该是x的执行权限变成了s;
 
关于sgid:
    sgid对文件的影响方面和suid类似,用的比较少;
    sgid主要用于文件夹;用来保证文件夹的一致性;
    比如:普通用户建立的文件夹,组权限是普通户自己的组;
        而root用户在该文件夹中建立了一个文件;
        此时的文件想和其父目录的组权限保持一致,需要继承普通用户的组权限,而不是root的组;这是就要用到sgid;
 
关于sticky:
    打开sticky后,其它用户不能删除文件所属用户的文件;
 
3.设置特殊权限
命令 chmod 来设置特殊权限;和普通权限的设置命令一样;
设置 suid:    设置后u位的执行位会变成s,而不是x和-;比如 -rwsr-xr-x ;同时文件名会高亮红色显示;
chmod u+s a.txt
设置 sgid:    设置后 g位的执行位会变成s; 例如:drwxr-sr-x    
chmod g+s a.txt
设置sticky:    设置后 o为的执行位会变成t; 例如 drwxrwxr-t    ;同时文件名高亮蓝色显示;
chmod o+t a.txt
 
与普通权限一样,特殊权限也可以用数字方法表示;
权限有四位数字来表示;分别是 :特殊、u、g、o;
特殊权限在第一位数字上设置;
    suid=4;
    sgid=2;
    sticky=1;
例如:如下命令打开了特殊权限 suid
chmod 4755 a.txt
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/ShiningArmor/p/10463439.html