- 新增与移除使用者: useradd, 相关配置文件, passwd, usermod, userdel
useraddd
-
useradd [-u UID] [-g 初始群组] [-G 次要群组] [-mM] [-c 说明栏] [-d 家目录绝对路径] [-s shell] 使用者账号名
useradd选项 - 使用『useradd 账号 』来建立使用者即可。 CentOS 这些默认值主要会帮我们处理几个项目:
1.在 /etc/passwd 里面建立一行与账号相关的数据,包括建立 UID/GID/家目录等;
2.在 /etc/shadow 里面将此账号的密码相关参数填入,但是尚未有密码;
3.在 /etc/group 里面加入一个不账号名称一模一样的组名;
4.在 /home 底下建立一个不账号同名的目录作为用户家目录,且权限为 700
# 创建user1用户
root@VM-0-3-ubuntu:~# useradd user1
root@VM-0-3-ubuntu:~# tail -1 /etc/passwd
user1:x:1000:1000::/home/user1:
root@VM-0-3-ubuntu:~# #在创建用户的时候,没有为用户指定组,将创造同用户相同UID的组。
# 如果两者不一样,则会出现特殊用户。
#创建新用户并加入到mygroup中
root@VM-0-3-ubuntu:~# useradd -g mygroup user2
useradd: group 'mygroup' does not exist
# 说名这个组要事先存在才行
# 将user2加入到刚刚创建的user1中去
root@VM-0-3-ubuntu:~# useradd -g user1 user2
root@VM-0-3-ubuntu:~# tail -1 /etc/passwd
user2:x:1001:1000::/home/user2:
root@VM-0-3-ubuntu:~# 其实,这个user1的UID为1000,在创建新用户的时候,系统默认根据/etc/passwd的最后一位UID自动创建下一位,就是这里的1001.
# 创建user3,并制定其附加组为user1
root@VM-0-3-ubuntu:~# tail /etc/group
lxd:x:110:
messagebus:x:111:
uuidd:x:112:
mlocate:x:113:
ssh:x:114:
ubuntu:x:500:
lpadmin:x:115:ubuntu
sambashare:x:116:ubuntu
ntp:x:117:
user1:x:1000:
root@VM-0-3-ubuntu:~# useradd -G user1 user3
root@VM-0-3-ubuntu:~# tail /etc/group
messagebus:x:111:
uuidd:x:112:
mlocate:x:113:
ssh:x:114:
ubuntu:x:500:
lpadmin:x:115:ubuntu
sambashare:x:116:ubuntu
ntp:x:117:
user1:x:1000:user3
user3:x:1002:
# 指定名称和家目录
root@VM-0-3-ubuntu:~# useradd -c "wuyi" -d /home/wuyi user5
root@VM-0-3-ubuntu:~# tail -1 /etc/passwd
user5:x:1004:1004:wuyi:/home/wuyi:
# 默认情况下创建的用户:
root@VM-0-3-ubuntu:~# echo $SHELL
/bin/bash
userdel:删除用户
- 用法:userdel [option] USERNAME目的在删除用户的相关数据,而用户的数据有:
1. 用户账号/密码相关参数:/etc/passwd, /etc/shadow
2.使用者群组相关参数:/etc/group, /etc/gshadow
3.用户个人档案数据: /home/username, /var/spool/mail/username
#删除用户user4,默认情况下不会删除其家目录,要想删除-r
root@VM-0-3-ubuntu:~# userdel user4
# 删除user5及其家目录
root@VM-0-3-ubuntu:~# userdel -r user5
userdel: user5 mail spool (/var/mail/user5) not found
userdel: user5 home directory (/home/wuyi) not found
# user5创建了家目录的,为什么提示找不到?
id: 查看用户账号的属性
SYNOPSIS
id [OPTION]... [USER]
DESCRIPTION
Print user and group information for the specified USER, or (when USER omit‐
ted) for the current user.
-a ignore, for compatibility with other versions
-Z, --context
print only the security context of the process
-g, --group
print only the effective group ID
-G, --groups
print all group IDs
-n, --name
- 上面几个option都可以与-n一起用
$ #查看当前用户的id信息
$ id
uid=1091(ywu) gid=1092(ywu) groups=1092(ywu),1019(student)
$ #id user1查看user1的账户信息
$ id user1
id: ‘user1’: no such user
$ id -n
id: cannot print only names or real IDs in default format
$ id -u -n ywu
ywu
$ id -G -n ywu
ywu student
finger 查看用户账户信息
- finger 的中文字面意义是:『手指』戒者是『挃纹』的意思。这个 finger 可以查阅很多用户相关的信息喔! 大部分都是在 /etc/passwd 这个档案里面的信息啦
root@VM-0-3-ubuntu:~# finger user1
Login: user1 Name:
Directory: /home/user1 Shell: /bin/sh
Never logged in.
No mail.
No Plan.
修改账户信息:
usermod:
-
选项:
uermod.PNG
chsh:修改用户的默认的shell
root@VM-0-3-ubuntu:~# chsh user2
Changing the login shell for user2
Enter the new value, or press ENTER for the default
Login Shell []: /bin/tcsh
chsh: Warning: /bin/tcsh does not exist
root@VM-0-3-ubuntu:~# chsh user2
Changing the login shell for user2
Enter the new value, or press ENTER for the default
Login Shell [/bin/tcsh]: /bin/bash
root@VM-0-3-ubuntu:~# finger user2
Login: user2 Name:
Directory: /home/user2 Shell: /bin/bash
Never logged in.
No mail.
No Plan.
chfn:修改注释信息
root@VM-0-3-ubuntu:~# chfn user2
Changing the user information for user2
Enter the new value, or press ENTER for the default
Full Name []: wuyi^H^H^H^H
Room Number []: chongqing
Work Phone []: 5^H023
Home Phone []: 15870000000
Other []: nothing
chfn: name with non-ASCII characters: ''uyi
chfn: invalid work phone: '023'
密码管理:
passwd:
root@VM-0-3-ubuntu:~# tail /etc/shadow
user2:!:17825:0:99999:7:::
root@VM-0-3-ubuntu:~# passwd user2
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@VM-0-3-ubuntu:~# tail /etc/shadow
user2:$6$TyWhVhuR$wDzvvJx8GlArSe9OigIgdNejH3M.dYsly79ebgtuLqsK9a2KSTBVb4rTvMydrnF.eWX0np7xP2zsLbdT45C4Z.:17825:0:99999:7:::
pwck:检查用户账号的完整性
root@VM-0-3-ubuntu:~# pwck
user 'lp': directory '/var/spool/lpd' does not exist
user 'news': directory '/var/spool/news' does not exist
user 'uucp': directory '/var/spool/uucp' does not exist
user 'www-data': directory '/var/www' does not exist
user 'list': directory '/var/list' does not exist
user 'irc': directory '/var/run/ircd' does not exist
user 'gnats': directory '/var/lib/gnats' does not exist
user 'nobody': directory '/nonexistent' does not exist
user 'systemd-resolve': directory '/run/systemd/resolve' does not exist
user 'syslog': directory '/home/syslog' does not exist
user '_apt': directory '/nonexistent' does not exist
user 'ntp': directory '/home/ntp' does not exist
user 'user1': directory '/home/user1' does not exist
user 'user2': directory '/home/user2' does not exist
user 'user3': directory '/home/user3' does not exist
pwck: no changes
chage:
-d :最近一次的修改时间
-E:过期时间
-I:非活动时间
-m:最短使用期限
-M: 最长使用权限
-W: 警告时间
组管理:
创建组:groupadd:
root@VM-0-3-ubuntu:~# groupadd -r wechat
root@VM-0-3-ubuntu:~# tail -1 /etc/group
wechat:x:999:
# -r, --system
Create a system group.
# 按照马哥来说的话是<500,为什么这里为999?
-
groupmod:修改
-
groupdel:删除
-
gpasswd:给组加密码
newgrp:切换到新的组
root@VM-0-3-ubuntu:~# useradd hadoop
root@VM-0-3-ubuntu:~# su - hadoop
No directory, logging in with HOME=/
$ cd /tmp
$ touch a.hadoop
$ ls -l
total 12
-rw-rw-r-- 1 hadoop hadoop 0 Oct 21 23:12 a.hadoop
-rw-r--r-- 1 root root 140 Oct 21 12:30 net_affinity.log
-rw-r--r-- 1 root root 26 Oct 21 12:30 nv_gpu_conf.log
-rw-r--r-- 1 root root 191 Oct 21 12:30 setRps.log
$ #一个用户创建的文件属于用户的基本组
$ id
uid=1003(hadoop) gid=1003(hadoop) groups=1003(hadoop)
$ #将一个文件的基本组切换到其他组去
$ newgrp user1
Password:
# 如果想要回到原来的组,则使用exit
马哥作业.PNG
友情阅读推荐:
生信技能树公益视频合辑:学习顺序是linux,r,软件安装,geo,小技巧,ngs组学!
请猛戳下面链接:
B站链接:https://m.bilibili.com/space/338686099
YouTube链接:https://m.youtube.com/channel/UC67sImqK7V8tSWHMG8azIVA/playlists
生信工程师入门最佳指南:https://mp.weixin.qq.com/s/vaX4ttaLIa19MefD86WfUA
网友评论