零基础学习云计算及大数据DBA集群架构师【Linux系统环境及权限管理2015年12月23日周三】

  1 2015.12.23/Wed
  2 
  3 *************摘要**************
  4 文件目录权限     d/l/-/b/c/p/s    u\g\o\ rwx   suid\sgid\sticky 
  5 切换用户     sudo\su
  6 修改权限     chmod chown chgrp umask
  7 相关文档     /etc/profile 
  8             ~/.bash_profile
  9 
 10 
 11 
 12 
 13 
 14 
 15 **********用户身份切换**********
 16 1.su
 17   su [-lm] [-c 指令] [username]
 18   选项与参数:
 19     - :单纯使用 - 如『 su - 』 以login-shell变量档案读取方式登入系统;默认切换为root
 20     -l :与 - 类似  login-shell 
 21     -m :-m与-p 一样,表示『使用目前的环境设定,而不读取新使用者的配置文件』
 22     -c :接指令
 23   总结:
 24     1su - username 或 su -l username 
 25        完整切换成新使用者的环境 用env查看环境变量  PATH/USER/MAIL 
 26     2su - -c "指令"
 27        仅想要执行一次root的指令
 28     3)使用root切换成为任何使用者时,不需要输入新用户密码
 29     4)缺点:当主机多人管理时,su切换成root,那每个人都需要知道root密码,不安全。
 30 
 31 2.sudo
 32   sudo  [-u user name | #uid] [command]
 33   
 34   sudo执行流程:
 35     1. 在/etc/sudoers档案中查看user是否有sudo执行权限
 36     2. 若有sudo执行权限,『输入用户的密码』
 37     3. 密码正确,开始执行sudo后续接的指令
 38     4. root无需密码,自己切换自己也无需密码
 39 
 40   添加用户sudo执行权限的方法:(如何让用户可以使用sudo?)
 41     1.visudo 可以让系统检验/etc/sudoers的语法是否正确
 42     2.修改/etc/sudoers中的语法
 43       1)单一用户可使用root所有指令或某些指令
 44          root      ALL=(ALL)  ALL <==找到这一行,rh6在98行
 45          username  ALL=(ALL)  ALL <==新增这一行
 46          username  ALL=(root) /bin/touch<==新增这一行
 47          语法解释:
 48          使用者账号 登入者癿杢源主机名=(可切换的身份) 可下达的指令
 49          root      ALL=(ALL)                    ALL <==这是默认值
 50          1. 使用者帐号:系统哪个帐号可以使用sudo
 51          2. 登入者的来源主机名:信任用户 默认root可来自任何一部网络主机
 52          3. 可切换的身份:该账号可以切换成谁来下命令,末日root可以切换成任何人
 53          4. 可下达的指令:可用该身份下达什么指令。必需使用绝对路径(可通过which\whereis查询)
 54          5. ALL: 是特殊关键词,代表任何身份、任何主机、任何命令
 55       2)群组和免密码的功能处理
 56          %wheel      ALL=(ALL)    ALL<==找到这一行,rh6在105行
 57          %wheel      ALL=(ALL)    NOPASSWD: ALL<==找到这一行,rh6在108行
 58          语法解释:
 59          1. %接群组
 60          2. wheel群组内的用户有使用sudo的权限,并可以切换成任何人,执行切换后身份的任何命令
 61          3. wheel群组内的用户切换用户时不需要输入自己的密码
 62 
 63       3) 有限的权限操作
 64          dabao   ALL=(root) /usr/bin/passwd <==有bug,dabao能修改root密码
 65          dabao   ALL=(root) !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root<==可以执行『 passwd 任意字符』,但是『 passwd 』和『 passwd root 』这两个命令不可执行
 66      
 67       4)别名设置 visudo
 68          User_Alias DABAO=dabao,jerry,tom,g1,g2,g3
 69          Cmnd_Alias DABAOCOM = !/usr/bin/passwd,/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root
 70          DABAO  ALL=(root) DABAOCOM
 71       5) sudo 搭配 su 使用
 72          username   ALL=(root) /bin/su -
 73          sudo su - <==sudo -u root su -l root
 74          可以直接切换成root用户,而且不需要输入root密码
 75      6)5分钟内可以不用再输入密码。
 76 
 77 
 78 
 79 
 80 **********权限**********
 81 1.权限的作用:
 82 2.文件的类型:
 83   d 目录
 84   - 普通文件:纯文本文档ASCII、二进制binary、数据格式文件data
 85   l 连结文件
 86   b 块设备文件
 87   c 设备文件
 88   p 管道文件
 89   s 套接字符文件
 90 3.权限的类型:rwx
 91   user group others
 92   rwx
 93   421
 94 
 95 4.chmod
 96   + - =
 97   rwx
 98   u g o a 所有用户
 99   777
100   W结合x权限可以对目录下的文件进行以下操作:cd rm touch cp
101   r结合x权限可以对目录下的文件进行ls操作
102   x决定了能否进入目录
103 
104 5.chown
105   -R 针对目录递归修改拥有者 chmod -R dabao /tmp 
106   chmod user:group 目录/文件
107 6.chgrp
108 7.umask创建文件/目录的默认权限
109   公式              最大权限-umask=默认权限
110   user     文件     666    -022  = 644   rw-r--r--
111   root     文件     666    -002  = 664   rw-rw-r--
112   user     目录     777    -022  = 755   rwxr-xr-x
113   root     目录     777    -002  = 775   rwxrwxr-x
114   umask 777 只针对当前环境临时生效
115   /etc/profile定义了普通用户和root用户的umask值,对所有用户生效
116   ~/.bash_profile可以定义当前用户的umask值,只对当前用户生效,需要重新登陆用户后生效。
117   默认属性相加减,则档案变成:666-003=663,是 -rw-rw--wx ,错!!
118 
119 8.特殊权限
120   SUID 
121   范围:二进制的可执行的文件
122   作用:临时拥有所有者的权限
123   SGID 
124   范围:目录或者拥有可执行权限的文件
125   作用:继承目录所属组
126   STICKY 
127   范围:目录
128   作用:只有root用户和文件拥有者有权删除目录中的文件。

 

你可能感兴趣的:(零基础学习云计算及大数据DBA集群架构师【Linux系统环境及权限管理2015年12月23日周三】)