背景
生物信息分析平台可以同时提供给多个用户使用,如果想要使用服务器,必须以一个用户的身份登录,现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以多个用户同时使用,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源,普通用户在所分配到的资源内进行各自的操作。因为是多用户操作,就需要进行用户管理,包括用户的创建删除,分组管理,权限设置,资源分配等。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 |
#修改登录名 家目录迁移
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
有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。