Linux 第11天文件和用户管理

Linux 第11天 

时间: 20180728


目录

用户和组管理命令

文件权限管理命令

文本处理工具



用户和组管理

即添加用户,删除用户,组的管理等

/etc/passwd

/etc/shadow


getent 输出指定的数据库里的指定信息

getent [OPTION...] database [key ...]


Supported databases:

ahosts ahostsv4 ahostsv6 aliases ethers group gshadow hosts initgroups

netgroup networks passwd protocols rpc services shadow


例 getent passwd root

  getent shadow root


useradd

-u UID

-D 后边如果加参数则修改/etc/defaults/useradd里的配置,不加参数则显示文件信息

-d 指定用户家目录路径

-r 表示创建的用户为系统用户(没有家目录)

-m 创建家目录

-s 指定用户的shell

-g 属组的GID

-c 注释信息

-G 附加组信息

-N 不创建与用户名相同的组,而是读取/etc/defaults/useradd里的GID创建

-o 不做UID重复检测,即创建用户时可以使用系统里已经存在的UID

usermod

-a append常与-G连用,表示在原有的附加组上再附加,不加此选项则会覆盖原有的

-l 修改当前用户名为新的用户名

-U 解锁已经锁定的用户

-e 指定过期时间

-f inactifve 指定密码过期后再过几天将彻底禁用此账号

userdel

-r 删除用户时将用户的家目录一并删除

openssl 生成随机密码

rand -base64 

authconfig 配置系统认证资源

--passalgo 设置系统默认的加密算法

--update 将所配置的选项保存至相应的文件中,即等同于直接配置其相应的配置文件

groupadd 添加一个用户组

-g GID

-r 创建一个系统组,即组ID会在201-999

groupdel 删除一个用户组

groups 输出一个和用户同组的其它用户

groupmems 管理用户的主组成员

-g Gname 指定用户组

-d delete 从指定组中删除某个成员 groupmems -d scnet -g mysky

-l list 列出所指定的用户组里的成员 groupmems -lg GroupName

-a add 添加一个用户至指定用户组中 groupmems -a user -g GroupName

newgrp 临时切换一个用户的主组为指定的组

passwd 创建用户的密码

-d 删除指定用户的密码

-l 锁定所指定的用户

-u 解锁锁定的用户

-e 指定用户的过期时间

-f 当解锁-u一个为空口令并可以登录的用户时会提示用户为空口令,此选项会强制执行

-n 密码最小使用时长

-x 密码最长使用期限

-w 密码到期时间前多少天提示需要用户修改密码

-i inactive 密码到期之后多少天可以登录到此服务器此期间登录后必须修改密码

--stdin 接受输入由标准输入echo "string" | passwd --stdin admin

gpasswd

-a add 添加一个用户至指定组内

-d del 从指定组内删除某个用户 

-A 设置某个用户为指定组的管理员,可以添加删除组内用户 

chage

-l 列出指定用户账户的时间信息

-d 修改用户的最后一次密码修改时间

-E 设置用户的过期时间

-I 设置用户在过期时间之后宽限多少天可登录

-m 设置密码的最小使用时长

-M 设置密码的最大使用时长

-W 设置密码在到期时间的前多少天警告用户修改密码

pwck 检查/etc/passwd文件是否存在语法错误

grpck 检查/etc/group文件是否存在语法错误

newusers 批量添加用户账户至一个文件中

按照此格式添加用户的账户信息

pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell

然后使用newusers filename便可实现批量添加用户 

chpasswd 批量修改用户密码

按照此格式添加用户的账户信息至一个文件中

user_name:passwd

然后使用chpasswd filename便可批量修改用户密码

文件权限管理

chmod 修改文件权限

chown 修改文件的所属主属组

chgrp 修改文件的所属组


相对文件

r 可以读取该文件内容

w 可以修改文件内容

x 可以执行该文件

相对目录

r 使用ls可以列出该目录的文件列表但无法使用-l选项,也不可以使用cd进入该目录

w 可以删除该目录的内容

x 可以cd进入该目录,并可以使用ls -l选项

umask

-S 使用u=,g=,o=而替代传统方式0002

-p 输出umask时还会在前边加上命令名 umask -p >> ~/.bashrc

chattr 更改文件属性

[-|+]i immutable 此文件不可更改删除重命名,移动等

[-|+]a append 只可附加内容至此文件不可以删除所文件内容

lsattr 查看该文件的属性


ACL

文件ACL是linux为了为特写用户设置权限,因为本身文件所赋予的权限无法满足需求,

此时就可以使用ACL,来为特定的文件指定用户或用户组对该文件的访问权限,但是并非

所有的文件系统都支持facl

setfacl 设置文件的附加权限

-m 修改当前的文件的ACL权限

-M 从指定文件中读取ACL权限,并为所指定的文件应用该权限

-x 移除指定的权限

-X 从指定文件中读取ACL权限,并为所指定的文件删除该权限

-b 删除所有ACL权限

-R recursive 递归应用权限

-d 一般为文件夹设置,此时在此文件夹里创建新文件时会附加此条ACL权限

-k 移除-d所指定的默认权限

--set-file 清空现有权限并从所给文件中读取权限应用至所给的文件

--restore=file 从file中读取权限,并还原ACL至所给的目标文件或目录 

getfacl 查看所指定的文件或文件夹ACL权限


ACL权限识别顺序

属主 acl定义用户 acl 自定义组 其它人


SUID

某文件被赋予SUID权限时,当某用户对该文件有执行权限,则启动后的进程属主为该文件

的属主,而不是默认的以进程的发起者运行该文件

表现: 设置SUID的文件其user权限的x会变为s,如果user没有x权限则会显示大写S

chmod u+s file...

SGID

如果文件被赋予SGID权限时,用户启动该文件时,进程的属组为该文件的属组,而非默认

的进程的发起者属组

如果目录被赋予SGID权限时,则此时在此文件夹下有写权限的用户创建的文件或者文件夹

会继承该目录的所属组

表现: 设置SGID的文件其group权限的x会变为s,如果group没有x权限则会显示大写S

chmod g+s file...

Sticky

目录被设置Sticky权限时,任何用户在该文件夹下如果有写权限时,只能删除用户自己

创建 的文件,不可以删除其它人创建的文件。

表:设置Sticky权限的文件夹其other权限x会变为t,如果other没有x权限时显示大写T



文本处理工具

cat

-n 显示行号,空白行也会算一行

-A 显示所有字符包含换行制表符等

-b 显示行号,空行不算行号

-s 压缩相邻的空白行为一行显示文件

tac 与cat相反,显示的文件也是倒序显示

less 打开文件查看内容并在浏览至文件末尾时不会退出至命令行,最大区别是当用该命令打开

大文本文件速度快

more 打开文件查看文件内容

rev  将所给的文件每一行反转并输出至标准输出

head 输出文件的前10行至标准输出

-n 指定输出前#行

-c 指定输出文件的前#个字节

tail 输出所指定文件的后10行至标准输出

-n 指定输出前#行

-f 查看文件的后#行,并持续更新,如果文件后续有更新内容,会显示在标准输出

-F 与-f基本相似,只是-f在文件被删除时没有提示,而-F文件被删除时会有提示

-c 输出文件后#个字节

tailf 类似tail -f 只是这个优化的更好一些

cut 裁剪文件,并输出所指定的列

-d delimiter 指定裁剪时的分隔符

-f fields 指定要显示的字段

-c 选择指定列的字符常为cut -c 18-20指定连接的列字符


猜你喜欢

转载自blog.51cto.com/winthcloud/2151354