Linux用户管理

Posted 南瓜籽_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux用户管理相关的知识,希望对你有一定的参考价值。

😊😊作者简介😊😊 大家好,我是南瓜籽,一个在校大二学生,我将会持续分享C/C++相关知识。
🎉🎉个人主页🎉🎉 南瓜籽的主页
✨✨座右铭✨✨ 坚持到底,决不放弃,是成功的保证,只要你不放弃,你就有机会,只要放弃的人,他肯定是不会成功的人。

🍎🍎用户管理🍎🍎

用户的属性
- 用户名
- 口令
- 用户ID(UID)
- 用户主目录(HOME)
- 用户shell

/etc/passwd文件

/etc/passwd文件是系统能够识别的用户清单。用户登陆时,系统查询这个文件,确定用户的UID并验证用户口令
- 登陆名
- 经过加密的口令
- 用户ID(UID)
- 默认的GID
- 个人信息
- 主目录
- 登陆shell

/etc/group文件

包含了UNIX组的名称和每个组中成员列表
每一行代表一个组,包括4个字段:
- 组名
- 加密的口令
- GID号
- 成员列表,彼此用逗号隔开

🍎🍎添加用户🍎🍎

adduser

adduser  <username>

实例:
# adduser newuser
添加用户名为newuser的新用户

adduser配置文件

/etc/adduser.conf 
     FIRST_UID=1000
     LAST_UID=29999
     USERS_GID=100
		DHOME=/home
		DSHELL=/bin/bash
		SKEL=/etc/skel

SKEL模板

/etc/skel目录是被 /usr/sbin/useradd使用
把想要新用户拥有的配置文件从/etc/skel目录拷贝

常用的文件:

.bash_profile
.bashrc
.bash_logout
 dircolors
.inputrc
.vimrc  

添加新用户的过程

系统:

  • 编辑passwd和shadow文件,定义用户帐号
  • 设置一个初始口令
  • 创建用户主目录,用chown和chmod命令改变主目录的属主和属性

为用户所进行的步骤:

  • 将默认的启动文件复制到用户主目录中
  • 设置用户的邮件主目录并建立邮件别名

🍎🍎设置初始口令🍎🍎

使用passwd命令可以修改用户口令
root用户可以修改任何用户的口令
语法:passwd [-k] [-l] [u] [-f] [-d] [-S] username

使用方法:

passwd  username

🍎🍎修改用户属性🍎🍎

usermod
语法:usermod [-u uid [-o]] [-g group] [-G gropup,…]
                           [-d home [-m]] [-s shell] [-c comment]
                           [-l new_name] [-f inactive][-e expire]
                           [-p passwd] [-L|-U] name

举个栗子:

将用户oldname改名为newname,注意要同时更改家目录:

usermod  –d  /home/newname  –m  –l  newname  oldname

🍎🍎删除用户🍎🍎

deluser
语法:   deluser  <username>

使用方法:

deluser  --remove-home  user1

删除用户user1的同时删除用户的工作目录

🍎🍎添加用户组🍎🍎

addgroup
语法:   addgroup  groupname

使用方法:

addgroup groupname

🍎🍎删除用户组🍎🍎

delgroup
语法:   delgroup  groupname

使用方法:

delgroup groupname

Linux用户管理Linux用户管理

Linux用户管理

一.用户管理概念

1Linux系统用户管理特点

       多用户平台(ALT+F1--6

       单用户模式中无需用户

       管理方法有两种:命令、图形工具、

2.用户账号的分                                                                     

   超级用户(UID=0):具有一切系统操作权限

   普通用户(UID=500MAXUID默认值60000):操作权限受到限制

   伪用户(UID=1499):限制本机登录(用于特定服务的启动用户)

注:-用户的UID的取值,除0以外,其它值不允许用户取相同的值

-Linux系统有很多内置用户账号,如:root,bin…

3.用户组的介绍

       1)什么是用户组

用户组是用户集合,通过用户可以减少用户管理的工作量

2)用户组的分类

   私用组:由创建用户时自动创建(一般只包含一个用户)

   标准组:是用户手创建组,可以包含多个用户

4.用户管理的相关文件

       1/etc/passwd

          功能:存放系统的用户帐号信息

          内容:用户名   密码   UID   GID    描述    用户主目录   SHELL

  实例:  u1      x     0    0     u1 :  /home/u1 :/bin/bash

  注:-如果采用了shadow,此处存放口令的为屏蔽字符,真正密码保存在/etc/shadow,shadow可以利用md5加密

     -修改/etc/sysconfig/authconfig文件可以配置用户口令采用影子口令和md5加密机制

      2/etc/shadow(使用影子口令)

          功能:存放用户口令(一般采用加密的方式存放口令)

          实例: u1 bq$# 10750 0 9999 7 -121110 12546

          说明: u1         用户名

                b1$#       加密的口令  

                10750       1970.1.1开始计算,该口令修改后已过去了多少天

                            (密码最后一次修改的时间)

         0     需要再过多少天这个口令可以被修改

                9999       密码的有效期(-1代表永不过期)

                  7         口令失效多少天前发出警告

                 -1         口令失效多少天之后禁用账户(-1不禁用、0代表立即禁用)

                 21110      用户账号的有效日期(从1970/1/1开始计算)

               12546        保留

3/etc/group

   功能:存放系统组信息

  格式:组名:组口令 GID:成员列表

4/etc/gshadow

   功能:存放用户组口令

   格式:组名:口令:组管理员:成员列表

5)用户环境文件目录——/etc/skel

       skel目录类似与windows系统中的Default User目录,用于存放用户的环境文件等。当添加新用户时,系统会自动复制该目录到新用户的家目录下。

# ls –la  /etc/skel/

total 64

drwxr-xr-x   3 root     root         4096  Nov  1 21:04.

drwxr-xr-x  61 root     root         8192 Feb  7 19:44 ..

-rw-r--r--   1 root     root           24 2003-09-18  .bash_logout

-rw-r--r--   1 root     root          191 2003-09-18  .bash_profile

-rw-r--r--   1 root     root          124 2003-09-18  .bashrc

-rw-r--r--   1 root     root          237 2003-05-22  .emacs

-rw-r--r--   1 root     root          120 2003-08-20  .gtkrc

drwxr-xr-x  3 root     root         4096 1 1 21:01 .kde

6)用户规则文件——/etc/default/useradd

    /etc/default/useradd文件用于定义添加新用户的一些规则信息。下面为该文件的默认内容。

# cat /etc/default/useradd     

    # useradd defaults file

    GROUP=100       //默认组ID是100,在禁止默认的私有组时有用。

    HOME=/home     //默认创建新用户时,用户家目录所在的位置。

    INACTIVE=-1   //密码过期后,帐号是否处于激活状态,-1表示永远激活。

    EXPIRE=       //用户帐号过期日期,为空表示不启用。

    SHELL=/bin/bash //默认创建新用户时,所用SHELL类型。

    SKEL=/etc/skel  //默认创建新用户时,用户的环境文件等存放的位置。

7)用户规则文件——/etc/login.defs

    /etc/login.defs文件用于定义添加新用户的一些规则信息。下面为该文件的默认内容。

//查看login.defs文件中所有不是以“#”开头的行。

#grep -v"^#" /etc/login.defs  

    MAIL_DIR        /var/spool/mail     //用户mail文件所在的位置  

    PASS_MAX_DAYS   99999               //用户密码最多使用的天数

    PASS_MIN_DAYS   0                   //用户密码最少使用的天数

    PASS_MIN_LEN    5                   //用户密码最小的长度

    PASS_WARN_AGE   7                   //定义用户密码过期前多少天给予警告

    UID_MIN                   500       //默认创建新用户时最小的UID号

    UID_MAX                 60000       //默认创建新用户时最大的UID号

    GID_MIN                   500       //默认创建新用户时最小的GID号

    GID_MAX                60000       //默认创建新用户时最大的GID号

       CREATE_HOME     yes                         //创建新用户时是否创建家目录

 

二.用户及组管理命令

     1useradd

功能:建立用户

        格式:useradd  [参数]用户名

        参数: -u UID:指定用户的UID(指定UID不能与其它用户UID相等)

               -g 组名/GID:指定用户的所属组

               -G 组名:指定用户附加组

               -d 路径:指定用户主目录(/home/$USERNAME

               -e 时间:指定用户有效日期

               -s SHELL:指定SHELL的类型(/bin/bash)

               -m :建立用户主目录

               -M :不建立用户主目录

              -r  :建立一个伪用户

-o:与-u连用,如果所指定的UID重复时,强制使用指定的UID

-p  口令:指定用户口令,默认新建用户为禁用状态

        实例:# useradd  u2

              # useradd -g  g2  u2

              # useradd -e  03/28/04   –g  g3  -d  /etc/   u3

              #useradd  u3  -p$1asd#dfsdkfeodsfefsdf

     2userdel

功能:删除用户

            格式userdel [参数用户名

            参数:-r  删除用户主目录

             实例#userdel    u2

                   #userdel  -r  u3

    3passwd

功能:修改用户口令

         格式:passwd  [参数]   [用户名]

         参数:-l:锁定用户

               -u:解除用户的锁定

               -d:删除用户的口令

         实例:#passwd   u2

               #passwd  -l  u2

               #passwd  -d  u2

    4usermod

功能:修改用户信息

        格式:usermod  [参数用户名

        参数:-l 新的用户名:修改用户名称

              -d 路径:修改用户主目录

              -G 组名:修改附加组

              -s 路径: 修改用户SHELL

              -u  UID 修改用户UID

              -g  GID:  修改用户所属组的    GID

              -o:强制使用指定的UID,与-u连用

        实例# usermod  -d  /   u3

              # usermod   -G u2   u3

              # usermod    -l  user3  u3

        5gropadd

功能:建立用户组

            格式groupadd  [参数组名

            参数-g  GID:指定GID的值

                  -r :建立伪用户组(1--499

            实例# groupadd  g2

                  # groupadd –r  g3

         6groupdel

功能:删除用户组

            格式:groupdel   组名

            实例groupdel G3

         7groupmod

功能:修改组信息

            格式:groupmod [参数] 组名

            参数-n  新组名:修改组的名称

                  -g  GID:修改组的GID

                  -o:强制使用指定的GID,与-g连用

            实例# groudmod  -n  group g1

                    # groupmod   -g 860  group1

8gpasswd

格式gpasswd [参数]  [用户名] [组名]

参数-a    用户名:  向指定组添加用户

      -d    用户名:  从指定组中删除用户

     -A    用户名:  设置组的管理员

     -r             删除组的口令

实例#gpasswd   -a u1  root

                      #gpasswd  -d  u1  root

                      #gpasswd  gp1

                      #gpasswd  -A u1  gp1

9groups

   功能:显示组信息

格式groups [用户名]

实例#groups      (显示当前用户所属组)

        #groups  root  (显示root用户的所属组)

10id

功能:查看UID/GID的相关信息

格式#id  [参数]

参数:-a    显示所有信息

     -g    显示有效组的ID

     -G    显示所有组的ID

     -u    显示用户ID

     -n    -gGu连用,用于显示用户/组名称

实例#id

     #id -un

11newgrp

功能:更改用户有效组

格式#newgrp 组名

实例#newgrp  users

12pwck

功能:检查/etc/passwd/etc/shadow文件内容及用户主目录是否存在

实例:#pwck

13chpasswd

功能:修改用户口令,用户名和口令由用户输入的执行过程中输入

格式:#chpasswd [参数]

参数:-e  不加密存储

实例:#chpasswd

      u1:linux

      u2:linux

      # cat /etc/users>chpasswd

三.用户安全管理

1.文件访问权限操作

1)文件的使用者

超级用户:不受文件访问权限的限制,可以所有文件

普通用户:受具体文件访问权限的限制,每个文件的访问权限由拥有者权限、拥有组权限及其他用户权限三部分组成

2)文件设问权限的种类

普通权限

表示字符

权限名称

对文件的含义

对目录的含义

r4

读取文件内容

检查目录内容

w2

修改文件内容

改变目录内容

x1

执行

执行文件

进入目录

注:以上权限组合可以用字母(如:r-x)和八进制数字(如:7=4+2+1)表示

特殊权限

表示字符

权限名称

含义

备注

s4

Suid

执行文件时使用文件拥有者的UID

用于可执行文件

s2

Sgid

执行文件时使用文件拥有组的GID

用于可执行文件

t1

粘着位

使目录成为临时目录(可写,可删除自己拥有的文件)

用于目录

 

3)文件访问权限的相关操作

l chmod

      功能:修改文件访问权限

      格式chmod [参数] <权限值>  <文件名>

      参数

            -v:显示详细说明

-c:与-v相似,但只有在文件权限发生改变时才显示详细说明

            -R:递归改变目录的权限

实例#chmod rwxr-xr-x  file1

# chmod  u+x  file1

# chmod  u-x,o+rw   file2

#chmod u+s,g+s  file2

#chmod 1755 dir1

注:-只有root和文件属主有权执行chmod文件

l chown

            功能:改变文件拥有者及拥有级(只有超级用户使用)

            格式chown  [参数] <用户名>  <文件名>

            参数-R:递归改变目录的拥有者

                  -f:不显示拥有者的详细信息

            实例# chown user   f1

                  # chown  -R user1.g1  /d1

l umask   

            功能:设置权限掩码(决定新建文件的权限)

            格式:umask  权限值(超级用户默认为022,普通用户默认为002

            实例#umask  044

            计算公式:目录:777-umask

                      文件:666-umask

l Chattr

功能: 修改ext2ext3文件系统中的文件属性(只有超级用户使用)

格式:chattr [参数操作符 属性值  文件或目录

参数: 

R:递归处理所有的文件及子目录

V:详细显示修改内容,并打印输出。

操作符:

-:失效属性

+:激活属性  

= :指定属性

属性值

A告诉系统不要修改对这个文件的最后访问时间

S一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。

a系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。

i系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。

D:检查压缩文件中的错误。

d在进行文件系统备份时,dump程序将忽略这个文件。

C系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后才写入磁盘。

让系统在删除这个文件时,使用0填充文件所在的区域。

u当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件

实例:#chattr  +i  file1

注:属性需要相应内核的支持,不能利用chattr保护/,/dev,/var,/tmp

l chgrp

功能:更改拥有组

格式:#chgrp  [参数组名  文件名

参数:-R:更改目录所有内容的拥有组

实例:#chgrp   group1   f1

l lsattr

功能:显示文件的属性

格式:lsattr  [参数] [文件名]

参数:-R:查看目录所有内容的属性,包括子目录中的内容

实例:#lsattr  /etc/f1

2.用户安全建议

1)一般不使用root用户进行日常管理操作

2)保持口令的安全,不要写SUID/SGID程序

3)不要让自已的文件或目录可被他人写

4)小心地拷贝和移动文件

5)不使用的账号可以禁用或删除

6)重要文件需要加密

       (7)不用的端口就封掉、或采用跳机连接。

本文出自 “Linux狱长” 博客,请务必保留此出处http://sswqzx.blog.51cto.com/2494644/1971322

以上是关于Linux用户管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux运维的Bash指南,11条Bash实践经验!

Linux bash运维操作日志审计(单服务器)

Linux云自动化运维第十九课

Linux运维人员共用root帐户权限审计

Linux基本介绍

Linux 脚本运维总结之Shell script