Linux客户端权限,linux用户与权限使用方法

1.管理用户组说明

RHEL系统中普通用户和组的ID默认从500开始,0~499作为系统保留。

2.命令行管理用户

· 1)使用useradd创建用户

用法:useradd [options] user_name

-u UID:为新用户指定一个uid(不使用系统默认按顺序分配),使用-r强制简历系统用户,-o允许新用户不唯一的uid

-g Group:为新用户指定一个组(指定组必须存在)

-G Goups:为新用户指定一个附加组

-M 不创建用户的家目录

-m 为新用户创建家目录,使用-k选项将skeleton——dir内的档案复制到家目录下

-c 为新用户进行说明注释(/etc/passwd的说明栏)

-d 为新用户指定家目录,默认值为default_home内的login

-s 为新用户指定登录后使用的shell

-e 为新用户指定帐号的终止日期,日期格式为MM/DD/YY

-f 用户帐号过期几日后永久失效,当值为0时帐号则立刻失效,为-1时关闭此功能,默认关闭

例子:

useradd -u 510 -c "zabbix user" -s /bin/nologin user1

· 2)使用passwd设置用户密码

用法:passwd [options] user_name

常用选项:

-l 锁定指定密码

-u 解锁指定的被锁定的帐号

-n 指定密码最短时间

-x 指定密码最长时间

-w 指定密码过期前的警告天数

-i 指定密码过期后,帐号失效前的天数

-s 报告指定用户密码的状态

--stdin 从标准输入读入密码,常用于shell脚本

例子:

passwd user1

用cat命令查看:

cat /etc/passwd

查看用户密码信息新行:

cat /etc/shadow

· 3)用usermod命令修改用户帐号信息:

用法:usermod [options] user_name

-L 锁定帐号(在/etc/passwd中密码部分前加一个!)

-U 用于解锁

-l 改变用户的登录名

例子:

usermod -c "zabbix user" user1

cat /etc/passwd | grep user1

查看用户的密码文件,在密码前加“!”符号,用户不能登录

· 4)使用userdel命令删除用户

用法:userdel [options] user_name

-f 强制删除用户,即使该用户仍在登录

-r 删除用户的同时删除该用户的家目录和邮件

例子:

userdel user1

ls /home

没有-r选项删除用户,而用户的家目录被保留,如果同名组没有其他成员,则连同删除,反之,保留。

· 5)使用groupadd命令新建组

用法:groupadd [options] group_name

-g 指定新建组的gid

-o 可以重复使用gid

-r 建立系统帐号

例子:创建一个新组

groupadd xh

修改xh密码:(没有密码的组是不允许用户申请加入的)

gpasswd xh

查看当前组群:

groups

用户主动申请加组群xh

newgrp xh

用户退出组群:exit

删除组xh的密码:gpasswd -r xh

在root用户下,将用户xh加入到xh组中

gpasswd -a xh xh

将lisi设置为组xh的管理员

gpasswd -A lisi xh

切换组:

newgrp xh(在xh用户下)

修改组名,将xh名改为xs:

groupmod -n xh xs

删除组:

groupdel xs

查看user1的uid,gid,组:

id user1

查看用户的帐号密码信息:

change -l user1

设置用户user1帐号过期时间是2021-05-28:

change -E "2021-05-28" user1

检查系统内用户帐号信息的完整性:

pwck (输出中系统帐号家目录信息的缺失是正常的)

· 6)sudo命令获得root权限

使用visudo命令编辑sudo配置文件

visudo /etc/sudoers

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 test/

使用数字方式设置权限:chmod 755 file

· 2)chown命令更改文件用户所有权

更改文件或者文件夹的用户或组的所有权,使用chown或chgrp命令

用法:

chown [options] [所属者]:[所属组] file

chown [options] --reference=参考文件 file

例子:

改变文件的所属者:

chown xh file

改变文件的所属组:

chgrp cxh file

同时改变用户和组的所有权,并使用-R选项递归目录和目录下的所有文件:

chown xh:cxh test/

· 3) 特殊权限

查看passwd的权限

ll 'which passwd'

特殊权限对文件和目录的影响

特权

对文件的影响

对目录的影响

u+s(setuid或suid)

以拥有文件和目录的用户身份执行文件,而不是运行文件的用户身份

无影响

g+s(setgid或sgid)

以拥有文件的组身份执行文件

对目录中最新创建的文件将其组所有者设置为与目录的组所有者相同

o+t(sticky)

无影响

对目录具有写入权限的用户仅可以删除其拥有的文件,而无法删除其他用户所拥有的文件

设置特殊权限有两种方法:

· 符号法:setuid=u+s;setgid=g+s;sticky=o+t

· 数字法: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:告诉系统不要修改对这个文件的最后访问时间

· 2)访问控制列表(ACL)

查看文件或目录的acl权限

用法:getfacl [options] file

例子:查看文件的acl

getfacl testfile

对于添加ACL的文件,使用ll命令列出,权限位的最后带有“+”号

ll testfile

· 3)设置文件或目录的ACL

用法:

setfacl [-bkndRLP] {-m|-M|-x|-X|...} file

常用选项:

-m:设置或修改文件的ACL权限

-x:删除文件的一个ACL权限

-b:删除文件所有的ACL权限

-k:删除所有的默认ACL权限

--set:设置文件ACL,替代当前的ACL

--mask:重新计算有效的mask值

-R:递归子目录

-d:设置默认的ACL权限,仅能针对目录使用

--restore:从文件恢复备份的ACL

例子:查看和设置ACL

针对用户xh来设置rwx

setfacl -m u:xh:rwx acltest.file

针对组xh来设置rw

setfacl -m g:xh:rw acltest.file

设置限制的权限为r

setfacl -m m:r acltest.file (mask为限制权限)

查看当前的ACL

getfacl acltest.file

设置ACL权限,如果同时设置多个权限,权限之间使用“,”分隔,同时设置多个ACL用户和组的权限:

setfacl -m u:user1:rwx,u:user2:rw,u:user3:r,g:xh:rw testfile

删除ACL权限

setfacl -x g:xh acltest.file

一次性删除所有ACL的权限

setfacl -b acltest.file

设置目录默认的ACL

setfacl -d -m g:xh:rwx testdir/

· 4)备份和恢复ACL

主要文件操作命令cp和mv都支持备份时保留文件的acl,cp命令需要加上-p参数。但是tar等常见的备份工具是不会保留目录和文件的ACL信息的。--restore选项来恢复文件中保存的ACL。

例子:

查看目录及其所有子目录和文件当前的ACL信息

getfacl -R testdir/

备份目录及其子目录中文件的ACL

getfacl -R testdir/ > testdir.acl

删除原文件所有ACL

setfacl -R -b testdir/

恢复被删除的ACL信息

setfacl --restore testdir.acl

5.SELINUX

Selinux状态有三种:启用模式(enforcing),宽容模式(permissive),禁用模式(disabled)。

查看当前selinux的状态:

getenforce

宽容模式设置:

setenforce 0

恢复selinux状态 :

setenfroce 1

getenforce

永久禁用selinux:

vim /etc/selinux/config

将SElinux=enforcing改为 SElinux=disabled

重启系统使其生效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值