1.用户管理

2.用户组

3.权限分配

一、查看与用户相关文件命令:

1.cat

2.more

3.head /etc/passwd    #查看文件的前十行

4.head -2 /etc/passwd #查看文件的前两行

5.tail /etc/passwd    #查看文件的后十行

6.tail -f /etc/passwd #实时跟踪文件的后十行

6.tail -2 /etc/passwd #查看文件的后两行

7.wc -l /etc/passwd   #显示文件的行数

8.nl /etc/passwd      #直接打印文件内容并且显示行号

Root  X 0 0 root /root :/bin/bash

 

用户名:用户名不要太长。Niejunzhong  -》 njz

X: 密码位 保留,以前的linux存放密码

Uid  用户的标识符

Gid  缺省组标识号  系统默认创建同名组

描述信息  注释性描述

宿主目录   用户登录后的缺省目录

命令解释器   用户使用的shell 默认 bash

密码文件shadow

Etc/passwd 每个用户都有读权限。早些密码放置在密码位。

Man -5 shadow

登录名:加密密码:最后一次修改的时间:最小时间间隔:最大时间间隔:警告时间:账号闲置时间:失效时间:标志。

时间:1969年肯.汤玛斯开发出unix雏形 业界认为linux诞生1970 1月1

 Root 超级用户 缺省没有写权限,照样可以进行修改或删除。

 

Pwconv 密码回写      密码先写入passwd 再转换到shadow

 

Passwd命令   ls -l  /usr/bin/passwd

为什么普通用户可以更改密码?

 

SetUID的定义:当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序的所有者的身份执行。

Passwd的所有者是root 所有普通用户在更改密码时是变成root所有者来执行这个命令的。

 

修改用户配置文件添加用户(原理)

Username   /etc/passwd

Password   /etc/shadow

1、vi /etc/passwd    用户名 密码 uid gid 描述 宿主目录 shell

2、Mkdir  创建宿主目录    给予权限  chown 用户  目录

3、Vi /etc/shadow

此时 可以登录 命令提示符不同

4、cd /etc/skel 里面全是隐藏文件 ls -a

5、Cp skel里的文件到 新用户的宿主目录

 

用户配置文件 /etc/

Login.defs  配置邮件  最大时间间隔 最小时间间隔(root不限定) 自动创建目录 Umask

Etc/default/useradd  宿主目录缺省目录 账号是否被禁用 账号失效时间

 

登录信息

登录前:etc/issue   避免暴露系统版本信息

登录后:/etc/motd  内部信息   wall广播

用户类别:

Linux 用户分为三种

超级用户 root     uid=0

普通用户          uid 500-60000

伪用户:          uid 1-499

 

Uid0的用户叫做超级用户,命令提示符前  []#  ls

伪用户

1、伪用户与系统和程序服务相关

Bin、baemon、shutdown、halt等,任何linux系统默认都有这些伪用户

Mail、news、games、apache、ftp、mysql及sshd等,与linux系统的进程相关。

2、伪用户通常不需要或无法登陆系统

3、可以没有宿主目录

二、用户管理:

1.新建用户

useradd user1

2.删除用户

userdel -r user1

3.修改密码

1)passwd user1

2)echo 123|passwd --stdin user1

4.查看用户

id user1

三、用户影响文件

如果用户用userdel删除,可以通过删除下面影响文件来删除、来新建。

1)/etc/passwd

2)/etc/shadow

3)/etc/group

4)/var/spool/mail

5)/home

1)/etc/passwd用户属性

user1:x:500:500::/home/user1:/bin/bash

1-1)用户名

1-2)用户密码所在的文件/etc/shadow

1-3)用户uid

1-4)用户所属组的gid

1-5)用户描述

1-6)用户家目录

1-7)用户登录shell

用户分类

1-1)超级用户

1-2)系统用户

1-3)普通用户

2./etc/shadow

1)加密方法:grub-md5-crypt

2)!! 说明该用户没有密码

3)!$$$$ 说明该用户被锁定

3./etc/group

user1:x:500:

组名:组密码位:

4./home

1)user1的家目录

/home/user1

2)删除用户

userdel -r user1

#如果userdel user1删除,会留下用户家目录和用户邮箱

5.管理用户命令-usermod

1)锁定一个用户

usermod -L user1

2)解锁一个用户

usermod -U user1

3)锁定用户后/etc/shadow

!$1$Ttyif4Oi$piuprg8yV9.FGc4MzA4EP0

#密码前面会出现一个!

四、组管理:

1.新建组

groupadd grp1

2.删除组

groupdel grp1

3.用户与组管理:

1.把用户加入组

1).usermod -g grp1 user1

2).usermod -G grp1 user1

3).gpasswd -a user1 grp1

#把用户user1加入组grp1

2.把用户从组删除

1).gpasswd -d user1 grp1

#把用户user1从grp1组中删除

其他用户命令:

Finger 用户   那台主机登录、什么时间登录、有没有邮件和计划任务

Su 用户 切换用户

Passwd -S 用户 查看用户的密码状态。

Who、w 查看当前用户

批量添用户命令 循环+ echo ‘12345’ |passwd --stdin user

Gpasswd -a user1 grap1

Gpasswd -d user1 grp1

五、用户与文件的关系-权限:

 

1.chmod

2.chown

3.setuid

4.setgid

5.sudo

6.acl

 

1.chmod授权方法

1)chmod 755 /mnt

2)chmod a+x file

3)umask 文件权限掩码,由它决定文件夹权限是755,文件权限是        644

4)查看单个目录本身的权限

ls -ld mnt/

5)在当前终端切换用户

su - user1

2.chown改变所有者和所属组

chown user4 test

#改变所有者为user4

chown :user4 test

#改变所属组为user4

chown user4:user4 test

#同时改变所有者和所属组

3.SetUID

操作对象:执行程序

-rwxr-xr-x  root root file

-rwsr-xr-x  root root file

查找setuid程序  find / -perm -4000 -o -perm -2000

作用:一个执行命令一旦加了s位,其他所有人执行时都是以该命令的所有者的身份在执行.

如何加s位:

1) chmod u+s /bin/touch

2) chmod 4755 /bin/touch

4 2 1 setuid setgid t位

4.setgid

操作对象:文件夹

作用:对目录设置setgid,目录下的子文件夹也继承父文件夹的gid    权限

chmod g+s test

chmod 2755 test

5.t 粘作位

操作对象:目录的权限是777

作用:在一个公共的文件夹内自己只能删除自己的东西

chmod o+t /tmp

chmod 1777 /tmp

6.sudo授权

1)echo $PATH

#这个环境变量决定了你能在哪些路径下直接找到执行程序

2)设置sudo

2-1)visudo

2-2)vi /etc/sudoers

#不推荐第二种方法

user1   localhost=/usr/sbin/useradd user5,/usr/sbin/userdel -r user5,/sbin/service httpd restart

3)!str #执行历史中离你最近一次以str开头的命令

 

7.acl授权

1)设置权限

setfacl -m u:user1:rwx /test

2)查看权限

getfacl /test

3)删除user1在/test上的权限

setfacl -x u:user1 /test

4)删除/test上的所有acl权限

setfacl -b /test

5)设置acl的默认权限

setfacl -m d:u:user1:rwx test

#当前目录的以后子目录会继承目录的acl权限

最新文章

  1. day26:面向对象进阶:set、get、del反射和内置
  2. ASP.NET MVC 拓展ActionResult实现Html To Pdf 导出
  3. 数据结构和算法 – 11.高级排序算法(上)
  4. IMX6 PCA9698应用层读写库
  5. Build Slic3r on Windows // 如何在Windows上编译Slic3r
  6. jdk各个班本官网下载地址
  7. Python(2.7.6) 标准日志模块的简单示例
  8. 属性文件Plist
  9. EBS 开发中如何动态启用和禁止请求(Current Request)的参数
  10. php curl使用
  11. JS-函数的构造函数Function
  12. str() vs repr() in Python
  13. CodeForces Round #550 Div.3
  14. web浏览器兼容问题
  15. Python脚本之安装linux源码包-Jenkins
  16. centos7 部署 docker compose
  17. 002.etcd使用场景
  18. NFS 网络挂载问题 解决
  19. Docker 安装tensorflow
  20. zookeeper的安装及共享锁的应用

热门文章

  1. MongoDB-C#驱动帮助
  2. ZeroMQ接口函数之 :zmq_ipc – ZMQ本地进程间通信传输协议
  3. centos7 最小化安装没有ifconfig及修改网卡名enoxxx为ethX
  4. ajax同步的实现
  5. URL地址中使用中文作为的参数【转】
  6. 关于datagridview里使用combox的总结
  7. vert.x学习(五),用StaticHandler来处理静态文件
  8. 【Android测试】【第十九节】Espresso——API详解
  9. [1]IP地址查询
  10. cloudera learning3:Hadoop配置和守护进程logs