3类用户身份:

(1)管理员UID为0,root

(2)系统用户UID为1-999;nologin不能登录系统,老版本5、6中是1-499

(3)普通用户UID为1000开始,老版本5、6中是1000-65535

UID是不能冲突的,管理员创建的普通用户UID默认是从1000开始,即使前面有闲置的号码

常用命令:

(1)useradd 参数 用户名,创建用户

-d 指定用户的家目录(默认为/home/username)
-e 账户的到期时间,格式为YYYY-MM-DD.
-u 指定该用户的默认UID
-g 指定一个初始的用户基本组(必须已存在)
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的基本用户组
-s 指定该用户的默认Shell解释器

(2)id 用户名,查看用户信息

(3)groupadd 选项 群组名;创建用户组

(4)usermod 选项 用户名;修改用户是的属性

-g 变更所属用户组
-G 变更扩展用户组
-u 修改用户的UID

如:将用户linuxprobe加入到root用户组中,这样扩展组列表中则会出现root用户组的字样,而基本组不会受到影响
usermod -G root linuxprobe
usermod -G root linuxprobe
uid=1000(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe),0(root)

如:用-u参数修改linuxprobe用户的UID号码值。除此之外,我们还可以用-g参数修改用户的基本组ID,用-G参数修改用户扩展组ID
usermod -u 8888 linuxprobe
id linuxprobe
uid=8888(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe),0(root)

/etc/group  用户、用户组信息从这里面可以删除

(5)passwd 用户名,修改密码

--stdin 允许通过标准输入修改用户密码,如echo "NewPassWord" | passwd --stdin Username

ls -l /etc/shadow  权限,密码保存文件

(6)userdel 选项 用户名,删除用户

-f 强制删除用户
-r 同时删除用户及用户家目录

文件权限与归属

在Linux系统中一切都是文件,但是每个文件的类型不尽相同,因此Linux系统使用了不同的字符来加以区分,常见的字符如下所示。

-:普通文件。
d:目录文件。
l:链接文件。
b:块设备文件。
c:字符设备文件。
p:管道文件。

一般文件:

对于一般文件来说,权限比较容易理解:“可读”表示能够读取文件的实际内容;“可写”表示能够编辑、新增、修改、删除文件的实际内容;“可执行”则表示能够运行一个脚本程序。

目录文件:

对目录文件来说,“可读”表示能够读取目录内的文件列表;“可写”表示能够在目录内新增、删除、重命名文件;而“可执行”则表示能够进入该目录。

文件的读、写、执行权限可以简写为rwx,亦可分别用数字4、2、1来表示,文件所有者,所属组及其他用户权限之间无关联,如表

占用磁盘大小    修改时间

chmod 权限 文件名称

chown 用户名:用户组 文件名

chmod和chown命令是用于修改文件属性和权限的最常用命令,它们还有一个特别的共性,就是针对目录进行操作时需要加上大写参数-R来表示递归操作,即对目录内所有的文件进行整体操作。

文件特殊权限:

SUID:chmod u+s 文件名;让命令的执行者临时后去到了所有者的身份

SGID:chmod g+s 文件名;让执行者临时拥有属组的权限

SBIT: chomd o+t 文件名;让目录内的文件只能被文件所有者删除;将Sticky Bit直译成了“粘滞位”或“保护位”

数字法对应:

SUID:4

SGID:2

SBIT: 1

文件的隐藏属性

lsattr 文件名;查看隐藏权限

chattr +权限 文件

-权限 文件

文件访问控制列表:facl

setfacl 设置;file access control list =facl

使用-R递归参数;-m修改参数;如果想要删除某个文件的ACL,则可以使用-b参数,用户是u: 组是g:
setfacl -Rm u:linuxprobe:rwx /root

getfacl 查看;

su

su命令与用户名之间有一个减号(-),这意味着完全切换到新的用户下,即把环境变量信息也变更为新用户的相应信息,而不是保留原始的信息。强烈建议在切换用户身份时添加这个减号(-)

当从root管理员切换到普通用户时是不需要密码验证的,而从普通用户切换成root管理员就需要进行密码验证了;这也是一个必要的安全检查

sudo

命令具有如下功能:

限制用户执行指定的命令:
记录用户执行的每一条命令;
配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数;
验证密码的后5分钟内(默认值)无须再让用户再次验证密码

如果担心直接修改配置文件会出现问题,则可以使用sudo命令提供的visudo命令来配置用户权限。这条命令在配置用户权限时将禁止多个用户同时修改sudoers配置文件,还可以对配置文件内的参数进行语法检查,并在发现参数错误时进行报错。

只有root管理员才可以使用visudo命令编辑sudo服务的配置文件
使用visudo命令配置sudo命令的配置文件时,其操作方法与Vim编辑器中用到的方法一致,因此在编写完成后记得在末行模式下保存并退出。在sudo命令的配置文件中,按照下面的格式将第99行(大约)填写上指定的信息:

谁可以使用 允许使用的主机=(以谁的身份) 可执行命令的列表

[root@linuxprobe ~]# visudo
96 ##
97 ## Allow root to run any commands anywhere
98 root ALL=(ALL) ALL
99 linuxprobe ALL=(ALL) ALL

99 linuxprobe ALL=(ALL) /usr/bin/cat,/usr/binreboot  ,号作间隔

每次执行sudo命令都要输入一次密码其实也挺麻烦的,这时可以添加NOPASSWD参数,使得用户执行sudo命令时不再需要密码验证

99 linuxprobe ALL=NOPASSWD: /usr/sbin/poweroff

 

最新文章

  1. 【原】nodejs全局安装和本地安装的区别
  2. 浅谈 Linux 内核开发之网络设备驱动
  3. 错误记录,找不到sqlite dll
  4. 使用wordpress自带ajax方法
  5. C#中SaveFileDialog 和OpenFileDialog 的用法
  6. Vijos p1002 过河 离散化距离+区间DP
  7. 用Verilog实现IIC通讯
  8. ubuntu13.10 下一个 g++和gcc 4.8不兼容的问题不能被安装
  9. mapreduce on yarn简单内存分配解释
  10. python之---进程
  11. sed 命令替换字符串
  12. 【转载】ipcs与Linux共享内存
  13. 面向对象(this的问题二)
  14. manjaro下的.vimrc
  15. 南京邮电大学java第三次实验报告
  16. 【原创】大叔经验分享(46)用户提交任务到yarn报错
  17. 【JVM】-NO.113.JVM.1 -【JDK11 HashMap详解-4-resize()】
  18. 4、hello world
  19. 利用media query让背景图适应不同分辨率的设备
  20. El中调用静态方法

热门文章

  1. XSS学习(三)挖掘思路
  2. C#中的参数和调用方式(可选参数、具名参数、可空参数)
  3. char* 与 string 互转
  4. zabbix 监控第三方网络
  5. mq的基本介绍和基本用法
  6. 关于使用colorbox加载html页面的一些问题
  7. E4A 与JS交互事件无反应
  8. 在ubuntu中屏蔽“检测到系统程序出现问题”对话框
  9. 配置中心Nacos
  10. 你云我云•兄弟夜谈会 第二季 5G