用户管理

2022-10-25 19:32:54 浏览数 (1)

背景

生物信息分析平台可以同时提供给多个用户使用,如果想要使用服务器,必须以一个用户的身份登录,现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以多个用户同时使用,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源,普通用户在所分配到的资源内进行各自的操作。因为是多用户操作,就需要进行用户管理,包括用户的创建删除,分组管理,权限设置,资源分配等。Linux系统中引入 root 用户来进行管理。一个系统只有一个 root 账户,此用户是唯一的,拥有系统的所有权限。这个 root 用户我们也叫做超级用户。使用 root 账户一定要小心,拥有 root密码就意味着拥有了这台计算机上所有用户的所有数据。

Linux 系统有非常完善的用户管理方案,可以使用 useradd,usermod,userdel,groupadd等命令来进行用户管理。

一、用户管理

useradd 命令用于创建新的用户账户,语法格式为“useradd [参数] 用户名”。可以使用 useradd命令创建用户账户。使用该命令创建用户账户时,默认的用户家目录会被存放在/home 目录中,默认的 Shell 解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组。

参数

作用

-d

指定用户的家目录(默认为/home/username)

-e

账户的到期时间,格式为 YYYY-MM-DD.

-u

指定该用户的默认 UID

-g

指定一个初始的用户基本组(必须已存在)

-G

指定一个或多个扩展用户组

-N

不创建与用户同名的基本用户组

-s

指定该用户的默认 Shell 解释器

useradd 命令中的参数以及作用

代码语言:javascript复制
cat /etc/passwd | awk -F ":" '{print $1,$3}'
#查看当前系统中用户和对应的id
groupadd bio #创建用户组
#创建名为tests123的用户
useradd test123 -d /ifs1/User/test123 -g bio
echo "Pass1234" | passwd --stdin test123
su - test123 #切换用户,管理员免输密码,加-刷新用户的bashrc
cd /ifs1/User/
mkdir test
chown -R test123:bio test # 修改刚才新建的test文件夹为test123所有
chmod -R 700 /ifs1/User/test123 #修改文件权限

#删除用户
userdel test123
userdel -r test123 # 同时删除文件目录,一般不加-r,保留数据

二、组管理

为了方便管理属于同一组的用户,Linux 系统中还引入了用户组的概念。通过使用用户组号码(GID,Group IDentification),可以把多个用户加入到同一个组中,从而方便为组中的用户统一规划权限或指定任务。假设一个公司中有多个部门,每个部门中又有很多员工,如果只想让员工访问本部门内的资源,则可以针对部门而非具体的员工来设置权限。例如,通过对技术部门设置权限,使得只有技术部门的员工可以访问公司的数据库信息等。

代码语言:javascript复制
groupadd bio #创建用户组

三、更改用户信息

usermod 命令用于修改用户的属性,英文全称为“user modify”,语法格式为“usermod [参数] 用户名”。可以通过 usermod 命令对用户信息进行更改。比如用户的 UID、基本/扩展用户组、默认家目录,默认终端等。

参数

作用

-c

填写用户账户的备注信息

-d-m

参数-m 与参数-d 连用,可重新指定用户的家目录并自动把旧的数据转移过去

-e

账户的到期时间,格式为 YYYY-MM-DD

-g

变更所属用户组

-G

变更扩展用户组

-L

锁定用户禁止其登录系统

-U

解锁用户,允许其登录系统

-s

变更默认终端

-u

修改用户的 UID

代码语言:javascript复制
#修改登录名 家目录迁移
usermod -d /ifs1/User/test123 -m xiehs -l test123
#将用户修改到vip组中
[root@VM-4-16-centos User]# groupadd vip
[root@VM-4-16-centos User]# usermod -g vip test123
[root@VM-4-16-centos User]# ll
total 4
drwx------ 2 test123 vip 4096 Jul  6 11:19 test123

#将用户添加到docker组中
[root@VM-4-16-centos User]# groupadd docker
[root@VM-4-16-centos User]# usermod -aG docker test123
[root@VM-4-16-centos User]# id test123
uid=1001(test123) gid=1003(vip) groups=1003(vip),1004(docker)

usermod -e '2022-08-06' test123 # 一个月后用户账户自动关闭
chage -l test123 # 查看用户信息
usermod -L test123 #锁定用户 无法登陆服务器
usermod -U test123 #解锁用户

四、补充资料

配置新用户的显示格式bashrc

代码语言:javascript复制
#继承管理员账号的bashrc设置
cd /etc/skel #该目录下的文件是新建用户复制的文件
#修改bashrc vimrc 新建一个文本提醒给新用户cat

具体改动如下图,新用户test2的显示颜色与管理员一致,且cat出新用户提醒的欢迎使用标语。

写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。原地址暂未启用(bioinfoer.com)。

代码语言:javascript复制
sx.voiceclouds.cn

有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。

0 人点赞