Linux用户及权限
用户管理
UID 用户编号
➢ 管理员 UID 为 0:系统的管理员用户。 ➢ 系统用户 UID 为 1~999: Linux 系统为了避免因某个服务程序出现漏洞而被黑客提 权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏 范围。 ➢ 普通用户 UID 从 1000 开始:是由管理员创建的用于日常工作的用户。 需要注意的是,UID 是不能冲突的,而且管理员创建的普通用户的 UID 默认是从 1000 开始的(即使前面有闲置的号码)。
useradd添加用户
sudo useradd -d /home/andy -u 1009 -s /usr/bin/bash andy
# -d 指定家目录
# -s 指定shell
# -u 指定用户id
groupadd 添加用户组
sudo groupadd film
usermod 修改用户属性
usermod 选项 用户名
# -c<备注>:修改用户帐号的备注文字;
# -d<登入目录>:修改用户登入时的目录;
# -e<有效期限>:修改帐号的有效期限;
# -f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
# -g<群组>:修改用户所属的群组;
# -G<群组>;修改用户所属的附加群组;
# -l<帐号名称>:修改用户帐号名称;
# -L:锁定用户密码,使密码无效;
# -s<shell>:修改用户登入后所使用的shell;
# -u<uid>:修改用户ID;
# -U:解除密码锁定。
更改登录目录
sudo usermod -d /home/hnlinux root
改变用户的uid
sudo usermod -u 777 root
passwd 修改密码
passwd 命令用于修改用户密码、过期时间、认证信息等,格式为“passwd [选项] [用户名]”。 普通用户只能使用 passwd 命令修改自身的系统密码,而 root 管理员则有权限修改其他所有人的密码。
-l 锁定用户,禁止其登录 -u 解除锁定,允许用户登录 –stdin 允许通 过 标 准 输 入修 改 用 户密 码 , 如 echo “NewPassWord” | passwd –stdin Username -d 使该用户可用空密码登录系统 -e 强制用户在下次登录时修改密码 -S 显示用户的密码是否被锁定,以及密码所采用的加密算法名称
userdel 删除用户
-f 强制删除用户 -r 同时删除用户及用户家目录
文件权属及属性
尽管在 Linux 系统中一切都是文件,但是每个文件的类型不尽相同,因此 Linux 系统使 用了不同的字符来加以区分,常见的字符如下所示。 ➢ -:普通文件。 ➢ d:目录文件。 ➢ l:链接文件。 ➢ b:块设备文件。 ➢ c:字符设备文件。 ➢ p:管道文件。
文件的读、写、执行权限可以简写为 rwx,亦可分别用数字 4、2、1 来表示。
chmod 命令是一个非常实用的命令,能够用来设置文件或目录的权限,格式为“chmod [参数] 权限 文件或目录名称”。
临时取得权限
SUID : chmod u+s 文件名
x 改变成 s 就意味着该文件被赋予了 SUID 权限。如果原先权限位上没有 x 执行权限,那么被赋予特殊权限后将变成大写的 S。
SGID: chmod g+s 文件名
目录:加 -R 参数
SBIT: chmod -R o+t 目录名
SBIT 特殊权限位 ,与 SUID 和 SGID 权限显示方法不同,当目录被设置 SBIT 特殊权限位后,文件的其他人权限部分的 x 执行权限就会被替换成 t 或者 T,原本有 x 执行权限则会写成 t,原本没有 x 执行权限则会被写成 T。
用数字表示:SUID:4 SGID:2 SBIT:1,放在正常权限前面。例如: rwsrw-rwT : 5766,rwSr-s-wT : 7652,6543 : r-sr-S-wx, 7654 : rwSr-sr-T
隐藏权限
chattr
chattr +i 文件或目录 , 新增隐藏权限 chattr -i 文件或目录 ,取消隐藏权限
i 无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件 a 仅允许补充(追加)内容,无法覆盖/删除内容(Append Only) S 文件内容在变更后立即同步到硬盘(sync) s 彻底从硬盘中删除,不可恢复(用 0 填充原文件所在硬盘区域) A 不再修改这个文件或目录的最后访问时间(atime) b 不再修改文件或目录的存取时间 D 检查压缩文件中的错误 d 使用 dump 命令备份时忽略本文件/目录 c 默认将文件或目录进行压缩 u 当删除该文件后依然保留其在硬盘中的数据,方便日后恢复 t 让文件系统支持尾部合并(tail-merging) X 可以直接访问压缩文件中的内容
lsattr
lsattr 命令用于显示文件的隐藏权限。
setfacl
针对指定的用户或用户组设置文件或目录的操作权限ACL(访问控制列表)。
setfacl -Rm u:andy:rwx /root
# m 启用
# R 目录
# u 指定用户
getfacl
查看 ACL.
getfacl /root