龙空技术网

Linux的文件管理,权限管理,用户管理,密码管理

山里娃007 227

前言:

现时兄弟们对“linux传到windows文件保留权限组”大致比较关切,大家都想要知道一些“linux传到windows文件保留权限组”的相关资讯。那么小编在网络上网罗了一些对于“linux传到windows文件保留权限组””的相关内容,希望朋友们能喜欢,你们快快来学习一下吧!

一、用户管理

useradd用于Linux中创建的新的系统用户;userdel删除帐号,建立的帐号,实际上是保存在 /etc/passwd 文本文件中。

useradd(选项)(参数)

-b, --base-dir BASE_DIR # 如果未指定-d HOME_DIR,则系统的默认基本目录。如果未指定此选项,

useradd 将使用 /etc/default/useradd中的HOME变量指定的基本目录,或默认使用/home。

-c, --comment COMMENT # 加上备注文字。任何文本字符串。它通常是对登录名的简短描述,目前用作用户全名的字段。

-d, --home HOME_DIR # 将使用 HOME_DIR 作为用户登录目录的值来创建新用户。

-D, --defaults # 变更预设值。

-e, --expiredate EXPIRE_DATE # 用户帐户将被禁用的日期。 日期以YYYY-MM-DD格式指定。

-f, --inactive INACTIVE # 密码过期后到帐户被永久禁用的天数。

-g, --gid GROUP # 用户初始登录组的组名或编号。组名必须存在。组号必须引用已经存在的组。

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]] # 用户也是其成员的补充组列表。每个组用逗号隔开,中间没有空格。

-h, --help # 显示帮助信息并退出。

-k, --skel SKEL_DIR # 骨架目录,其中包含要在用户的主目录中复制的文件和目录,当主目录由 useradd创建时。

-K, --key KEY=VALUE # 覆盖 /etc/login.defs 默认值(UID_MIN、UID_MAX、UMASK、

PASS_MAX_DAYS 等)。

-l, --no-log-init # 不要将用户添加到lastlog和faillog数据库。

-m, --create-home # 如果用户的主目录不存在,则创建它。

-M # 不要创建用户的主目录,即使/etc/login.defs(CREATE_HOME)中的系统范围

设置设置为yes。

-N, --no-user-group #不要创建与用户同名的组,而是将用户添加到由-g选项或

/etc/default/useradd 中的GROUP变量指定的组中。

-o, --non-unique # 允许创建具有重复(非唯一)UID的用户帐户。 此选项仅在与-o 选项结合使用时有效。

-p, --password PASSWORD # crypt(3) 返回的加密密码。 默认是禁用密码。

-r, --system # 创建一个系统帐户。

-s, --shell SHELL # 用户登录 shell 的名称。

-u, --uid UID # 用户 ID 的数值。

-U, --user-group # 创建一个与用户同名的组,并将用户添加到该组。

-Z, --selinux-user SEUSER # 用户登录的 SELinux 用户。 默认情况下将此字段留空,这会导致系统选择默认的 SELinux 用户。

userdel(选项)(参数)

#参数

-f:强制删除用户,即使用户当前已登录;

-r:删除用户的同时,删除与用户相关的所有文件。

示例

userdel linuxde # 删除用户linuxde,但不删除其家目录及文件;

userdel -r linuxde # 删除用户linuxde,其家目录及文件一并删除;

usermod(选项)(参数)

-c<备注>:修改用户帐号的备注文字;

-d<登入目录>:修改用户登入时的目录,只是修改/etc/passwd中用户的家目录配置信息,不会自动创建新的家

目录,通常和-m一起使用;

-m<移动用户家目录>:移动用户家目录到新的位置,不能单独使用,一般与-d一起使用。

-e<有效期限>:修改帐号的有效期限;

-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;

-g<群组>:修改用户所属的群组;

-G<群组>;修改用户所属的附加群组;

-l<帐号名称>:修改用户帐号名称;

-L:锁定用户密码,使密码无效;

-s<shell>:修改用户登入后所使用的shell;

-u<uid>:修改用户ID;

-U:解除密码锁定。

示例:

#将 newuser2 添加到组 staff 中:

usermod -G staff newuser2

#修改newuser的用户名为newuser

usermod -l newuser1 newuser

#锁定账号newuser1:

usermod -L newuser1

#解除对newuser1的锁定:

usermod -U newuser1

#增加用户到用户组中:

usermod -aG group user # 添加用户到用户组中

-a 参数表示附加,只和 -G 参数一同使用,表示将用户增加到组中。

用户密码有效期

chage [选项] 用户名

-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。

-M:密码保持有效的最大天数。

-w:用户密码到期前,提前收到警告信息的天数。

-E:帐号到期的日期。过了这天,此帐号将不可用。

-d:上一次更改的日期。

-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。

-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

可以编辑/etc/login.defs来设定几个参数,以后设置口令默认就按照参数设定为准:

PASS_MAX_DAYS 99999

PASS_MIN_DAYS 0

PASS_MIN_LEN 5

PASS_WARN_AGE 7

当然在/etc/default/useradd可以找到如下2个参数进行设置:

# useradd defaults file

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=yes

用户信息的相关文件位置

/etc/passwd # 用户帐户信息。

/etc/shadow # 存储 Linux系统用户的加密密码和其他安全相关的信息。

/etc/group # 组帐户信息。

/etc/gshadow # 组帐户密码相关信息。

/etc/default/useradd # 帐户创建的默认值。

/etc/skel/ # 默认创建用户家目录的模版文件目录。

/etc/login.defs # 用于查看系统登录的默认设置。它会显示出登录限制、密码策略、账户锁定等相关信息。

/etc/shadow文件保存着用户的加密密码及相关信息,每条记录由若干个字段组成,这些字段的含义如下:

用户名:表示该行记录对应的用户账号名。

密码:表示经过加密后的密码,使用了SHA-512、MD5等算法进行加密。

最后一次修改密码的日期:表示密码最后一次被修改的日期,以天为单位,从1970年1月1日开始算起。

密码最短使用期限:表示密码在被修改后,需要过多少天才能再次修改。

密码最长使用期限:表示密码被修改后,最多可以使用多长时间,超过这个时间需要重新修改密码。

密码过期前的警告天数:表示密码快要过期时,系统会提前多少天发出警告。

密码过期后的宽限天数:表示密码过期后,系统允许多少天内使用旧密码。

账号失效日期:表示该账号被禁用的日期,以天为单位,从1970年1月1日开始算起,如果值为0,则表示账号永久有效。(这个是时间戳)

保留字段:该字段目前没有被使用。

文件(目录)权限

1.基本权限 rwx

Linux 系统一般将文件权限分为3 类:

r read(读);w write(写);x execute(执行)

**====**对文件有读,写,执行的权限呢?

user group other

在Linux系统中,三大类用户也可以拥有简写形式user(u)、group(g)、other(o)1

Linux一共有7种文件类型,分别如下:

-:普通文件

d:目录文件

l: 软链接(类似Windows的快捷方式)

b:block,块设备文件(例如硬盘、光驱等)

p:管道文件 建立在内存之上可以同时被两进程访问的文件。(Linux C语言)

c:字符设备文件(例如猫(上网猫)等串口设备)

s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)

2.特殊权限 suid sgid sticky

suid 冒险位,执行二进制文件与文件所有人有关,与谁来执行无关.注意是二进制文件的权限,shell脚本UID无效,使用场景:passwd

chmod 4777 filename

sgid 强制位,对目录生效,在此目录中创建文件自动归入目录所在组,使用场景 用户组继承

chmod 2777 dirname

sticky 粘制位,目录中的文件只能被文件拥有者删除,使用场景tmp目录

chmod 1777 dirname

3.文件ACL getfacl setfacl

[root@localhost ~]# ls -l

-rw-r--r-- 1 root root 4 217 20:56 test.txt #-rw-r--r--+ 如果权限后面带有‘+’号表示有

ACL权限

[root@localhost ~]# getfacl test.txt # file: test.txt 文件名

# owner: root 文件所属者

# group: root 文件所属组

user::rw- 属主权限

group::r-- 属组权限

other::r-- 其他人权限

#设定ACL权限

useradd tom

setfacl -m u:tom:rw test.txt

#setfacl -m <u|g|m>:<username|groupname>:权限 filename

#setfacl -x <u|g>:<username|groupname> filename ##去除某个用户或者组的acl

#setfacl -b filename ##删除文件上的所有权限列表

4.文件属性 chattr lsattr +a -a +i -i -d

chattr(选项)

a:让文件或目录仅供附加用途;

b:不更新文件或目录的最后存取时间;

c:将文件或目录压缩后存放;

d:将文件或目录排除在倾倒操作之外;

i:不得任意更动文件或目录;

s:保密性删除文件或目录;

S:即时更新文件或目录;

u:预防意外删除。

-R:递归处理,将指令目录下的所有文件及子目录一并处理;

-v<版本编号>:设置文件或目录版本;

-V:显示指令执行过程;

+<属性>:开启文件或目录的该项属性;

-<属性>:关闭文件或目录的该项属性;

=<属性>:指定文件或目录的该项属性。

[root@localhost ~]# chattr +a test.txt #只能给文件添加内容,但是删除不了,属于追加

[root@localhost ~]# chattr -d test.txt

[root@localhost ~]# chattr +i test.txt #文件不能删除,不能更改,不能移动

案例1:防删除,防修改

find /bin /sbin /usr/sbin /usr/bin /etc/shadow /etc/passwd /etc/pam.d -type f -exec chattr +i {} \;

案例2:日志文件防删除

[root@localhost ~]# chattr +a /var/log/messages /var/log/secure #日志切割要先去掉a属性,

之后增加a属性

[root@localhost ~]# vim /etc/logrotate.d/syslog prerotate

chattr -a /var/log/messages endscript

...

postrotate

chattr +a /var/log/messages

endscript

}

sudo提权

sudo使用可根据/etc/sudoers文件设置普通用户使用sudo命令时可以以root身份或其他用户身份运行命令

1.使用vim直接编辑/etc/sudoers文件或使用vim 去添加/etc/sudoers.d/文件

2.使用visudo编辑/etc/sudoers

示例:

需要密码的提权 51cto ALL=(ALL) ALL

免密提权 51cto ALL=(ALL) NOPASSWD: ALL

允许提权后只能使用某些命令

51cto ALL=(ALL) NOPASSWD: /sbin/ip

[root@localhost ~]#which ip

/usr/sbin/ip

[root@localhost ~]#ls -hl /usr/sbin/ip

[root@localhost ~]#chmod o-x /usr/sbin/ip

[root@localhost ~]#su - 51cto

[51cto@localhost ~]$ip

-bash: /usr/sbin/ip: Permission denied

51cto ALL=(ALL) NOPASSWD: /sbin/useradd, /sbin/userdel, /bin/passwd

51cto ALL=(ALL) NOPASSWD: !/bin/passwd root, !/bin/passwd root --

stdin,!/bin/passwd --stdin root

标签: #linux传到windows文件保留权限组