LINUX用户管理

1、用户

在Linux系统中存在两种用户:系统用户与普通用户。

系统中的每一个用户都有一个ID,就像身份证号一样,它是区分用户的唯一标志。默认的系统用户UID范围(0~499),普通用户的UID范围(500~60000)

Linux的系统用户如:daemon, mail, lp, nobody等。大多数是不能登录的,因为他们的登录shell为/sbin/nologin。
用户默认配置信息是从/etc/login.defs文件中读取

当系统管理员添加一个用户的时候,此时系统会将此用户的相关信息写入相关的文件中。在登录用户时就会读取这些文件。
用户基本信息文件:/etc/passwd
用户密码等安全信息文件:/etc/shadow

用户基本信息文件
/etc/passwd

可以用cat查看它的内容
例:Lonny:x:501:502::/home/Lonny:/bin/bash
用户名:密码:UID:GID:用户描述:用户主目录:用户登录Shell
该文件的访问权限是:rw-r--r--,即任何用户可以查看此文件的内容。所以在默认情况下,系统不会将密码存放到此文件中,而是系统中的影子文件中:/etc/shadow

用户密码等安全信息
/etc/shadow
例:Lonny : $1DvUPrnt : 13072 : 0 : 99999 : 7 :2: 13108 :
账号名称:密码:上次更动密码的日期 :密码不可被更动的天数 :密码需要重新变更的天数 :密码需要变更期限前的警告期限 :账号失效期限 :账号取消日期 :保留用

管理员也可以通过执行指令pwconv与pwunconv来选择将密码放入/etc/shadow 还是放入/etc/passwd中。
该文件的权限为:r--------,即只有root用户才可以操作此文件。

2、组

在Linux系统每一个用户都要属于一个或多组,有了用户组,我们就可以将用户添加到组中去,这样就方便了管理员对用户的集中管理。
在Linux系统中组也分为普通用户组与系统组两大类。
当一个用户属于多个组时,这些组中只能有一个作为该用户的主属组,其它组就被称为此用户的次属组

系统组信息文件与用户信息文件类似,它包括组基本信息文件(/etc/group)与组密码信息文件(/etc/gshadow)。

/etc/group
grp1 : x : 500 : lonny , redhat
群组名称:群组密码 :群组 ID :组里面的用户成员

/etc/gshadow
grp1:CZsU5Mq8LVJKo::lonny,redhat
用户组名:用户组密码:用户组管理员的名称:成员列表
管理员也可以通过指令grpconv与grpunconv来选择将密码放入/etc/gshadow 还是放入/etc/group中

3、命令行管理用户和组

添加用户

指       令:useradd
语      法:useradd [选项]   <用户名>
常用选项
-c <备注> 加上备注文字
-d <目录>   指定用户登入时的启始目录
-e <有效期限> 指定帐号的有效期限
-f <缓冲天数> 指定在密码过期后多少天即关闭该帐号
-g <群组>   指定用户主属组
-G <群组>   指定用户所属的附加群组
-m /-M    自动建立(-m)用户的登入目录或不自动创建
-n     取消建立以用户名称为名的群组
-r     建立系统帐号
-s <shell>    指定用户登入后所使用的shell
-u <uid>   指定用户ID

[root@station99 ~]# ls /home/
lost+found mysql redhat
[root@station99 ~]# useradd redhat1
[root@station99 ~]# ls /home/
lost+found mysql redhat redhat1

上面是建立用户 redhat1 , 选项全部默认,系统就在/home目录下生成了redhat1的家目录

[root@station99 ~]# useradd -c testuser -d /home/testuser -g redhat redhat2
[root@station99 ~]# ls /home/
lost+found mysql redhat redhat1 testuser

以上是建立用户 redhat2 ,-c给他起了个别名“testuser”,-d把他的家目录定为 “/home/testuser” -g把他的主属组定为redhat(这个redhat组必须是存在的组)

[root@station99 ~]# useradd -s /sbin/nologin redhat3

建立用户redhat3 , -s把他的登录shell 定为 nologin ,这样redhat3是不能登录系统的

删除用户

指       令:userdel
语      法:userdel [选项]   <用户名>
常用选项
-r 删除用户登入目录以及目录中所有文件(建议删除用户时带上此选项)

例如 userdel -r redhat

修改用户信息

指       令:usermod
语      法:usermod [选项]   <用户名>
常用选项
-c:改变用户的描述信息。
-d:改变用户的主目录,如果加上-m则会将旧家目录移动到新的目中去 (-m应加在新目录之后) 。
-e:设置用户帐户的过期时间(年-月-日)。
-g:改变用户的主属组。
-G:设置用户属于那些组。
-l:改变用户的登录用名。
-s:改变用户的默认shell。
-u:改变用户的UID。
-L:锁住密码,使密码不可用。-U:为用户密码解锁。

组的简单管理

系统用户可以直接修改/etc/group文件达到管理组的目的,也可以使用以下指令:
groupadd:添加一个组。
groupdel:删除一个已存在组(注:不能为主属组)。
groupmod –n <新组名> <原组名> :为一个组更改名字
gpasswd –a <用户名> <用户组>:将一个用户添加入一个组。
用户可用newgrp指令来临时改变用户的主属组(注:被改变的新主属组中应该包括此用户)。
例:如果用户redhat的主属组为redhat,并且此用户又是grp1组里面的成员,那么这个用户可以临时的改变当前的主属主为grp1。
$newgrp grp1

关于用户身份查询

用户可以使用下列指令了解用户身份
who:查询当前在线的用户
w:查询当前在线用户的详细信息
groups:查询用户所属的组
id:显示当前用户id信息
finger:查询用户信息、登录时间、邮件

另外,在 rhel 系统里还有一个图形界面的用户和组管理工具,打命令:system-config-users 来打开它


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值