Linux 中用户权限管理
系统:CentOS 7.4
用户管理
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个唯一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
1、添加新用户
useradd 选项 用户名
[root@idreamsky_study /]# useradd test #创建用户名为 test 的用户
新创建的用户默认的家目录在 /home 目录下。
-c 注释性描述
-d 指定用户的主目录,如果此目录不存在,则应同时使用 -m 选项,创建目录
-g 指定用户所属的用户组
-G 指定用户所属的附加组
-s 指定用户的登录shell 如:/bin/sh
-u 指定用户的用户号
2、删除用户
userdel 选项 用户名
[root@idreamsky_study home]# userdel test #删除用户名为 test 的用户
#但是这样只是会删除这个用户,并不会删除该用户的主目录:
[[root@idreamsky_study home]# userdel -r test #-r 参数作用是删除用户的同时删除该用户主目录
3、用户管理
passwd 选项 用户名
-l 锁定口令,禁用账号
-u 口令解锁,解锁账号
-d 删除口令,不允许该用户登录
-f 强制用户下次登录时修改口令
4、查看用户
[root@idreamsky_study /]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:口令:用户标识号:组标识号:注释性描述:用户主目录:登录shell
用户组管理
1、新增用户组
groupadd 选项 用户组
-g GID 指定新用户组的组标识号
-o 一般与 -g 选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
2、删除用户组
groupdel 用户组
3、修改用户组
groupmod 选项 用户组
-g GID 为用户组指定新的组标识号
-o 一般与 -g 选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
-n 将用户组名改为新名字
4、查看用户组
[root@idreamsky_study /]# cat /etc/group
root:x:0:
组名:口令:组标识号:组内用户列表
注:如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限
用户可以在登录后,使用命令 newgrp 切换到其他用户组,这个命令的参数就是目的用户组,例如:
$ newgrp root #这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。
批量添加用户
1、先编辑一个用户信息文本,根据 /etc/passwd 文件的格式来编写,每个用户的用户名、UID、宿主目录都不可以相同,密码留空或使用 x ,内容如下:
user001::600:100:user:/home/user001:/bin/bash
user002::601:100:user:/home/user002:/bin/bash
user003::602:100:user:/home/user003:/bin/bash
user004::603:100:user:/home/user004:/bin/bash
user005::604:100:user:/home/user005:/bin/bash
user006::605:100:user:/home/user006:/bin/bash
2、创建用户
使用 root 身份执行命令 :
[root@idreamsky_study /]# ./usr/sbin/newusers < user.txt
执行完后就会发现生成了 6 个新用户。
将 /etc/shadow
产生的 shadow
密码解码,然后回写到 /etc/passwd
中,并将/etc/shadow
的shadow
密码栏删掉。这是为了方便下一步的密码转换工作,即先取消 shadow password
功能。
# pwunconv
编辑每个用户的密码对照文件
user001:密码
user002:密码
user003:密码
user004:密码
user005:密码
user006:密码
以 root 身份执行命令 /usr/sbin/chpasswd
[root@idreamsky_study /]# ./usr/sbin/chpasswd <passwd.txt
执行命令 /usr/sbin/pwconv
将密码编码为 shadow password
,并将结果写入 /etc/shadow
。
[root@idreamsky_study /]# pwconv
这样就完成了批量创建用户,接下来就需要自己去验证。
为账户添加 sudo 权限
在 Linux 系统中,一般不会直接使用 root 用户进行操作,通常是使用 root 用户给指定账户 sudo 权限,sudo 权限可以使用户暂时获得 root 权限,进行相关操作。
要授予指定用户 sudo 权限,只需要使用拥有 sudo 权限的用户将需要获得 sudo 权限的指定用户信息写入 /etc/sudoers 文件中就可以。
[root@idreamsky_study ~]# vim /etc/sudoers
root ALL=(ALL) ALL
test ALL=(ALL) ALL
找到 root 用户的信息,在下面对照的添加一行就可以了,保存后退出即可,需要注意的是,sudoers 文件是只读文件,如果需要更改可以把文件权限设置为可写文件,但是改为后不要忘记再将文件修改为只读权限;另一种方法是直接用 vi/vim 进行修改,修改完成后使用 wq! 强制保存即可。