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