您的位置:首页 > 运维架构 > Linux

Linux 用户管理二

2007-03-29 00:49 471 查看
4、/etc/gshadow用户组帐号的加密文件
[root@jekay/]#cat/etc/gshadow

用户组名用户组密码用户组的管理者组成员列表

root:::root

bin:::root,bin,daemon

daemon:::root,bin,daemon

sys:::root,bin,adm

adm:::root,adm,daemon

tty:::

……

/etc/gshadow是/etc/group的加密文件;
用户组密码,用于结构比较复杂的权限模型;
5、/etc/skel目录用来初始化用户的主目录
[root@jekay/]#ls-al/etc/skel

total20

drwxr-xr-x2rootroot4096Mar2716:59.

drwxr-xr-x32rootroot4096Mar2717:04..

-rw-r--r--1rootroot24Feb112003.bash_logout

-rw-r--r--1rootroot191Feb112003.bash_profile

-rw-r--r--1rootroot124Feb112003.bashrc

目录中存放有与用户相关的配置文件。一般来说,每个用户都有自己的主目录,用户
成功登录后就处于自己的主目录下。
当为新用户创建主目录时,系统会在新用户的主目录下建立一份/etc/skel目录下所有文件的拷贝,用来初始化用户的主目录。
2、超级权限控制sudo的配置文件/etc/sudoers
[align=left]root超级用户是系统最高权限的拥有者;几乎无所不能,多数的系统设置和权限设置对root帐号来说是无用的;所以root帐号权限管理不善就会造成系统安全的隐患;[/align]
[align=left]在对系统操作时尽量避免使用root登陆,也应该尽量避免直接使用root帐号对系统进行配置和操作;但有时普通用户可能需要root权限来完成必要的系统管理工作,我们可以使用su和sudo来实现;[/align]
[align=left]用户帐号类型:[/b][/b][/align]
[align=left]超级用户:在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者。普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户。在系统中,每个文件、目录和进程,都归属于某一个用户,没有用户许可其它普通用户是无法操作的,但对root除外。root用户的特权性还表现在root可以超越任何用户和用户组来对文件或目录进行读取、修改或删除(在系统正常的许可范围内);对可执行程序的执行、终止;对硬件设备的添加、创建和移除等;也可以对文件和目录进行属主和权限进行修改,以适合系统管理的需要(因为root是系统中权限最高的特权用户);UID为0;[/b][/align]
[align=left]普通用户和伪装用户:与超级用户相对的就是普通用户和虚拟(也被称为伪装用户),普通和伪装用户都是受限用户;但为了完成特定的任务,普通用户和伪装用户也是必须的;Linux是一个多用户、多任务的操作系统,多用户主要体现在用户的角色的多样性,不同的用户所分配的权限也不同;这也是Linux系统比Windows系统更为安全的本质所在;[/align]
[align=left]但值得注意的是超级用户的操作是在系统最高许可范围内的操作;有些操作就是具有超级权限的root也无法完成;如:/proc目录、加了写保护的文件等;[/align]
[root@jekay/]#ls-ld/proc

dr-xr-xr-x
47rootroot0Mar2712:03/proc


[root@jekaytmp]#chattr+ifile

[root@jekaytmp]#rm-ffile

rm:cannotremove`file':Operationnotpermitted


[align=left]获取超级权限的过程,就是切换普通用户身份到超级用户身份的过程;这个过程主要是通过su和sudo来解决;[/align]
[align=left]使用su命令临时切换用户身份[/align]
[align=left]su命令就是切换用户的工具;[/align]
[align=left]su[OPTION选项参数][用户]
-,-l,--login登录并改变到所切换的用户环境;
-c,--commmand=COMMAND执行一个命令,然后退出所切换到的用户环境;[/align]

[align=left]su在不加任何参数,默认为切换到root用户,不改变shell环境;[/align]
[align=left]su加参数-,表示默认切换到root用户,并且改变到root用户的环境;[/align]
[align=left]su的确为管理带来方便,通过切换到root下,能完成所有系统管理工具,只要把root的密码交给任何一个普通用户,他都能切换到root来完成所有的系统管理工作;但如果登陆的用户比较多,而多个用户都需要使用root权限,这时就可能会造成安全隐患,而且由于切换的过程是打开root的shell环境,很多情况下也会造成root权限外泻;[/align]
[align=left]sudo工具[/b][/align]
由于su对切换到超级权限用户root后,权限的无限制性,所以su并不能担任多个管理员所管理的系统。通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码,所以sudo相对于权限无限制性的su来说,还是比较安全的,所以sudo也能被称为受限制的su;另外sudo是需要授权许可的,所以也被称为授权许可的su;
[align=left]sudo执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权;[/align]
[align=left]sudo的配置文件是/etc/sudoers;可通过命令visudo直接进行编辑;[/align]
[align=left]通过sudo-l来查看哪些命令是可以执行或禁止的;[/align]
[align=left]/etc/sudoers文件中每行算一个规则,前面带有#号可以当作是说明的内容,并不执行;如果规则很长,一行列不下时,可以用\号来续行,这样看来一个规则也可以拥有多个行;[/align]
[align=left]/etc/sudoers的规则可分为两类;一类是别名定义,另一类是授权规则;别名定义并不是必须的,但授权规则是必须的;[/align]
默认/etc/sudoers配置文件
[root@jekay]#cat/etc/sudoers
#sudoersfile.

#ThisfileMUSTbeeditedwiththe'visudo'commandasroot.

#Seethesudoersmanpageforthedetailsonhowtowriteasudoersfile.

#Hostaliasspecification

#Useraliasspecification

#Cmndaliasspecification

#Defaultsspecification

#Userprivilegespecification

rootALL=(ALL)ALL

#Uncommenttoallowpeopleingroupwheeltorunallcommands

#%wheelALL=(ALL)ALL

#Samethingwithoutapassword

#%wheelALL=(ALL)NOPASSWD:ALL

#Samples

#%usersALL=/sbin/mount/cdrom,/sbin/umount/cdrom

#%userslocalhost=/sbin/shutdown-hnow

[align=left][/align]
[align=left]别名规则定义格式如下:[/align]
[align=left]Alias_TypeNAME=item1,item2,...[/align]
[align=left]或Alias_TypeNAME=item1,item2,item3:NAME=item4,item5[/align]
[align=left]别名类型(Alias_Type):别名类型包括如下四种[/align]
[align=left]Host_Alias定义主机别名;项目可以是主机名、可以是单个ip(整段ip地址也可以),也可以是网络掩码;[/align]
[align=left]Host_AliasBE01=localhost,bt05,tt04,10.0.0.4,255.255.255.0,192.168.1.0/24注:定义主机别名HT01,通过=号列出成员[/align]
[align=left]User_Alias用户别名,别名成员可以是用户,用户组(前面要加%号)[/align]
[align=left]User_AliasSYSAD=jekay,linux,lt,benet:NETAD=jekay:WEBMASTER=admin[/align]
[align=left]Runas_Alias用来定义runas别名,这个别名指定的是“目的用户”,即sudo允许切换至的用户;[/align]
[align=left]Runas_AliasOP=root,operator[/align]
[align=left]Cmnd_Alias定义命令别名;[/align]
[align=left]Cmnd_AliasDISKMAG=/sbin/fdisk,/sbin/parted
Cmnd_AliasNETMAG=/sbin/ifconfig,/etc/init.d/network
Cmnd_AliasKILL=/usr/bin/kill[/align]

NAME就是别名了,NMAE的命名是包含大写字母、下划线以及数字,但必须以一个大写字母开头;
[align=left]item按中文翻译是项目,在这里我们可以译成成员,如果一个别名下有多个成员,成员与成员之间,通过半角,号分隔;成员在必须是有效并事实存在的。[/align]
[align=left]item成员受别名类型Host_Alias、User_Alias、Runas_Alias、Cmnd_Alias制约,定义什么类型的别名,就要有什么类型的成员相配。我们用Host_Alias定义主机别名时,成员必须是与主机相关相关联,比如是主机名(包括远程登录的主机名)、ip地址(单个或整段)、掩码等;当用户登录时,可以通过w命令来查看登录用户主机信息;用User_Alias和Runas_Alias定义时,必须要用系统用户做为成员;用Cmnd_Alias定义执行命令的别名时,必须是系统存在的文件,文件名可以用通配符表示,配置Cmnd_Alias时命令需要绝对路径;其中Runas_Alias和User_Alias有点相似,但与User_Alias绝对不是同一个概念,Runas_Alias定义的是某个系统用户可以sudo切换身份到Runas_Alias下的成员;我们在授权规则中以实例进行解说;[/align]
[align=left]别名规则是每行算一个规则,如果一个别名规则一行容不下时,可以通过\来续行;同一类型别名的定义,一次也可以定义几个别名,他们中间用:号分隔,[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 职场 管理 休闲