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

linux中用户,组管理

2015-10-08 16:39 369 查看
操作系统管理和分配硬件资源向上层输出系统调用借口,从而简化了应用程序的设计。如果想要使用系统资源,则需要一个凭证:用户
linux上创建,修改,删除用户的命令详解:
创建用户useradd:在linux系统上和用户相关的文件有/etc/passwd,该文件用户存储用户的基本信息(用户名,UID,GID,注释信息,用户的家目录,用户的shell类型),/etc/passwd文件用于存放用户的密钥,密码过期时间等相关信息,/etc/group文件用于存放组相关信息(组名,GID,以该组为附加组用户的用户名)。所以在linux系统上创建用户实际上就是向着三个文件中写入相关内容的过程。
useradd【options】username
options:/etc/passwd文件相关的
-u uid 使用-u选项指定uid
-d 使用-d选项指定创建的新用户的家目录
-s 使用-s选项可以指定创建的用户的默认shell
-g gid或者组名 为用户指定基本组
如果使用-N选项,表示不为该用户创建基本组。-N和-g都不使用,默认useradd命令会创建一个组名同用户名的基本组(取决于/etc/login.defs文件中USERDROUPS_ENAB变量)
-r 选项表示创建的新用户为系统用户(无法登陆系统)
-p 选项可以在创建的同时为该用户指定密码(需填写加密后的)
useradd命令相关文件:useradd在创建用户的时候,如果没有明确指定相关选项,useradd会根据/etc/login.defs文件和/etc/default/useradd文件为新创建的用户指定默认值
/etc/login.defs文件中,通过variable=value的形式,决定了是否为用户创建家目录,随机UID和GID的取值范围,/etc/shadow文件中过期时间等值的设定。是否创建基本组(USERGROUPS_ENAB=yes则useradd会自动创建基本组,组名等于用户名,在userdel删除该用户时如果该组中没有其他用户,这个组也会从/etc/group文件中删除),加密方法等。可以理解为/etc/login.defs文件是用于确定useradd的默认行为,具体采用的默认值则根据另外一个文件
/etc/default/useradd文件记录了useradd在没有明确指定相关选项的时候使用的默认值,useradd -D选项就可以显示这个文件的内容,HOME=/home表示用户家目录在HOME指定的目录下创建,SHELL为默认使用shell, SKEL,CREATE_MAIL_SPOOL=yes表示创建mail spool,具体创建目录在上文件/etc/login.defs文件中给出,INACTIVE,EXPIRE等相关内容
同时useradd会在新创建的用户的家目录下创建相关的shell配置文件,文件内容比较简单,就是读取/etc/bashrc的内容,在手工填写文件创建用户需注意为新用户的shell提供配置文件

修改用户usermod:对于用户的修改主要就是修改/etc/passwd文件的内容和为用户添加附加组。-u,-g,-s,-d等,-G指定附加组

删除用户userdel:-f强制删除
userdel命令也会读取/etc/login.defs文件中相关变量的值( MAIL_DIR等)
关于组,每一个用户只能有一个基本组,但是可以有多个附加组,组经常用于当多个用户需拥有相似或相同权限时让这些用户使用同一个组为附加组,然后赋予这个组合适的权限。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  系统用户管理