linux用户管理

背景:linux是目前流行的操作系统,除了微软系剩下的大多数都是以linux为平台,部署开发,用户管理对于系统资源的控制,隔离以及问题排查很有必要,本文蛀牙从三方面进行阐述,用户管理,用户相关文件和权限切换。

 

1 用户管理

  •   添加用户,命令为useradd ,格式为 :useradd   [选项......]  用户名

   

  例子:useradd –d /usr/sam -m sam 

   此命令创建了一个用户sam,
  其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。

 

  • 修改密码,命令为passwd   格式为:passwd  [选项......] 用户名

例子:passwd zhangsan  (修改张三的用户名)

  • 新建组 ,命令为groupadd  ,格式为:groupadd [选项]  组名

 

例子:groupadd www(创建www组,把与web相关的都可以加入到组中,可以在创建用户的时候指定,也可以通过usermod指定)

  • 用户修改 ,命令为usermod,格式为:usermod [选项]  组名/用户名 

例子:usermod -G www nginx(把nginx加入到www组中)

  • 用户删除 userdel  ,格式为:userdel [选项] 登录

例子:userdel zhangsan (删除用户zhangsan )

 

2 用户权限相关文件

 通过用户管理所创建的权限,对应到文件的话,主要涉及到4个文件 /etc/passwd ,  /etc/group , /etc/shadow和/etc/gshadow。

  • /etc/passwd ,用户账号信息(不要被名字所误导)

 每一行都代表一个用户,每一行又通过[:]分为七个部分

    1、账号名称
  2、原先用来保存密码的,现在密码都放在/etc/shadow中,所以这里显示x
  3、UID,也就是使用者ID。默认的系统管理员的UID为0,我们添加用户的时候最好使用1000以上的UID,1-1000范围的UID最好保留给系统用。
  4、GID,也就是群组ID
  5、关于账号的一些说明信息,大部分为空
  6、账号的home目录,home目录就是你登陆系统后默认的那个目录
  7、账号使用的shell

 

  • /etc/shadow,用户密码文件

和passwd文件对应,这里也是由[:]来进行分割,一共分九部分:

       1、账户名称(密码需要与账户对应的嘛)
  2、加密后的密码
  3、从1970年1月1日算起的总的天数
  4、密码不可被变更的天数:设置了这个值,则表示从变更密码的日期算起,多少天内无法再次修改密码,如果是0的话,则没有限制
  5、密码需要重新变更的天数:密码经常更换才能保证安全,为了提醒某些经常不更换密码的用户,可以设置一个天数,强制让用户更换密码,也就是说该用户的密码会在多少天后过期,如果为99999则没有限制
  6、密码过期预警天数:如果在5中设置了密码需要重新变更的天数,则会在密码过期的前多少天进行提醒,提示用户其密码将在多少天后过期
  7、密码过期的宽恕时间:如果在5中设置的日期过后,用户仍然没有修改密码,则该用户还可以继续使用的天数
  8、账号失效日期,过了这个日期账号就不能用了
  9、保留字段

 

  • /etc/group    组信息

通过[:]分割成4个部分:

       1、组名
  2、组密码标志
  3、GID
  4、组中附加用户,一般在passwd文件中

 

  • /etc/gshadow  组密码文件

以[:]进行分割成4个部分:

       1、组名
  2、组密码标志 ,!表示这个用户组没有用户组密码,没有用户组密码意味着这个用户组没有用户组管理员,其实大多数用户  组都没有用户组管理员
  3、管理者这个字段也可为空,如果有多个用户组管理者,用,号分割 
  4、 组内用户列表:如果有多个成员,用,号分割 

 

3 普通用户授权root权限

  •  su

   su是最简单的身份切换名,用su我们能够进行不论什么用户的切换,一般都是su - username,然后输入password就ok了,可是root用su切换到其它身份的时候是不须要输入password的。

    su三种用法:

     su  user :受限于环境变量,有时候环境变量PATH不会变。

     su - :完全以root身份运行。

     su -c :一次性操作后,又切换原用户。

  • sudo 

     与su不同的是,su切换需要切换用户的密码,而sudo则只需要本用户密码就可以。 当使用sudo时,会到/etc/sudoers文件中检查该用户是否有sudo权限,如有有的话,输入自己的密码,则完成切换。

 

   sudo配置的三种方法(提升用户为root权限的方法):

  方法一:修改 /etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉

   ## Allows people in group wheel to run all commands
   %wheel    ALL=(ALL)    ALL

  然后修改用户,使其属于root组(wheel),命令如下:

  #usermod -g root tommy

    修改完毕,现在可以用tommy帐号登录,然后用命令 su – ,即可获得root权限进行操作。

   方法二:修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

   ## Allow root to run any commands anywhere
  root    ALL=(ALL)     ALL
  tommy   ALL=(ALL)     ALL

   修改完毕,现在可以用tommy帐号登录,然后用命令 sudo – ,即可获得root权限进行操作。

   方法三:修改 /etc/passwd 文件,找到如下行,把用户ID修改为 0 ,如下所示:
   tommy:x:0:33:tommy:/data/webroot:/bin/bash

 

       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章