用户管理

文本管理类命令:

    查看:cat,head,tail,less,more,tac

    复制:cp

    移动:mv

    删除:rm

    创建:touch

    元数据属性:stat

    查看内容类型:file

    文本编辑器:nano,vi


Linux文件类型:

    普通文件:-,f

    目录文件:d

    链接文件(符号链接):l

    设备文件:

        字符设备:c

        块设备:b

    命名管道:p

    套接字文件:s

Linux文件时间戳:

    分为三个时间:  访问时间:atime

                    修改时间:ctime

                    改变时间:mtime

access time,atime 访问时间

modify time,mtime 修改时间

change time,ctime 改变时间



ls:

    -a:显示所有文件,包含隐藏文件。

    -l:长格式。

 

l          rwxrwxrwx.     1      root   root      2 Feb 12 09:49      rvi       -> vi

文件类型   文件权限   硬链接数   属主   属组      最近一次修改时间    文件名    原始文件

    -d:显示目录自身的信息,通常与-l同时使用。

    -r:逆序显示

    -R:递归显示

    -h:文件大小易读格式显示。

    -i:inode号,index node

bash的特性之四:命令别名

    alias:显示当前shell中定义的所有别名。

alias别名=‘原始命令’

unalias别名


文本文件查看:

        file FILE。。。查看文件内容的格式。

cat:

    -E:显示行结束符

    -v:显示非打印字符。

    -e:相当于-vE

    -n:显示时给行按顺序编号

    -s:多个连续的空白行显示为一个空白行。

tac:逆向查看

more:向后翻

less:向前翻

head

    -n #:设置行号。

    -#

tail

    -n #

    -#

    -f:查看不退出。

bash的特性之四:命令别名。

    alias:显示定义的别名。

    \:显示命令本身的属性信息。

    alias 别名=‘原始命令’ 没有空格不用加引号。

    unalias:取消别名。


file FILE。。。。查看文件内容的格式。

cat:

    控制符,如换行符。

    -E:显示行结束符$
    -v:显示非打印字符。

    -n:显示行号。

    -e:相当于-vE

    -s:多个连续的空白行显示为一个空白行。

{}命令行展开cat /etc{passwd,fstab}

tac:逆序显示。

more:向后翻。

b向前翻。

less:向前翻

echo命令的用法

-e:启用转移字符。

-n:并排显示。

\033终端显示颜色的。

echo -e “\033[31mhello\033[0m"

             \033[0m":这个是结束表示。

                41m

                32m

                37m

                第一个#:3表示前景色

                          4表示背景色。

                第二个#:颜色,1-7

                echo -e ”、033【1mhello

echo -e “\033[1mhello"

echo -e “\033[2mhello"

echo -e “\033[3mhello"

echo -e “\033[4mhello"

echo -e “\033[5mhello"

echo -e “\033[6mhello"

这样用了其中的一个就是一直用默认颜色了。没有结束。ls执行后,就会好了。

reset重置终端

history -a是把命令历史追加到histfile文件中。


文件操作命令:

    touch时间戳

cp:copy

 

SRC,DEST

cp SRC DEST

假如src是一个文件

如果目标是一个文件且存在:覆盖

如果目标存在,且是一个目录:复制源至目标目录,并保持原名。

cp SRC... DEST

假如SRC有多个文件:

如果目标存在,且是一个文件:复制无法进行。

如果目标存在,且是一个目录,复制各文件至目标目录中,并保持原名。

如果目标不存在,复制无法进行。

如果SRC只是一个且是目录:

如果目标是一个文件且存在:失败

如果目标存在,且是个目录:复制源目录至目标目录中。且保持原名

bash特性之五:globbing,文件名统配。

    通配符:

        *:匹配任意长度的任意字符。

        ?:匹配任意单个字符。

        []:匹配指定字符范围内的任意单个字符。

        通配符不区分大小写。

        [a-z]

        [A-Z]

        [0-9a-zA-Z]

        [0-9]

只能用字符集区分大小写。

[[:upper:]]相当于A-Z

[[:lower:]]相当于a-z

[[:alpha:]]相当于a-zA-Z

[[:digit:]]相当于0-9

[[:alnum:]]相当于0-9

[:space:]]空白

[[:punct:]]标点符号。

[^]:匹配指定字符范围外的任意单个字符。

两个cp引用练习引用案例:

cp /var/l*[0-9]*[[:lower:]] /tmp/ 

cp -r /etc/[^[:alpha:]][[:alpha:]]* /tmp/c

cp常用选线:

-r递归

-f强制

-i交互

-a相当于-dr

-d复制链接文件本身而非指向的源文件。

-p保留原有属性。


mv引动。用法和cp相似。

可以直接移动目录。无须再加-r选项。


rm:移除文件。

    删除非空目录:#rm -rf


stat命令:文本编辑器nano

touch改变时间戳

-c不创建空文件,之改变时间戳

-t修改时间。STAMP:[CC]YYMMDDhhmm.ss

-a仅修改访问时间。

-m仅修改修改该时间

改变时间人为不能操作。

touch -t  201402031234.42 /tmp例子

access time,atime 访问时间

modify time,mtime 修改时间

change time,ctime 改变时间

stat命令

    stat FILE。。

用户和权限管理:

用户:资源分配。是安全权限模型的核心要素之一。

密码:用户认证。

多用户的操作系统。

信息库:用户 密码名称解析:User Identifier, UID身份表示符。

用户容器:组(group),角色(Role)

组名:Group identifier,GID

解析:在数据库按搜索码查找到对应的条目。并找与之对应额外其他数据过程。

数据库:

    文本文件

    SQl数据库

    ladp数据库

    /etc/passwd:用户的信息库。

加密方法:

    堆成加密:DES(已被破解),3DES(双层加密),AES(高级加密)。

公钥加密:DSA,SA。

单向加密:雪崩效应,定长输出。不可逆。

MD5:信息摘要128bits

SHA1(安全的hash算法):160bits

CRC32:循环冗余效验码。

SHA256:

SHA512:

密码信息库:/etc/shadow影子文件。

6表示sha512加密算法

1 MD5

组:用户容器,角色

/etc/group

/etc/gshadow

安全上细纹。

创建用户:

  useradd UserName

  /etc/passwd;

用户名:x:UID:基本组ID:comment信息:HOME:默认shell


useradd:adduser

-u UID:指定UID

-g GID:指定GID,即指定用户的基本组,但GID要事先存在

-G GID:指定用户的额外组,组要事先存在。

-d /path/to/somewhre:指定某个目录成为家目录,而不要使用预设值;

-c "comment“:  -c  "fedora community" fedora

-s /path/to/shell:指定默认shell,应该指定使用/etc/shells文件中出现的shell。

groupadd GrpName

-g GID:创建组并为其指定GID

-m:创建用户时,强制给用户创建家目录。

-M:创建用户,但不创建家目录。

-D:default,为useradd命令创建的用户指定新的默认值。

-r删除家目录

groupadd GrpName

-g GID:创建组并为其指定GID

userdel:删除用户,默认会保留家目录

格式:userdel UserName

-r::一并删除家目录


总结:

/etc/passwd:

username:x:UID:GID:comment:home:shell

/etc/group:

GrouPname:x:GID:User List

/etc/skel,/etc/default/useradd

设定用户密码:passwd

普通用户:passwd

管理员

改自己密码:passwd

改其他用户密码:passwd Username

密码安全性策略:足够复杂

够长,

交叉应用数字,大写字母,小写字母和特殊中的至少三种:

尽量避免使用易猜测的密码:

定期更换:

用户类别:

管理员:0

普通用户:1-65535

系统用户:1-499

登陆用户:500+

用户组:

管理员组

普通组

以用户为视角,组可为两类:

基本组:显示在/etc/passwd中GID字段组,为用户的基本组。

额外组,附加组:/etc/group

/etc/shadow文件的格式:

UserName:加密的密码:最近一次密码修改时间:最短使用期限:最长使用期限:警告区间。非活动区间:账号的过期期限:预留段

设定组密码:gpasswd  GroupName

如何修改用户的属性定义:

修改用的属性定义:

修改用户默认shell:chsh

修改用户注释:chfn

chfn修改用户信息chfn +用户

 finger user1查看详细的信息用户。


 usermod:

-u UID:

-g GID:

-G GID:默认会覆盖原有的附加组,如果是添加,则同时使用-a

-a添加附加组

-c string:改注释

-d /path/to/New_HOme:默认不会迁移用户的家目录,如果要迁移,则同时使用-m。

-s SHELL:

-l New_login_name:

-L:锁定用户账号

-U:解锁

 如何修改组属性定义:

groupmod:

-g GID

-n New_Group_Name:

usermod -u 4004  -g linux -a -G distro,fedora mandriva




 chage -m 2 -M 50 fedora 修改用户密码时间

修改账号密码的有效期限:chage

 -E:有效期,0表示立即过期,-1表示永不过期

 -I:密码过期后,锁定账号的天数

 -m:修改密码的最小天数

 -M:修改密码的最大天数

 -W:密码过期前,开始警告天数


 查看用户相关信息id:

 id UserName:

-u:显示UID,跟-n一起使用则显示用户名。

-g:显示基本组ID,跟-n一起使用则显示基本组名。

-G:显示所有组ID,跟-n一起使用则显示所有组名。

组管理相关命令总结:

groupadd:

-g 指定组ID号

-r:加入组ID

-f:加入已经有的组

groupmod:修改组属性:

groupdel:删除组

gpasswd:添加组密码

newgrp:切换用户所在用户组命令。登录另一个组中。


 su:Switch User

切换用户:

su Username

-登录时切换

不加-是非登录时切换

-l 加这个参数,相当于重新登录为改使用者。

-c ‘COMMAND’:指的就是不用切换到这个用户,用这个用户执行想要的命令。

















你可能感兴趣的:(用户管理)