天天看点

linux用户和文件权限的管理

<b>                   </b>

<b>第四章</b><b> </b><b>管理用户和文件权限</b>

<b> </b>

2.1用户和组账号概述

<b>1)</b><b>用户账号:超级用户,普通用户和程序用户。</b>

Ø <b>超级用户,即root</b><b>用户,类似于Windows</b><b>系统中的Administrator</b><b>用户, </b><b>非执管理任务时不建议使用root</b><b>用户登录系统</b>

Ø <b>普通用户帐号一般只在用户自己的宿主目录中有完全权限</b>

Ø <b>程序用户:用于维持系统或某个程序的正常运行,一般不允许登录到系统。例如:bin</b><b>、daemon</b><b>、ftp</b><b>、mail</b><b>等</b>

<b>2)</b><b>组账号</b>

<b>基本组(私有组):每个用户至少有一个组。</b>

<b>附件组(公共组):同时包括在其他组中。</b>

<b>3)</b><b>UID</b><b>和GID</b>

Ø <b>root</b><b>用户的UID</b><b>的固定值为0</b><b>、root</b><b>组帐号的GID</b><b>号为固定值0 </b>

Ø <b>1~499</b><b>的UID</b><b>、GID</b><b>默认保留给程序用户使用,普通用户/</b><b>组使用的UID</b><b>、GID</b><b>号在500</b><b>~60000</b><b>之间</b>

<b>2.2 </b><b>用户账号管理</b>

<b>   1</b><b>) </b><b>用户账号文件</b>

<b>      A . passwd</b><b>文件位置:/etc/passwd</b>

<b>      </b><b>例:benet:x:500:500:BENET Student User:/home/benet:/bin/bash</b>

<b>字段1</b><b>:用户帐号的名称</b>

<b>  </b><b>字段2</b><b>:用户密码字串或者密码占位符“x”</b>

<b> </b><b>字段3</b><b>:用户帐号的UID</b><b>号</b>

<b> </b><b>字段4</b><b>:所属基本组帐号的GID</b><b>号</b>

<b> </b><b>字段5</b><b>:用户全名</b>

<b> </b><b>字段6</b><b>:宿主目录</b>

<b> </b><b>字段7</b><b>:登录Shell</b><b>信息</b>

<b>      B</b><b>.shadow</b><b>文件位置:/etc/shadow</b>

<b>         </b><b>例benet:$1$po/zD0XK$4HSh/Aeae/eJ6dNj1k7Oz1:14495:0:99999:7:::</b>

<b>     </b><b>字段1</b><b>:用户帐号的名称</b>

<b>字段2</b><b>:加密的密码字串信息</b>

<b> </b><b>字段3</b><b>:上次修改密码的时间</b>

<b> </b><b>字段4</b><b>:密码的最短有效天数,默认值为0</b>

<b> </b><b>字段5</b><b>:密码的最长有效天数,默认值为99999</b>

<b> </b><b>字段6</b><b>:提前多少天警告用户口令将过期,默认值为7</b>

<b> </b><b>字段7</b><b>:在密码过期之后多少天禁用此用户</b>

<b> </b><b>字段8</b><b>:帐号失效时间,默认值为空</b>

<b> </b><b>字段9</b><b>:保留字段(未使用)</b>

<b>2)</b><b>useradd</b><b>命令——添加用户账户</b>

<b> A       </b><b>格式:useradd [</b><b>选项]... </b><b>用户名</b>

<b>B       </b><b>常用命令选项</b>

<b>-u</b><b>:指定 UID </b><b>标记号</b>

<b>-d</b><b>:指定宿主目录,缺省为 /home/</b><b>用户名</b>

<b>-e</b><b>:指定帐号失效时间:YYYY-MM-DD</b>

<b>-g</b><b>:指定用户的基本组名(或UID</b><b>号)</b>

<b>-G</b><b>:指定用户的附加组名(或GID</b><b>号)</b>

<b>-M</b><b>:不为用户建立并初始化宿主目录</b>

<b>-s</b><b>:指定用户的登录Shell</b>

<b>3)</b><b>passwd</b><b>命令——为用户设置密码</b>

<b>A      </b><b>格式:passwd [</b><b>选项]... </b><b>用户名</b>

<b>B      </b><b>常用命令选项</b>

<b>-d</b><b>:清空用户的密码,使之无需密码即可登录</b>

<b>-l</b><b>:锁定用户帐号</b>

<b>-S</b><b>:查看用户帐号的状态(是否被锁定) </b>

<b>-u</b><b>:解锁用户帐号</b>

<b> 4</b><b>)usermod</b><b>命令——修改用户账户属性</b>

<b>       A    </b><b>格式:usermod [</b><b>选项]... </b><b>用户名</b>

<b>B    </b><b>常用命令选项</b>

<b>-l</b><b>:更改用户帐号的登录名称</b>

<b>-L</b><b>:锁定用户账户</b>

<b>-U</b><b>:解锁用户账户</b>

<b>以下选项与useradd</b><b>命令中的含义相同</b>

p <b> -u</b><b>、-d</b><b>、-e</b><b>、-g</b><b>、-G</b><b>、-s</b>

<b>注意:usermod</b><b>有两个选项“-L”</b><b>、“-U”</b><b>,分别用于锁定、解锁用户帐号,这两个选项与passwd</b><b>命令的“-l”</b><b>、“-u”</b><b>选项作用基本相同,只不过大小写存在区别 </b>

<b>5</b><b>)userdel</b><b>命令——删除用户账户</b>

<b>a)</b><b>格式:userdel [-r] </b><b>用户名</b>

<b>b)</b><b>添加 -r </b><b>选项时,表示连用户的宿主目录一并删除</b>

<b>6)</b><b>用户账户的初始化配置文件</b>

<b>A    </b><b>文件来源</b>

<b>新建用户帐号时,从 /etc/skel </b><b>目录中复制而来</b>

<b>B   </b><b>主要的用户初始配置文件</b>

<b>~/.bash_profile</b><b>:用户每次登录时执行</b>

<b>~/.bashrc</b><b>:每次进入新的Bash</b><b>环境时执行(登陆时执行吗)</b>

<b>~/.bash_logout</b><b>:用户每次退出登录时执行</b>

<b>2.3 </b><b>组账户管理</b>

<b>   1</b><b>)组账户文件</b>

<b>      </b><b>与用户帐号文件相类似</b>

<b>/etc/group</b><b>:保存组帐号基本信息</b>

<b>/etc/gshadow</b><b>:保存组帐号的密码信息(很少用)</b>

<b>   2</b><b>)groupadd</b><b>命令——添加组账户</b>

<b>   3</b><b>)gpasswd</b><b>命令——添加、删除组成员</b>

<b>      </b><b>例如:gpasswd –a(add)/-d(delete) mike(</b><b>用户) root</b><b>(组)</b>

<b>4)</b><b>groupdel</b><b>命令——删除组账户</b>

<b>格式:groupdel </b><b>组名称</b>

<b>2.4</b><b>用户和组账号查询。</b>

<b>1</b><b>) id</b><b>命令</b>

<b>用途:查询用户身份标识</b>

<b>格式:id [</b><b>用户名]</b>

<b>2</b><b>)groups</b><b>命令</b>

<b>用途:</b><b>查询用户所属的组</b>

<b>格式:groups [</b><b>用户名]</b>

<b>3</b><b>)finger</b><b>命令</b>

<b>用途:查询用户帐号的详细信息</b>

<b>格式:finger [-l] [</b><b>用户名]</b>

<b>4</b><b>)users</b><b>、w </b><b>、who</b><b>命令</b>

<b>用途:查询已登录到主机的用户信息</b>

<b>2.5</b><b>图形化得用户和管理工具</b>

<b>     </b><b>打开方式:system-config-users</b><b>后输入管理员密码</b>

<b>1. 管理文件/目录的权限和归属</b>

<b>权限</b>

<b>读取:允许查看文件内容、显示目录列表</b>

<b>写入:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录</b>

<b>可执行:允许运行程序、切换目录</b>

<b>归属(所有权)</b>

<b>属主:拥有该文件或目录的用户帐号</b>

<b>属组:拥有该文件或目录的组帐号</b>

<b> 3.1</b><b>查看文件/</b><b>目录的权限和归属</b>

<b>    </b>

<b>注意:“-rw-r—r--”</b><b>部分的第一个字符表示文件类型,可以是d(</b><b>目录)</b><b>、b(</b><b>块设备文件)</b><b>、c(</b><b>字符设备文件)</b><b>,减号“-”</b><b>(普通文件)、字母“l”</b><b>(链接文件)等</b>

<b> 3.2</b><b>设置文件/</b><b>目录的权限</b>

<b>表示用户u g</b><b>表示组 o</b><b>表示其他   a</b><b>表示所有 </b><b>用户组和其他</b>

<b>Chmod - -reference </b><b>文件1 </b><b>文件2 </b><b>把文件1</b><b>的权限复制给文件2</b>

<b>思考: chmod  u+x,o-r   aa</b>

<b>3.3   </b><b>设置文件/</b><b>目录的归属    chown</b><b>命令</b>

<b>A </b><b>格式:chown </b><b>属主   </b><b>文件或目录</b>

<b>              chown :</b><b>属组 </b><b>文件或目录</b>

<b>              chown </b><b>属主:</b><b>属组 </b><b>文件或目录</b>

<b>B </b><b>常用命令选项</b>

<b>-R</b><b>:递归修改指定目录下所有文件、子目录的归属</b>

<b> 3.4 </b><b>使用附件权限</b>

<b>1)</b><b>SET</b><b>位权限(SUID;SGID</b><b>)</b>

<b>A    </b><b>主要用途:</b>

<b> </b><b>为可执行(有 x </b><b>权限的)文件设置,权限字符为”s”</b>

<b> </b><b>其他用户执行该文件时,将拥有属主或属组用户的权限</b>

<b>B    SET</b><b>位权限类型:</b>

<b> SUID</b><b>:表示对属主用户增加SET</b><b>位权限</b>

<b> SGID</b><b>:表示对属组内的用户增加SET</b><b>位权限</b>

<b>例子:ll /usr/bin/passwd</b>

<b>   2)</b><b>粘滞位权限</b>

<b>A </b><b>主要用途:</b>

<b> </b><b>为公共目录(例如,权限为777</b><b>的)设置,权限字符为“t”</b>

<b> </b><b>用户不能删除该目录中其他用户的文件</b>

<b>B </b><b>应用示例:/tmp</b><b>、/var/tmp </b>

<b>   3)</b><b>设置附件权限</b>

<b>A </b><b>使用权限字符</b>

<b> chmod ug±s </b><b>可执行文件...</b>

<b> chmod o±t </b><b>目录名...</b>

<b>B </b><b>使用权限数字:</b>

<b> chmod mnnn </b><b>可执行文件...</b>

<b> m</b><b>为4</b><b>时,对应SUID</b><b>,2</b><b>对应SGID</b><b>,1</b><b>对应粘滞位,可叠加</b>

继续阅读