Linux -- 用户篇

Linux -- 用户与用户组html

1.Linux 系统中有三种角色:全部者(用户),用户组与其余人,一张图能够说明用户与用户组的关系。shell

如图,某公司至关于一个用户组,该用户组下有A,B两个用户,用户拥有各自的私密空间和公用空间,不是该用户组下的就是其余人,其余人没法访问用户组下的内容。bash

2.GID 与 UID 学习

UID 能够理解为 user ID,也就是 用户ID,GID 能够理解为 group ID,也就是 用户组ID,这两个 ID 值很是重要,通常不建议更改,好比 Linux 中会根据 UID 和 GID 来判断一个文件属于哪一个用户和用户组,若是随意改动 UID 和 GID,致使没法找到用户下的文件或者对文件没有了权限,会很麻烦。ui

用户ID 的范围不一样,在 Linux 中表明的特性也不一样,在学习对用户组操做前,先了解一下不一样 UID 的范围对应的不一样特性。加密

 查看用户的 UID 和 GID  id username ,如spa

[root@localhost ~]# id sherlock
uid=505(sherlock) gid=505(holmes) 组=505(holmes)code

也能够查看 /etc/passwd 文件,其中第一个值表明帐号名称,第三个值表明 UID,第四个值表明GID,如 sherlock 的 UID 为505,GID 为505htm

[root@localhost ~]# grep 'sherlock' /etc/passwd
sherlock:x:505:505::/home/sherlock:/bin/bash

3.用户组和用户经常使用的相关系统文件blog

/etc/passwd - 使用者帐号咨询
/etc/shadow - 使用者帐号咨询加密
/etc/group - 用户组信息

Linux -- 用户

 1. useradd,具体的 useradd 用法能够查看帮助手册(man useradd)

-u 后面接UID,指定某个UID给该用户

-r 建立一个系统帐号,UID小于500

-d 指定某个目录成为主文件夹,默认使用home下的login名称对应的目录为用户的主文件夹

-g 初始用户组,默认的用户组数字为1

-G 后面接组名,表明将用户加入某些组,组与组之间用 ”,” 号隔开

-m 若是没有用户目录则自动建立(通常帐号)

-M 不建立用户目录(系统帐号)

-c 设置帐号 /etc/passwd的说明

-e 帐号的失效日期,后面接”YYYY-MM-DD”

-f 密码失效日期,0为当即失效,-1为永不失效,默认为-1

-s 后面接shell,默认为/bin/bash

-n 取消将用户加入设置的默认用户组(组名与用户名相同),若是取消,用户会加入默认的100(users) 用户组下
  • 新增用户 useradd username
[root@localhost ~]# useradd sherlock
[root@localhost ~]# id sherlock
uid=505(sherlock) gid=506(sherlock) 组=506(sherlock)
#默认将
/home/sherlock 做为用户的主文件夹 [root@localhost ~]# ll -d /home/sherlock drwx------ 4 sherlock sherlock 4096 2月 1 15:02 /home/sherlock
#
passwd/shadow/group 添加了这个用户和默认设置的用户组信息 [root@localhost ~]# grep sherlock /etc/passwd /etc/shadow /etc/group /etc/passwd:sherlock:x:505:506::/home/sherlock:/bin/bash /etc/shadow:sherlock:!!:17928:0:99999:7::: /etc/group:sherlock:x:506:
  • 设置特定的 UID 给新用户(通常不用
[root@localhost ~]# useradd -u 700 sherlock
  • 新增用户时设置用户的初始用户组(注意:设置的用户组必须已经存在)
[root@localhost ~]# useradd sherlock -g holmes
[root@localhost ~]# id sherlock
uid=505(sherlock) gid=505(holmes) 组=505(holmes)
  • 新增用户时将用户加入某个用户组(注意:加入的用户组必须已经存在)
[root@localhost ~]# useradd sherlock -G demo
[root@localhost ~]# id sherlock
uid=505(sherlock) gid=507(sherlock) 组=507(sherlock),506(demo)
  • 新增用户时设置说明
[root@localhost ~]# useradd sherlock -g holmes -c "I am sherlock holmes"
[root@localhost ~]# grep sherlock /etc/passwd
sherlock:x:505:505:I am sherlock holmes:/home/sherlock:/bin/bash
  • 新增用户,并设置用户为不可登陆主机
[root@localhost ~]# useradd -c "tony" -s /sbin/nologin tony
  • 新增系统帐号
[sherlock@localhost home]$ useradd -r sherlock
  • 查看 useradd 的默认值
[root@localhost ~]# useradd -D
GROUP=100   #默认用户组,若是使用useradd -n username 就会默认加入这个用户组
HOME=/home  #默认主文件目录
INACTIVE=-1 #密码失效日,/etc/shadow 第7列
EXPIRE=     #帐号失效日,/etc/shadow 第8列
SHELL=/bin/bash #默认的shell
SKEL=/etc/skel  #用户主文件夹的内容数据参考目录
CREATE_MAIL_SPOOL=yes   #是否自动建立用户的邮箱

 2.passwd 密码设置

用法:passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]

-l 将 /etc/shadow 第二列最前面加上!,使得密码失效
-u 与 -l 相反
-S 列出密码的相关参数
-n 不可更改密码的天数
-x 必需要更改密码的天数
-w 密码过时前的警告天数
-i 密码失效的日期
  • 设置用户密码
[root@localhost ~]# passwd sherlock
更改用户 sherlock 的密码 。
新的 密码:
从新输入新的 密码:
passwd: 全部的身份验证令牌已经成功更新。
  • 查看用户的密码参数
[root@localhost ~]# passwd -S sherlock
sherlock PS 2019-02-01 0 99999 7 -1 (密码已设置,使用 SHA512 加密。)
#用户名 PS 密码建立日期 最小天数 更改天数 警告天数 密码是否会失效(0-当即失效,-1-永不失效)
  • 修改用户的须要更改密码的天数和失效天数
[root@localhost ~]# passwd -x 30 -i 60 sherlock
调整用户密码老化数据sherlock。
passwd: 操做成功
[root@localhost ~]# passwd -S sherlock
sherlock PS 2019-02-01 0 30 7 60 (密码已设置,使用 SHA512 加密。)
#用户名 PS 密码建立日期 最小天数 在30天后须要更改密码 警告天数 密码60天后会失效

3.chage 修改密码参数

用法:chage [options] [LOGIN]

-l 列出帐号的详细密码信息
-d 最后一次更改密码的日期
-E 帐号失效日
-I 密码失效日期
-m 密码最短保留天数
-M 密码须要修改天数
-W 密码过时前的警告日期
  • 显示密码的详细参数信息
[root@localhost ~]# chage -l sherlock
Last password change                    : Feb 01, 2019
Password expires                    : Mar 03, 2019
Password inactive                    : May 02, 2019
Account expires                        : never
Minimum number of days between password change        : 0
Maximum number of days between password change        : 30
Number of days of warning before password expires    : 7
  • 强制用户首次登陆时必须更改密码,能够在建立用户时加入 [root@localhost ~]# chage -d 0 username ,效果以下:
[root@localhost ~]# chage -d 0 sherlock
[sherlock@localhost ~]$ chage -l sherlock
Last password change                    : password must be changed
Password expires                    : password must be changed
Password inactive                    : password must be changed
Account expires                        : never
Minimum number of days between password change        : 0
Maximum number of days between password change        : 30
Number of days of warning before password expires    : 7

 4.usermod 修改用户帐号数据

用法:

usermod [-c comment] [-d home_dir [ -m]]
[-e expire_date] [-f inactive_time]
[-g initial_group] [-G group[,...]]
[-l login_name] [-s shell]
[-u uid [ -o]] login

-u 后面接UID,指定某个UID给该用户

-r 建立一个系统帐号,UID小于500

-d 指定某个目录成为主文件夹,默认使用home下的login名称对应的目录为用户的主文件夹

-g 初始用户组,默认的用户组数字为1

-G 后面接组名,表明将用户加入某些组,组与组之间用 ”,” 号隔开

-m 若是没有用户目录则自动建立(通常帐号)

-M 不建立用户目录(系统帐号)

-c 设置帐号 /etc/passwd的说明

-e 帐号的失效日期,后面接”YYYY-MM-DD”

-f 密码失效日期,0为当即失效,-1为永不失效,默认为-1

-s 后面接shell,默认为/bin/bash

-n 取消将用户加入设置的默认用户组(组名与用户名相同),若是取消,用户会加入默认的100(users) 用户组下
  • 修改帐号的说明 usermod -c “说明内容” username
[root@localhost ~]# grep sherlock /etc/passwd
sherlock:x:505:505:I am sherlock holmes:/home/sherlock:/bin/bash
[root@localhost ~]# usermod -c "I am soooo cool" sherlock
[root@localhost ~]# grep sherlock /etc/passwd
sherlock:x:505:505:I am soooo cool:/home/sherlock:/bin/bash
  • 修改帐号的主目录,须要注意,修改帐号主目录后,须要把环境配置文件移到新目录下,不然切换到该用户时会形成  -bash-4.1$ 模式,具体操做以下
[root@localhost ~]# usermod -d /home/demo sherlock
[root@localhost ~]# cp -a /etc/skel/. /home/demo

若是触发了 -bash-4.1$ 模式,将 /etc/skel/. 的内容拷贝到用户新的主目录下 主目录下的环境变量有:

 

5.userdel 删除用户

此命令会删除用户的全部数据,加上 -r 参数表明连用户的主文件夹一块儿删除

[sherlock@localhost ~]$ userdel -r sherlock

用户组内容见 用户与用户组之用户组篇 

http://www.javashuo.com/article/p-xxqokzki-bc.html

相关文章
相关标签/搜索