linux     第六章 账号和权限管理

 

享受生活热爱挑战

                                                                                                                                                                              明远分享

每章一段话:

                 每一个优秀的人,都有一段沉默的时光。人总会有困难丶会被别人不理睬丶这个时候就是你最关键的时候,我们需要相信生活,不放弃,命运不会抛弃你,苦过方可甜。

 

今天我们要学习在linux中的用户和组的各种配置和管理,其实不要想命令多难记,其实多敲几遍就记住了,想它越简单你就越容易达成你的目标。

理论:

Linux基于用户身份对资源访问进行控制    

我们先来看下linux用户帐号和组的分类:

   

   ①超级用户root    
   ②普通用户    
   ③程序用户

组帐号:    
         ①基本组(私有组)    
         ②附加组(公共组)

 

我们的系统有跟windows一样的区分用户和组的ID分别是

UID和GID:  

UID(User Identity,用户标识号)    
GID(Group Identify,组标识号)

我们知道linux中一切皆文件所以:

用于保存用户的帐号基本信息    

文件位置:/etc/passwd    
每一行对应一个用户的帐号记录

我们可以通过tail查看(因为新用户默认在后面)

 

用于保存密码字串、密码有效期等信息    

文件位置:/etc/shadow    
每一行对应一个用户的密码记录(自己去看看吧)

useradd命令

格式:useradd  [选项]...  用户名  
常用命令选项    
-u:指定 UID 标记号    
-d:指定宿主目录,缺省为 /home/用户名    
-e:指定帐号失效时间    
-g:指定用户的基本组名(或UID号)    
-G:指定用户的附加组名(或GID号)    
-M:不为用户建立并初始化宿主目录    
-s:指定用户的登录Shell

 

passwd命令设置密码等

格式:passwd  [选项]...  用户名  

常用命令选项    
-d:清空用户的密码,使之无需密码即可登录    
-l:锁定用户帐号    
-S:查看用户帐号的状态(是否被锁定)    
-u:解锁用户帐号

(密码不会显示的哦)

在不加用户名的情况下直接passwd 会修改你当前用户的密码哦

修改用户账号的属性——usermod

usermod命令  

格式:usermod  [选项]...  用户名    
常用命令选项    
-l:更改用户帐号的登录名称    
-L:锁定用户账户    
-U:解锁用户账户    
以下选项与useradd命令中的含义相同    
-u、-d、-e、-g、-G、-s

 

userdel 删除用户账号

userdel命令  

格式:userdel  [-r]  用户名    
添加 -r 选项时,表示连用户的宿主目录一并删除

 

一起跟着做吧

一,建立用户目录:

   创建目录/tech/benet和/tech/accp,分别用于存放各项目组中用户账户的宿主文件。

步骤:如图所示:

二,添加组账号:

为两个项目添加组账号benet、accp,GID号分别设置为1001 、1002

为技术部添加组账号tech,GID号设置为200

步骤:如图所示:

添加、删除、修改组账号:

groupadd命令添加组账号

gpasswd命令添加、设置、删除组成员

; 添加成员时,使用-a选项

; 删除成员时,使用-d选项

; 如果需要同时指定组账号的所有成员用户时,可以使用“-M”选项。(注意:只能对一个组使用一次,如果使用第二次,就会覆盖第一次添加的成员。)

groupdel命令删除组账号

三,添加用户账号:

1,  benet组包括三个用户,分别为kylin、tsengia、obama,宿主目录均命使用/tech/benet/目录中与账号同名的文件夹。其中kylin用户账号设为2011年12月31日后失效

步骤:如图所示:

2, accp组包括两个用户,分别为handy、cucci,宿主目录均使用/tech/accp/目录中与账号同名的文件夹。其中cucci用户的登录Shell设为/bin/ksh

步骤:如图所示:

添加、删除、修改用户账号:

useradd命令添加用户账号

基本命令格式:

useradd  [ 选项 ]   用户名

; -u:指定用户的UID号,要求该UID号码未被其他用户使用

; -d:指定用户的宿主目录位置

; -e:指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式

; -g:指定用户的基本组名(或使用GID号)

; -G:指定用户的附加组名(或使用GID号)

; -M:不建立宿主目录,即使/etc/login.defs系统配置中已设定要建立宿主目录

; -s:指定用户的登录Shell

passwd命令为用户账号设置密码

; -d:清空指定用户的密码,仅使用用户名即可登录系统

; -l:锁定用户账户

; -S:查看用户账号的状态(是否被锁定)

; -u:解锁用户账户

useradd命令修改用户账号属性

; -u:修改用户的UID号

; -d:修改用户的宿主目录位置

; -e:修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式

; -g:修改用户的基本组名(或使用GID号)

; -G:修改用户的附加组名(或使用GID号)

; -M:不为用户建立并初始化宿主目录

; -s:指定用户的登录Shell

; -l:更改用户账号的登录名称(Login Name)

; -L:锁定用户账号

; -U:解锁用户账号

Userdel命令—删除用户账号

Ø -r:可同时删除宿主目录

用户账号的初始配置文件:

Ø .bashrc_profile文件:此文件中的命令将在该用户每次登录时被执行

Ø .bashrc文件:此文件中的命令会在每次加载“/bin/Bash”程序时(当然也包括登录系统)执行

Ø .bash_logout文件:此文件中的命令将在用户每次退出登录时执行

四,将上述所有的用户账号均要求加入到tech组内,已经将它们加入组了,然后查看一下。

步骤:如图所示:

查询账号信息:

用户账号文件

 主要是:/etc/passwd/etc/shadow

 组账号文件

 主要是:/etc/group/etc/gshadow

groups命令—查询用户账号所属的组

id命令—查询用户账号的身份标识

finger命令—查询用户账号的登录属性

w命令—查询当前主机的用户登录情况(userswho

五,为kylintsengiahandy这三个用户账号设置初始密码为“123456”,其他用户暂时不设密码

步骤:如图所示:

六,设置目录权限及归属

1, 将/tech目录的属组设置为tech,去除其他用户的所有权限

步骤:如图所示:

2, 将/tech/benet目录的属组设置为benet,去除其他用户的所有权限

步骤:如图所示:

3, 将/tech/accp目录的属组设置为accp,去除其他用户的所有权限

步骤:如图所示:

设置目录和文件的权限:

需要设置文件或目录的权限时,主要通过chmod命令进行。

n 字符形式:

r   读取   查看文件内容  查看目录内容(显示子目录、文件列表)

w  写入   修改文件内容  修改目录内容(在目录中创建、移动、删除文件或目录)

x  可执行  执行该文件(程序或脚本)   执行cd命令进入或退出该目录

数字形式:

r、w、x权限字符可分别表示为八进制数字4、2、1,表示一个权限组合时需要将数字进行累加。

基本使用格式:

chmod  [ ugoa]  [ +-= ]  [ rwx ]  文件或目录…

或者

chmod   nnn文件或目录…

 ugoa表示该权限设置所针对的用户类别。“u”代表文件属主,“g”代表文件属       组,“o”代表其他任何用户,“a”代表所有用户(ugo的总和)

 +-=表示设置权限的操作动作。“+”代表增加相应权限,“-”代表减少相应权限,“=”代表仅设置对应的权限

 rwx是权限的字符组合形式,也可以拆分使用

 nnn为需要设置的具体权限值,如“770”、“644”等

 -R:将一个目录中的所有子目录及文件的权限都设置为相同的值。

设置目录和文件的归属:

需要设置文件或者目录的归属时,主要通过chown命令进行。

基本使用格式:

chown    属主 [ : [属组] ]   文件或目录…

同时设置属主、属组时,用户名和组名之间用分号“;”进行分隔。如果只设置属组时,需使用组名”的形式。

 -R:递归修改目录归属

七,建立公共数据存储目录

创建/public目录,允许所有技术组内的用户读取、写入、执行文件,非技术组的用户禁止访问此目录

步骤:如图所示:

 

在这里只能简单的给大家介绍下,还需多加练习方可掌握。