linux常见操作指令2

##用户的管理
1:系统中为什么要有用户?
答:用户是系统最底层安全机制,用来限制权力,组是为方便管理,更重要的是用来共享权力的,组有两个信息:附加组(合法)/初始组(不能更改)所有用户都有初始组,附加组就不一定,是由超级用户附加给用户的,


2:用户和组在系统中以什么形态存在?
答:文字形式存放在表中或表格所对应的若干系统文件中

ls     ##显示文件信息
ls  -l  filename       ##长列表显示文件信息

      下图事先建立了一个名为test的文件夹,并在文件夹内部建立了三个分别名为testfile1 testfile2 testfile3的文件,现进行如下操作:
 ls    -a   filename      ##显示所有文件包括以“.”开头的(以“.”开头的文件一般都是隐藏文件,用-a可查看隐藏文件)
 ls    -s   filename      ##显示文件大小(如下图所示,不仅显示文件夹大小,内包含文件大小都会显示)
 ls    -d   filename      ##显示目录(如下图显示文件所在文件夹)
 ls    -R   filename     ## 递归显示

 

##通配符
*             ##匹配0到任意字符(如下图所示,建立file文件和  ,file 文件,因为“.file”文件是隐藏文件,因此在使用ls显示文件信息时,隐藏文件并不显示,故用用“-a”显示隐藏文件,用“.*”显示所有带“.”文件如两个带“.”文件)


?             ##匹配单个字符(如下图所示,建立不同字节长度的文件名,用“?”的个数来匹配要删除的文件,下图中分别建立4个长度、3个长度、5个长度的文件名,用4个“?”来删除文件名为4个字节的文件)

 

[[:alpha:]]         ##单个字母(如下图所示:分别建立名为“file” “fiAle” “fiale” “fi3le” “fi*le” “fi le”这六个文件,用[[:alpha:]]  来匹配file中间存在字符的文件,并且删除,结果如下)

 

[[:upper:]]           ##匹配单个大写字母(如下图所示,用"fi[[:upper:]]le"来匹配文件中间字符为单个大写字母的文件并且删除 )


[[:lower:]]      ##匹配单个小写字母(如下图所示,用"fi[[:lower:]]le"来匹配文件中间字符为单个小写字母的文件并且删除)


[[:digit:]]         ##匹配单个数字(如下图所示,用"fi[[:digit:]]le"来匹配文件中间字符为单个数字的文件并且删除)

[[:alnum:]]    ##单个数字或字母(如下图所示,用"fi[[:alnum:]]le"来匹配文件中间字符为单个数字或字母的文件并且删除)


[[:space:]]      ##匹配单个空格(如下图所示,用"fi[[:space:]]le"来匹配文件中间字符为单个空格的文件并且删除)


[[:punct:]]    ##匹配单个符号(如下图所示,用"fi[[:punct:]]le"来匹配文件中间字符为单个符号的文件并且删除)

(如下图所示左右两边的“*”表示匹配0到任意字符,[[:punct:]]    ##匹配单个符号,“!”表示取反)

(如下入所示:最后一条语句表示删除file中间非单个字符和数字的文件)

{}             ##精确匹配字符名称
{1..3}        ##输入此命令会精确匹配到文件1  文件2 文件3    
{a..c}        ##与上相同 a b c

[]            ##模糊匹配字符名称
[1..3]        ##输入此命令输出文件1或文件2或文件3
[ac]          ##a或c
[^ac]           ##除了ac
[!ac]           ##除了ac

3:用户配置文件
vim /etc/passwd   用户信息文件(如下入所示,用户信息文件都包含7个字段)


用户名称:用户密码:用户id:组id:用户说明(用户家目录):用户默认所使用的事(和系统交互所用软件)
例如:text:X:666:666::/home/test:/bin/bash


vim /etc/group    ##显示用户组信息(组名称:组密码:组id:附加成员)


 

vim /home/username    ##用户家目录
              
/etc/skel.*                ##用户的骨文件(用户环境配置,用户建立时自动复制到用户家目录)

#4.用户的查看
whoami   ##查看当前用户名称

id                    username                  ##查看用户id信息
id     -u            username                 ##查看用户的uid
id     -g            username                 ##查看用户的gid
id     -G           username                 ##查看用户所在的组id
id     -n            username


(注:man useradd 查看系统所有组,用/u查询-u的命令 用键盘n向下)

5:用户的建立及删除
watch   -n 1 ‘tain -n 4  /etc/passwd /etc/group;ls -1 /home'     ##此命令查看用户信息

 

(注:  kill -9                 ##截至当前的工作)
/etc/login.defs                ##此文件中可以设定建立用户的默认信息
 
groupadd mmdemo                   ##创建一个名为mmdemo的组

 

useradd username      ##使用默认规则建立用户(规则参看/etc/login.defs)

userdel username     ##删除用户身份

userdel -r username      ##删除用户身份及用户的系统配置文件


useradd -u username     ##指定用户的uid


useradd -g username     ##指定用户的初始组id(如下图指定用户初始组的ID为1003)


useradd -G username     ##指定用户的附加组ID(下图指定用户的附加组ID为1005)


useradd  -c username     ##指定用户的说明文字(对比上下两张图片可发现此语句指定用户的说明文字为“测试”)


useradd  -d username     ##指定用户的家目录(对比上下两张图可发现此语句将用户家目录/home/ymtext更改为/mnt/ymtext下)


useradd -s username     ##指定用户的shell(系统可以用shell在etc/login.defs中指定)(对比上下两张图可看出:将用户的shell从/bin/bash改为/bin/tcsh)

groupadd      groupname     ##创建组(如下图所示:创建了一个名为mmtext的组)


groupadd -g   groupname   ##建立组并指定组ID


groupdel      groupname   ##删除组(如下图删除组名为mmtext的组)

6:用户的管理

usermod                              username
usermod                    -l        username                    ##修改用户名称  (如下图将用户组名称ymtext更改为linux) 

 

usermod                   -u       username                    ##更改用户id(对比上下两图,下图语句将用户组ID从1004改为50)


 usermod    -g     username       ##初始组id (对比上下两图,可知下语句将初始组ID从1006更改为30)  


 usermod        -G       username         ##更改附加组(如下图所示,将Linux与附加组hello绑定)


 usermod    -aG     username      ##增加附加组(下图语句为Linux在原附加组为hello时增加了一个为test的附加组)


 usermod      -c     username         ##更改用户说明(如下图所示,将用户说明更改为"我喜欢")


 usermod     -d       username     ##更改用户家目录指向(对比上下两幅图所示将用户家目录/home/ademo更改为/home/lee)


usermod    -md    username            ##更改用户家目录指向并重命名家目录


 usermod          -s     username        ##更改用户的shell
 
#7.用户的切换
su - username  ##切换用户,高级用户切换到低级用户不需要密码(由下图可看出,此命令由高级命令root切换到低级用户ademo)
               ##低级用户切换到高级用户或者切换到平级用户需要后者的密码


注意:
1:用户切换后及时退出再切换到下一个用户
2:su - 表示切换用户身份及用户环境


8:用户的认证信息
/etc/shadow   ##显示用户的认证信息(如下图所示head -n 1表示显示开头前一行信息)

(上图中的“tail -n 1 ”表示显示末尾最后一行信息)

可用语句watch -n 1 ‘tail -n 1 /etc/shadow 来进行实时监控(出现如下监控界面)

用户的认证信息包括9段(如上图可看出用户信息被“:”分隔成9段):
用户名称(即上图第一部分root):
用户密码:
md5 sha512 对称加密(加密解密用同一串字符 指纹识别)
passwd username   ##只有超级用户在执行(如下图是在超级用户root时使用此语句修改的密码)



usermod -L       ##冻结账户(如下图所示root后出现“!”即说明帐号被锁住)


usermod -U       ##解锁(如下图所示,输入此命令时root后冻结符号“!”去除)


 passwe           ## 普通用户修改自己的密码   (与上类似,不再赘述)
passwd   -L       ##冻结帐号
passwd   -U     ##解锁
passwd   -d       ##清空密码

 


密码最后被修改时间:   

     当此位数字为0时,用户登陆系统会被强制改密码
     chage -d 0 westos(如下图所示,对比上下图密码被最后修改的时间从17754被重新设置为0,用户登陆时必须先修改密码,只在第一次重新登陆时修改)


     passwd -e westos

密码最短有效期:
     chage -m 1 westos


     passwd -n 3 westos

密码最长有效期:
     chage -M 30 westos


     passwd -x 40 westos

密码过期警告:
     chage -W 2 westos


     passwd -w 3 westos

密码非活跃期:
     chage -I 2 westos


     passwd -i 0 westos

帐号到期日:
     chage -E “2018-11-11”  filename    ##(如下图所示17846减去0为现在到2018-11-11的时间)

未设定用户自定义(为最后一个“:”后面的内容)

 

#9:用户权力下放


1:配置文件时
/etc/sudoers           ##使用vim /etc/sudoers打开配置文件如下图所示


2:配置命令
visudo  ##此命令提供语法检测(如下图所示当有异常时会报错)

用户名称 主机名称=(执行程序身份) 命令   ##当前执行需要用户验证
例句1:linux11 dns-server.example.com=(root) /usr/sbin/useradd

例句2:如下图黑色部分所示,使linux11能够执行增加用户功能并且不需要密码

用户名称 主机名称=(执行程序身份) NOPASSWD:命令1,命令2   ##当前执行不需要用户验证
例句:linux11 dns-server.example.com=(root) /usr/sbin/useradd, /usr/sbin/userdel   ##下放增加用户和删除用户的权力给linux11


测试
su - linux11
sudo useradd hellodemo      ##如下两图所示,可以通过linux11可以添加新的用户,并进行删除用户组操作

(如下图用户组中的hellodemo已经被删除)

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值