linux之权限管理

用户名称解析:

login: root

名称解析库来实现,这些库文件位于 /lib64,,/usr/lib64目录,通常以libnss

  nss:network service switch

安全上下文:每个进程均以某个用户的运行的身份运行

       进程访问资源的权限取决于发起此进程的那个用户的权限;

权限:

ls �Cl

rw--r―r--

     三类帐号:

            属主:owner,u

           属组:group,g

           其它:other,o

对应于当前资源,每类帐号都通过三类权限限定,按如下次序固定排列;

r  读

w 写

x执行

-0

某类用户对某文件的访问权限:
        --- 000 0
        --x 001 1
        -w- 010 2
        -wx 011 3
        r-- 100 4
        r-x 101 5
        rw- 110 6
        rwx 111 7

练习:

1.640,600,660,775,755,750,700

rx-r-----,

rw-------,

rw-rw----,

rwxrwxr-x,

rwxr-xr-x,

rwx-rx---,

rwx------

2.rwxr-xr―,r-xr-xr―,rw-r-----,rwxrwxrwx

   754                554      640       777

权限(perm):mode,ownership

修改mode:

chmod命令

chmod[-R]OCTAL-MODE FILE…

-R:递归修改

=============

# mkdir mymod

# cp /etc/fstab -l /tmp/mymod

ll -d /tmp/mymod
-rw-r--r--. 2 root root 899 8月  20 07:11 /tmp/mymod
# chmod -R 700 /tmp/mymod

ll -d /tmp/mymod
-rwx------. 2 root root 899 8月  20 07:11 /tmp/mymod

 

u

用户

g

o

其它

a

所有用户(默认)

opcode

+

增加权限

-

删除权限

=

重新分配权限

操作指定类别用户的权限:=

u=,g=,o=,ug=,a=

操作某类用户的某位或某些位权限:+ -

u+,g+,o+

u-,g-,o-

引用性修改:

--reference=/PATH/TO/SOMEFILE

练习:复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。

#cp �Cr /etc/skel /home/tuser1

#ls �Cld /home/tuser1

#chmod �CR go=/home/tuser1

实例:

$ chmod u+x file                   给file的属主增加执行权限

$ chmod 751 file                   给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限

$ chmod u=rwx,g=rx,o=x file      上例的另一种形式

$ chmod =r file                 为所有用户分配读权限

$ chmod 444 file               同上例

$ chmod a-wx,a+r   file       同上例

$ chmod -R u+r directory         递归地给directory目录下所有文件和子目录的属主分配读的权限

$ chmod 4755                           设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。

修改owership:仅管理员有权限

chown

     chown [选项]... [所有者][:[组]] 文件...

     通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。

必要参数:

-c 显示更改的部分的信息

-f 忽略错误信息

-h 修复符号链接

-R 处理指定目录以及其子目录下的所有文件

-v 显示详细的处理信息

-deference 作用于符号链接的指向,而不是链接文件本身

选择参数:

--reference=<目录或文件> 把指定的目录/文件作为参考,把操作的文件/目录设置成参考文件/目录相同拥有者和群组

--from=<当前用户:当前群组> 只有当前用户和群组跟指定的用户和群组相同时才进行改变

--help 显示帮助信息

--version 显示版本信息

1。要修改文件hh.c的所有者.修改为sakia的这个用户所有
chown sakia hh.c
这样就把hh.c的用户访问权限应用到sakia作为所有者
2。将目录 /tmp/sco 这个目录的所有者和组改为sakia和组net
chown -R sakia:net /tmp/sco

chgrp

改变/opt/local /book/及其子目录下的所有文件的属组为book,命令如下:
$ chgrp - R book /opt/local /book

umask:遮罩码
       目录:777-umask
       文件:666-umask
           如果某一类用户的权限减得的结果有执行权限,此时会自动让其权限位加1;

       umask UMASK
           设定:仅对当前shell进程有效;

chow的用法技巧:

chown[-R][―reference=][USER][:GROUP]FILE…

USER  只改属主

USER:GROUP 同时改属主和属组

:GROUP只改属组

你可能感兴趣的:(linux,service,用户,NetWork,上下文)