超级用户: root 拥有对系统的最高的管理权限 UID=0
普通用户:系统用户 UID: >=500
UID:即每个用户的身份标示,类似于每个人的身份证号码.
虚拟用户:伪用户 一般不会用来登录系统的,它主要是用于维持某个服务的正常运行.如:ftp,apache
用户和组的关系:
一对一:一个用户可以存在一个组中; 一对多:一个用户可以存在多个组中
多对一:多个用户可以存在一个组中; 多对多:多个用户可以存在多个组中
useradd -d -u "UID" -g "初始组" -G "附加组" -s "登陆的shell" 用户
示例:
useradd -m omicsclass # 自动创建家目录 useradd -d /home/omicsclass omicsclass #添加用户
useradd -d /home/omicsclass omicsclass -G rna,dna -g rna #指定用户组
passwd omicsclass #给用户添加密码
userdel omicsclass
userdel –r omicsclass
groupadd [-g gid [-o]][-r][-f]group
参数说明:
#groupadd -g 344 rna #创建一个新的组,并添加组 ID。
passwd omicsclass #交互
echo 123456 | passwd --stdin omicsclass #不交互
su命令其实就是切换用户的意思。
示例:
su #默认切换到root用户,执行后然后输入root密码就可以切换root用户,最后执行exit命令可以切换到原先的用户。
su - #切换为root用户并且可以把当前目录切换为root的用户家目录/root。
su omicsclass #切换用户
说明:在root用户下可以切换为系统拥有的任意用户并且不需要输入其用户密码。
赋予某些成员sudo权限可以跳过root用户登录而去执行一些只有root才有权限执行的命令。比如修改他人的密码:sudo passwd user1。当然前提是当前登录用户拥有执行该命令的权限。
可以通过配置/etc/sudoers 文件来实现赋予其他成员sudo权限。
文件内容增加(部分):
root ALL=(ALL) ALL
omicsgene ALL=(ALL) ALL
#新增上一行的内容,并修改用户名为omicgene 这条命令的含义omicgene 用户可以执行任何的sudo命令。执行的同时需要输入omicsgene 用户的密码。
3.用户的配置文件
linux系统添加用户,其实就是在修改以下三个文件,因此也可以直接修改以下文件达到设置添加用户的目的:
名 称 |
帐号信息 |
说 明 |
用户配置文件 |
/etc/passwd |
记录了每个用户的一些基本属性,并且对所有用户可读,每一行记录对应一个用户,每行记录通过冒号进行分隔 |
用户组文件 |
/etc/group |
用户组的所有信息存放地儿,并且组名不能重复 |
用户对应的密码信息 |
/etc/shadow |
因为passwd文件对所有用户是可读的,为安全起见把密码从passwd中分离出来放入这个单独的文件,该文件只有root用户拥有读权限,从而保证密码安全性 |
数据用冒号隔开:
tail -1 /etc/passwd
omicsclass:x:1001:1001::/home/omicsclass:/bin/bash
omicsclass | 用户名 |
x | 密码占位符 |
1001 | 用户的UID,它都是用数字来表示的 |
1001 | 用户所属组的GID,它都是用数字来表示的 |
用户描述信息 | 对用户的功能或其它来进行一个简要的描述 |
/home/omicsclass | 用户家目录(shell提示符中“~”代表的那个) |
/bin/bash | 用户登录系统后使用的shell |
数据用冒号隔开:
tail -1 /etc/shadow
omicsclass:$6$YMszQvnu$U//qYqHjvQvKsADGnP7b9HLfBmmoO7BVJo0JdAQ.D1L97atkdQQZ2uo57Ro27mcheXFIaW.Vb4w0tv5MWflwo1:18315:0:99999:7:::
name |
登录名称,这个必须是系统中的有效账户名 |
password |
已加密密码,分为三个部分,第一部分是表示使用哪种哈希算法;第二部分是用于加密哈希的salt;第三部分是已加密的哈希 哈希算法:$1表示MD5 ; $6 表示SHA-512 ; $5 SHA-256 查看帮助说明: man 5 passwd man 5 shadow man 5 group man 3 crypt |
lastchange |
最近一次更改密码的日期,以距离1970/1/1的天数表示 |
min-age |
不能更改密码的最少天数,最近更改过后几天才可以更改;如果为0表示“最短期限要求” |
maxage |
密码过期时间,必须更改密码前的最多天数 |
warning |
密码即将到期的警告期,以天数表示,0表示“不提供警告” |
inactive |
宽限天数,密码到期后 |
expire |
账号过期时间,以距离1970/1/1的天数计算 (千年虫) |
blank |
预留字段 |
数据用冒号隔开,如果一个组有多个成员,我们是可以在/etc/group文件中最后一个字段看到的
[root@centos7 ~]# tail /etc/group
slocate:x:21:
avahi:x:70:
postdrop:x:90:
postfix:x:89:
ntp:x:38:
tcpdump:x:72:
wang:x:1000:wang
vboxsf:x:982:
dna:x:1101:omicsclass
rna:x:1100:
[root@centos7 ~]# ll -a /etc/skel/
total 24
drwxr-xr-x. 3 root root 78 Feb 22 09:26 .
drwxr-xr-x. 141 root root 8192 Feb 22 22:06 ..
-rw-r--r--. 1 root root 18 Aug 8 2019 .bash_logout
-rw-r--r--. 1 root root 193 Aug 8 2019 .bash_profile
-rw-r--r--. 1 root root 231 Aug 8 2019 .bashrc
drwxr-xr-x. 4 root root 39 Feb 22 09:25 .mozilla
例如模板中设置以下内容:
#快捷命令
alias e="less -S "
alias ee="less -SN "
alias l="ls -lhtr"
alias ll="ls -lh"
#终端显示当前目录
export PS1="\[\e[32m\][\[\e[35m\]\u\[\e[m\]@\[\e[36m\]\h \[\e[31m\] \t \w\[\e[32m\]]\[\e[36m\]$\[\e[m\]"
id 用户和组的信息
whoami #查看当前有效用户名
who #显示目前登入系统的用户信息。
w # w命令用于显示已经登陆系统的用户列表
users #用于显示当前登录系统的所有用户的用户列表
-m:密码可更改的最小天数。为0时代表任何时候都可以更改密码
-M:密码保持有效的最大天数
-W:用户密码到期前,提前收到警告信息的天数
-E:帐号到期的日期。过了这天,此帐号将不可用
-d:上一次更改的日期,为0表示强制在下次登录时更新密码
chage -d 0 omicsclass # 修改用户omicsclass密码信息:让这个用户omicsclass首次登录系统时必须更改其密码
语法:usermod 【参数】用户名
常用参数:
-u UID
-d 宿主目录
-g 起始组 #只能有一个
-G 附加组 #可以有多个
-s 登录shell
-L 锁定
usermod -u 1111 oracle #修改 用户的uid
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!