《用户管理和权限设置》

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 1000 -c "ftp 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 "web user" user1
    cat /etc/passwd |grep user1
    查看用户的密码文件,在密码前加“!”符号,用户不能登录
    grep user1 /etc/passwd

  • 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 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 (输出中系统帐号家目录信息的缺失是正常的)


  • 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 targetdir/
使用数字方式设置权限:chmod 755 file


  • 2)chown命令更改文件用户所有权
    更改文件或者文件夹的用户或组的所有权,使用chown或chgrp命令
    用法:
    chown [options] [所属者]:[所属组] file
    chown [options] --reference=参考文件 file
    例子:
    改变文件的所属者:
    chown zhangsan file
    改变文件的所属组:
    chgrp mail file
    同时改变用户和组的所有权,并使用-R选项递归目录和目录下的所有文件:
    chown zhangsan:mail targetdir/

    1. 特殊权限
      查看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
    针对用户zhangsan来设置rwx
    setfacl -m u:zhangsan:rwx acltest.file
    针对组nona来设置rw
    setfacl -m g:nona: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:nona:rw testfile
    删除ACL权限
    setfacl -x g:zhangsan acltest.file
    一次性删除所有ACL的权限
    setfacl -b acltest.file
    设置目录默认的ACL
    setfacl -d -m g:nona: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
重启系统使其生效。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,817评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,329评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,354评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,498评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,600评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,829评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,979评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,722评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,189评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,519评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,654评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,940评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,762评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,993评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,382评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,543评论 2 349

推荐阅读更多精彩内容