2.命令行管理用户
例子:
useradd -u 1000 -c "ftp user" -s /bin/nologin user1
5)使用groupadd命令新建组
用法:groupadd [options] group_name
-g 指定新建组的gid
-o 可以重复使用gid
-r 建立系统帐号
例子:创建一个新组
groupadd nona
修改nona密码:(没有密码的组是不允许用户申请加入的)
gpasswd nona
查看当前组群:
groups
用户主动申请加组群nona
newgrp nona
用户退出组群:exit
删除组nona的密码:gpasswd -r nona
在root用户下,将用户zhangsan加入到nona组中
gpasswd -a zhangsan nona
将lisi设置为组nona的管理员
gpasswd -A lisi nona
切换组:
newgrp nona(在zhangsan用户下)
修改组名,将nona名改为xs:
groupmod -n nona xs
删除组:
groupdel xs
查看user1的uid,gid,组:
id user1
查看用户的帐号密码信息:
change -l user1
设置用户user1帐号过期时间是2018-05-28:
change -E "2018-05-28" user1
检查系统内用户帐号信息的完整性:
pwck (输出中系统帐号家目录信息的缺失是正常的)
3.用户初始化
1)用户特定配置文件
当用户被创建时,系统从/etc/skel/目录下复制用户的配置文件到用户的目录。这些配置文件用来定义用户的工作环境,比如:PATH,别名,这些文件位于每个用户的家目录下,仅对当前用户有效。
~/.bashrc 定义函数和别名
~/bash_profile 设置环境变量
~/.bash_logout 定义用户退出时执行的命令
(可将别名定义在bashrc文件中)
全局配置文件:(对所有用户都生效)
/etc/bashrc 定义函数和别名
/etc/profile 设置环境变量
/etc/profile.d 目录下的脚本被/etc/profile引用
系统预设的值:
用户属性信息的默认值在文件/etc/login.defs中被定义
例子:查看/etc/login.defs,使用grep命令过滤文件以“#”开头的注释行
grep -v ‘^#‘ /etc/login.defs
查看/etc/default/useradd文件中的配置项
cat /etc/default/useradd
使用useradd命令列出系统预设的添加用户信息的默认值
useradd -D
可以通过useradd -D加上相应的选项更新这些预设值
-b 定义用户家目录的上一级目录
-e 用户帐号的过期日期
-f 用户帐号过期几日后失效
-g 新建用户的起始群组或ID
-s 新建用户登录后使用的shell
4.Linux文件权限管理
注意:用户权限高于组的权限,高于其他人的权限
权限 | 对文件影响 | 对目录影响 |
---|---|---|
r(读取) | 可以读文件内容 | 可以列出目录的内容 |
w(写入) | 可以更改文件内容 | 可以创建或删除目录中任意文件 |
x (执行) | 可以作为执行文件 | 可以访问目录内容(还取决于目录文件的权限) |
在命令行中列出目录的属性 :
ll -d /home/demo
查看文件目录有多大:
du -sh /root
1)在命令行中管理权限
使用chmod命令更改文件的权限
用法:
chmod [options] [模式] file...
chmod [options] 八进制模式 file...
chmod [options] --referrence=参考文件 file...
常用选项
-R:以递归方式更改所有的文件及子目录
符号模式:chmod who what which file|girectory
简单理解:chmod [-R] [ugoa] [+-=] [rwx] file|firectory
who:指u、a、g、o(代表拥有者,全部,组,其他)
what:值+、-、=(代表添加,删除,精确设置)
which:r、w、x(代表读取,写入,可执行)
八进制模式:chmod [-R] ###
file|diretory###
代表数字,#代表权限总和 r=4,w=2,x=1
精确设置文件的权限:chmod u=rw,g=r file
统一设置目录及目录下所有文件的权限:chmod -R +w targetdir/
使用数字方式设置权限:chmod 755 file
特权 | 对文件的影响 | 对目录的影响 |
---|---|---|
u+s(setuid或suid) | 以拥有文件和目录的用户身份执行文件,而不是运行文件的用户身份 | 无影响 |
g+s(setgid或sgid) | 以拥有文件的组身份执行文件 | 对目录中最新创建的文件将其组所有者设置为与目录的组所有者相同 |
o+t(sticky) | 无影响 | 对目录具有写入权限的用户仅可以删除其拥有的文件,而无法删除其他用户所拥有的文件 |
设置特殊权限有两种方法:
数字法:setuid=4;setgid=2;sticky=1
例子:给目录设置sgid权限
chmod u+s directory
chmod 2775 directory
搜索所有异常的程序或脚本
find / -perm -4000
4.扩展属性
lsattr testfile.txt 查看文件的扩展属性
1)设置文件的扩展属性:
chattr +i testfile.txt
lsattr testfile.txt
s:系统删除这个文件时,用o填充文件区域
a:只允许追加数据,不允许覆盖或截断这个文件
i:表示不能被删除,不能修改,不能重复命名,不能创建链接
S:表示同部数据
d:在文件备份时,dump程序忽略这个文件,通过man chattr获得说明
c:以透明方式压缩这个文件
u:当一个程序要删除这个文件时,系统会保留其数据块以使恢复
A:告诉系统不要修改对这个文件的最后访问时间
5.SELINUX
Selinux状态有三种:启用模式(enforcing),宽容模式(permissive),禁用模式(disabled)。
查看当前selinux的状态:
getenforce
宽容模式设置:
setenforce 0
恢复selinux状态 :
setenfroce 1
getenforce
永久禁用selinux:
vim /etc/selinux/config
将SElinux=enforcing改为 SElinux=disabled
重启系统使其生效。
原文地址:http://blog.51cto.com/leoheng/2115726