Linux 用户身份和文件权限
2018-01-26 17:54
453 查看
用户身份与文件权限
文件权限与归属:
-:普通文件
d:目录文件
l:链接文件
b:块设备文件
c:字符设备文件
p:管道文件
文件的特殊权限:
Set UID
SUID():可以让二进制程序的执行者临时拥有所有者的权限(仅对拥有执行权限的 二进制程序有效)
所有的用户可以执行passwd修改自己的密码,而用户的密码保存在/etc/shadow
中。你会发小/etc/shadow的权限为000,表示只有root能查看,但是使用 passwd命令是如果加上SUID特殊权限是,就可以让普通用户临时获得所有者的身 份,把变更密码的信息些人到shadow文件中
如果原先权限位没有x执行权限,那么赋予特殊权限后变成大写的S
例如:
ls -l /etc/shadow
//可以看到为-r——–
ls -l /bin/passwd
//-rwSr-xr-x
用户身份与能力: Linux管理员之所以是root,不是因为它的名字,而是因为该用户的身 份号码是UID(user IDentification)的数值是0,在liunx中UID相当 于我们的身份证号码一样具有唯一性,因此可通过用户的UID的值来判断 用户身份。在RHEL7系统中,用户身份有以下这些: 系统管理员UID为0:系统的管理员用户 系统用户UID为1~999:liunx系统为了避免某个服务程序出现漏洞 被黑,而默认服务程序会有独立的系统用户负责运行,控制了被破坏 的范围 普通用户UID从1000开始:是由管理员创建的日常工作用户 useradd命令: 用于创建新的用户,格式“useradd【选项】 用户名” 默认的用户家目录是被存放在/home目录中 默认的解释器就是/bin/bash 默认会创建一个与该用户同名的基本用户组 参数: -d 指定用户的家目录(默认为/home/username) -e 账户的到期时间,格式为:YYYY-MM-DD -u 指定该用户的默认UID -g 指定一个初始的用户基本组(必须已经存在) -G 指定一个或多个扩展用户组 -N 不创建与用户同名的基本用户组 -s 指定该用户的默认Shell解释器 例如: useradd -d /home/liunx -u 8888 -s /sbin/nologin user1 id user1 //注意使用的是/sbin/nologin这是表示该用户不能登录到系统中 //::/sbin/nologin也是终端解释器中的一员 groupadd命令: groupadd创建用户组 格式为:groupadd [选项] 群组名 例如:创建一个用户组ronny groupadd ronny usermod命令: usermod修改用户属性 格式为:usermod [选项] 用户名 用户信息保存在/etc/passwd文件中 vim可以修改其中的用户参数项目, usermod修改已经创建的用户信息,UID、基本/扩展用户组、默认终端 参数: -c 填写用户账户的备注信息 -d -m 参数-m与-d连用,重新指定用户的家目录并自动把旧 的数据转过去 -e 账户的到期时间 ,格式为YYYY-MM-DD -g 更变所属用户组 -G 更变扩张用户组 -L 设定用户禁止登录系统 -U 解锁用户,允许登录 -s 变更默认终端 -u 修改用户的UID 例如: 查看用户信息 id user1 然后将用户user1加入到root用户组中,这样扩展组列表则会 出现root用户组的字样,而基本组不受影响 例如: usermod -G user1 4000 id user1 在加入-u参数修改用户的UID号码值。 例如: usermod -u 10000 user1 id user1 passwd命令: 用于修改用户的密码、过期时间、认证信息等 格式为:passwd【选项】【用户名】 普通用户只能使用它来修改密码, root可以修改其他所有人密码 root管理员修改他人或者是自己的密码不需要验证旧密码 参数: -l 锁定用户,禁止登录 -u 解锁,允许登录 --stdin 允许通过标准输入修改用户的密码 例如:echo "newpasswd" | passwd --stdin username -d 是该用户可用空密码登录系统 -e 强制用户在下次登录是修改密码 -S 显示用户的密码是否被锁定,已经密码所使用的加密算法名称 例如: passwd //下面输入你的密码 //确认密码 passwd username //修改用户的密码 //再次确认密码 //禁止某个用户登录系统 passwd -l username //查看是否锁定 passwd -S username //解锁 passwd -u username passwd -S username userdel命令: 用于删除用户,格式"userdel[选项] 用户名" 参数: -f 强制删除用户 -r 同是删除用户和用户家目录 例如: id username userdel -r username id username
文件权限与归属:
-:普通文件
d:目录文件
l:链接文件
b:块设备文件
c:字符设备文件
p:管道文件
目录文件的权限: r:能够读取目录内文件的列表 w:能够在目录内新增、删除、重命名文件 x:能够进入该目录 文件读写执行权限简写为:rwx(数字表示:4,2,1) 例如: 764:rwxrw-r-- 642: rw--w--wx 153: --xr-x-wx 文件信息实例: ls -l install.log -rw-r--r-- 1 root root 34298 04-02 00:23 install.log 开头的-:文件类型(这里是普通文件) rw-r--r--:访问权限(所有者读写,所属组读,其他人读) 第一个root:所有者 第二个root:所属组 34298:占用磁盘大小 04-02 00:23:修改时间 install.log:文件名称
文件的特殊权限:
Set UID
SUID():可以让二进制程序的执行者临时拥有所有者的权限(仅对拥有执行权限的 二进制程序有效)
所有的用户可以执行passwd修改自己的密码,而用户的密码保存在/etc/shadow
中。你会发小/etc/shadow的权限为000,表示只有root能查看,但是使用 passwd命令是如果加上SUID特殊权限是,就可以让普通用户临时获得所有者的身 份,把变更密码的信息些人到shadow文件中
如果原先权限位没有x执行权限,那么赋予特殊权限后变成大写的S
例如:
ls -l /etc/shadow
//可以看到为-r——–
ls -l /bin/passwd
//-rwSr-xr-x
SGID: 1.让执行者有所属组的权限(仅对拥有执行权限的二进制程序有效) 2.在某个目录中创建的文件自动继承该目录的用户组(只针对目录) 假设一个文件权限为cr--r----- 这里除了root和属于system组的成员外,其他人都没有读取该文件的权限 当我们查看系统进程状态的ps命令文件上增加SGID特殊权限位时: ps命令文件属性信息: -r-xr-Sr-x 这样,由于ps命令被增加了SGID特殊权限位,所以当用户执行该命令时, 也获取到了system用户组的权限,可以读取设备文件了 每个文件都有其归属的所有者和所属组,当创建或者是传送一个文件后 这个文件就会自动归属于执行这个操作的用户(即该用户是文件的所有者) 我们想要多个人都能读取到这个文件,那么可以在共享目录后,设置SGID 特殊权限位。这样任何人创建的任何文件都属于该目录的所属组,不在是自 己的基本用户组 例如: cd /tmp mkdir testdir ls -ald testdir/ drwxr-xr-x 2 root root 6 chmod -Rf 777 testdir/(改变权限任何人能读能写能执行) chmod -Rf g+s testdir/(添加特殊权限) ls -ald testdir/ drwxrwsrwx 测试: su - username cd /tmp/testdir echo "linux is my life!" > test ls -al test -rw-rw-r-- chmod能够设置文件或者目录的权限 格式:chmod [参数] 权限 文件或者目录名 例如: ls -al test -rw-rw-r-- chmod 760 test ls -l test -rwxrw---- chown能够设置文件或者目录的所有者和所属组 格式:chown【参数】 所有者:所属组 文件或者目录名 chmod和chown加上参数[-R]表示递归操作,对目录内所有的文件修改 例如: ls -l test -rwxrw---- username root chown root:bin test ls -l test -rwxrw---- root bin SBIT:能够确保用户只能删除自己的文件,而不能删除其他用户的文件 当设置了SBIT就只能被所有者操作了 当目录设置为SBIT特殊权限后,文件的其他人权限部分的x就会被替换为t或者是T 原本有x执行权限,则会写成t 原本没有x执行权限,就会写成T 例如: su - username ls -ald /tmp cd /tmp ls -ald echo "Welcome to linux" > test chmod 777 test ls -al test //现在尝试删除 su - user1 cd /tmp rm -f test //提示说不能被删除 如果要对其他目录设置SBIT权限,用chmod就可以了 对应参数o+t代表设置SBIT权限: exit cd ~ mkdir linux chmod -R o+t linux/ ls -ld linux/ drwxr-xr-t //补充 4为SUID 2为SGID 1为SBIT 操作: 数字操作: cd /tmp touch test chmod 4755 test//加入SUID chmod 6755 test//加入SUID和SGID chmod 1755 test //加入SBIT 字母操作: SUID:u+s SGID:g+s SBIT:o+t chmod g+s,o+t test;//加上SGID和SBIT
相关文章推荐
- Linux用户身份与文件权限
- 【Linux系统 简单分配权限】以root的身份 分配 某用户 的一个文件权限
- linux用户身份与文件权限
- linux基础-权限管理,手工添加用户,umask,bash配置文件
- linux 修改目录文件权限,目录文件所属用户,用户组
- linux文件管理类命令,类型,用户的权限管理及bash shell的特性:命令别名,文件名通配
- Linux之文件权限、用户管理
- linux下创建用户和设置文件权限
- Linux用户用户组及文件权限【附管理操作】
- linux用户管理和文件权限
- linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限
- Linux用户、用户组、文件权限设置
- Linux 用户权限,文件权限
- Linux笔记之身份与权限1:用户的身份和组
- 掌握Linux的用户(组),权限,文件精妙的三角关系,和强大的三级帮助系统
- Linux文件权限及用户管理
- Linux 用户管理 与 文件权限
- linux用户文件权限详解-精品总结(二)
- 实验楼 Linux 基础入门 用户及文件权限管理 作业笔记
- linux管理用户和文件权限