其他分享
首页 > 其他分享> > 用户、组和权限

用户、组和权限

作者:互联网

安全3A

1. 用户user

2. 组 group

3. 安全上下文

Linux安全上下文
    运行中的程序:进程(procees)
    以进程发起者的身份运行:
        root:/bin/cat
        mage: /bin/cat
    进程所能够访问资源的权限取决于进程的运行者的身份    

4. 用户和组的配置文件

Linux用户和组的主要配置文件:
    /etc/passwd:用户及其属性信息(名称、UID、主组ID等)
    /etc/group:组及其属性信息
    /etc/shadow:用户密码及其相关属性
    /etc/gshadow:组密码及其相关属性

passwd文件格式

login name: 登录用名
passwd:     密码(x)
UID:        用户身份编号(1000)
GID:        登录默认所在组编号(1000)
GECOS:      用户全名或注释
home directory:用户主目录(/home/wang)
shell:      用户默认使用shell(/bin/bash)

文件操作

vipw =vi /etc/passwd   检查文件格式是否正确
    -s 更改shadow
vigr = vi /etc/group 
     -s 更改gshadow 

pwck 检查/etc/passwd文件格式
grpck 检查/etc/shadow 和 /etc/gshadow文件格式

5. 用户和组管理命令

新用户的相关文件和命令

/etc/skel            为新建目录的模板文件夹
/etc/login.defs      账号配置文件
/etc/default/useradd 定义新建账户模板

newusers passwd格式文件 批量创建用户

格式:user1:x:2000:2000:test user1:/home/user1:/bin/csh
创建users文件 users.txt
newusers users.txt 可以批量创建用户

chpasswd 批量修改用户口令

格式:user1:passwd1
      user2:passwd2
创建用户密码文件 passwd.txt
cat passwd.txt | chpasswd 将用户密码输出

6. 用户管理命令

7. 组账号维护命令

gpasswd[option]group
    -a user 将user添加至指定组中
    -d user 从指定组中移除用户user
    -A user1,user2,... 设置有管理权限的用户列表
newgrp:临时切换主组
    如果用户本身不属于此组,则需要组密码

更改和查看组成员 groupmems

groupmems [options] [action]
options:
  -g,--group groupname 更改为指定组(只有root)
  -R,--root CHROOT_DIR 
Actions:
  -a,--add username 指定用户加入组
  -d,--delete username 从组中清除成员
  -p,--purge 从组中清除所有成员
  -l,--list 显示组成员列表
groups [OPTION].[USERNAME]...查看用户所属列表
示例:
查看有哪些用户属于sales组
# groupmems -g sales -l
linda  lisa 

从sales组中删除lisa
# groupmems -d lisa -g sales
# groupmems -g sales -l
linda

添加用户到组里
# id lxj2
uid=1002(lxj2) gid=0(root) groups=0(root)
# groupmems -a lxj2 -g sales
# id lxj2
uid=1002(lxj2) gid=0(root) groups=0(root),1238(sales)

也可以使用usermod命令将用户添加到组里:
usermod-AG将把用户添加到新的组中,这些组将用作他们的辅助组。
使用usermod将用户linda和lisa添加到组销售,并将lori和bob添加到组账户:
usermod -aG sales linda
usermod -aG sales lisa
usermod -aG account lori
usermod -aG account bob

练习

1. 无法进入目录
2.可以用ls查看列表,但是无法查看文件属性类型
3.就算对目录中文件有rw权限,也无法查看和写入 >>(追加)也不行
1.可以进入目录,无法查看列表,可以查看ll file 详细信息
2.可以执行目录内程序,cat file可以查看文件内容
3.如果对文件有w权限,还可以通过>>写入文件

9. 查看用户相关的ID信息

id [OPTION]...[USER]
    -u: 显示UID
    -g:显示GID
    -G: 显示用户所属的组的ID
    -n:显示名称,需配合ugG使用

10. 切换用户或以其他用户身份执行命令:su

su [username] 切换身份   不完全切换
    非登录式切换,即不会读取用户的配置文件,不改变当前工作目录
su - [username] 完全切换
    登录式切换,会读取目标用户的配置文件,切换至家目录
切换身份执行命令
    su - root -c 'command' 
root su至其他用户无须密码;非root用户切换时需要密码

11. 设置密码

passwd

passwd[OPTIONS]UserName:修改指定用户的密码
常用选项:
    -d:删除指定用户密码
    -l:锁定指定用户密码
    -u:解锁指定用户密码
    -e:强制用户下次登录修改密码
    -f:强制操作
    --stdin:从标准输入接收用户密码
        实例:echo "PASSWORD" |passwd --stdin USERNAME
echo PASSWD | passwd --stdin USERNAME  &> /dev/null
useradd USERNAME;echo PASSWD | passwd --stdin USERNAME;passwd -e USERNAME

12. 修改用户密码策略

chage[option]...login
    -d last_day
    -E --expiredate expire_date
    -I --inactive inactive
    -m --mindays min_days
    -M --maxdays max_days
    -W --warndays warn_days
    -l 显示密码策略

示例:

chage -d 0 tom 下一次登录强制重设密码
chage -m 0 -M 42 -W 14-17 tom
chage -E 2016-09-10 tom 

用户相关的其他命令

finger  user  查看用户信息
chfn user     更改用户描述信息
chsh -s       更改用户的shell
    例: chsh -s  /bin/nologin adong  
chage [user]    更改用户口令有效期
chage -l [user] 查看用户口令信息

文件权限

文件的权限主要针对三类对象进行定义

owner 属主,u
group 属组,g 
other 其他,o

每个文件针对每类访问者都定义了三种权限

r   Readable
w   Writable
x   eXcutable

文件

r 可使用文件查看类工具获取其内容
    w 可修改其内容
    x 可以把此文件提请内核启动为一个进程

目录

r 可以使用ls查看此目录中文件列表
    w 可在此目录中创建文件,也可删除此目录中的文件呢
    x 可以使用ls -l 查看此目录中文件元数据(需配合r),可以cd进入此目录
    X 指给目录x权限,不给文件x权限(如果某个文件有执行权限,X会给其他所有者赋予权限)

1. 修改文件的属主和属组

修改文件的属主:chown

chown [OPTION]...[OWNER][:[GROUP]]FILE...
  用法说明:
    OWNER        更改所有者
    OWNER:GROUP  更改所属组
    :GROUP       冒号也可用.替换
    chown[OPTION]...--reference=REILE FILE
    -R:递归

修改文件的属组:chgrp

chgrp[option]...group file
chgrp[option]...--reference=reile file...
-R  递归

更改文件rwx权限:chmod

1.模式法 
u=rwx,g=rw,o=r file
2.数字法
rwxrw-r--  file
111110100 转化为10进制764
--- 0

--x 
001  1
-w-
010  2
r--
100  4
chmod [option]...octal-mode file...
    -R:递归修改权限
chmod[option]...mode[mode]...file...
    mode:
    修改一类用户的所有权限
        u= g= o= ug= a= u= g=
    修改一类用户某位或某些权限
        u+ u- g+ g- o+ o- a+ a- 
chmod[option]...--reference=rfile file...
    参考refile文件的权限,将file的修改为同rfile

chgrp修改文件的属组

chgrp[OPTION]...GROUP FILE
    chgrp[OPTION]...--reference=REILE FILE
    -R 递归

权限设置示例

chgrp sales testfile
chown root:admins testfile
chmod -R g+rwx  testdir
chmod 600 file
chown mage testfile 

面试题
cp f1 dir/fff 需要的命令

1.cp命令需要执行权限 
2.f1需要读权限,所在文件夹需要执行权限,否则进不去,
3.要拷贝的目标文件夹,至少要有执行和写权限

标签:...,组和,passwd,用户,密码,权限,root
来源: https://blog.51cto.com/14451057/2424197