โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
๐ฆCVS remote user management by UndercOde :
instagram.com/UndercOdeTestingCompany
1) as a CVS server, you should Two points. First, ensure that the software library has enough space. Second, ensure that there is no less than 32M of memory. The server generates two processes for each user who connects to it.
2) The cost of the child process is small. But if the network bandwidth not enough, spending on the parent process is enormous.
3) Another big spending is diff file, when large source files, authenticates him or expenses detection is also great.
๐ฆ remote user login authentication method
> to rsh for routine remote login
1) Cvs server should use rsh to allow users to connect. Rshosts should be configured.
2) Assume that the user tom on the remote host tom.exsample.com needs to connect to the funame.simple.com cvs server to work. The server-side bach directory should be edited. Add
> Tom.exsample.com tom
> client to run rsh -l bach funame.simple.com 'echo @PATH
3) to make sure that you can connect to the CVS server, and the client should write the displayed path to .bashrc or cshrc (Instead of .logiin or .profile.)
4) In addition, the client can also define the environment variable CVS_SEVER. To define the location of the host. On the server side, modify the /etc/ineted.conf file to tell the server to get specific When the port is connected, run cvssever.
5) The default value of this port number is: 2041. Of course, in order not to be set every time you use it, you can use it by defining the environment variable CVS_AUTH_PORT on the
> client . Call, just add the following sentence in /etc/ineted.conf file to 2401 stream tcp nowait root / usr / local / bin / cvs cvs --f --allow --root = / cvsroot pserver
6) can also use the -T option to define the buffer directory.
โallow โ root defines the software libraries available to users. If there are more software libraries on the server, this sentence needs to be reused. In addition, internal users can do this Define the environment variable CVSROOT
: pseve: usr@funam.simple.com: / cvsroot
7) Where usr is the username (for linux) funam.simple.com is the cvs server, and assumes / cvsroot is the directory name of the software library. The remote user can use the following form::
etx: psever: usr@funam.silple.com: / cvsroot
: etx: It is defined as a remote user, and the rest is the same as above.
8) If the client's ineted is used by general calls, only in / etc / seveice Add the following sentence:
cvspsever 2401 / tcp
restart ineted to read the initialization file.
9) CVS user management. In the default state (such as telnet login), the same user name and password as the Linux system That is: As long as you log in to the Linux system, you have read-only permissions for $ CVSROOT. Of course, for a software developer, you must have read-write permissions for the corresponding directory to complete the source code upgrade and other tasks. Therefore CVS also provides its own user authentication system to manage users more conveniently.
10) On the server side, there can be a passwd file under $ CVSROOT / CVSROOT (which can be defined with the environment variable CVS_PASSFILE.) To record cvs user information. He uses It is the same organization form as linux etc / passwd. Similarly, its passwold is also encrypted by linux standard. Here is the content of a passwd
anyone:
tom: xyzkue
mary: yuio: pubcvs
11) The first line means that when you log in as anyone, no password is required. Even if you type an empty string, of course, what you get in this way may be read-only rights. The second line means, Tom needs to enter passwold when logging in. The passworld is encrypted with xyzkue. After logging in in this way, generally higher permissions can be obtained
๐ฆCVS remote user management by UndercOde :
instagram.com/UndercOdeTestingCompany
1) as a CVS server, you should Two points. First, ensure that the software library has enough space. Second, ensure that there is no less than 32M of memory. The server generates two processes for each user who connects to it.
2) The cost of the child process is small. But if the network bandwidth not enough, spending on the parent process is enormous.
3) Another big spending is diff file, when large source files, authenticates him or expenses detection is also great.
๐ฆ remote user login authentication method
> to rsh for routine remote login
1) Cvs server should use rsh to allow users to connect. Rshosts should be configured.
2) Assume that the user tom on the remote host tom.exsample.com needs to connect to the funame.simple.com cvs server to work. The server-side bach directory should be edited. Add
> Tom.exsample.com tom
> client to run rsh -l bach funame.simple.com 'echo @PATH
3) to make sure that you can connect to the CVS server, and the client should write the displayed path to .bashrc or cshrc (Instead of .logiin or .profile.)
4) In addition, the client can also define the environment variable CVS_SEVER. To define the location of the host. On the server side, modify the /etc/ineted.conf file to tell the server to get specific When the port is connected, run cvssever.
5) The default value of this port number is: 2041. Of course, in order not to be set every time you use it, you can use it by defining the environment variable CVS_AUTH_PORT on the
> client . Call, just add the following sentence in /etc/ineted.conf file to 2401 stream tcp nowait root / usr / local / bin / cvs cvs --f --allow --root = / cvsroot pserver
6) can also use the -T option to define the buffer directory.
โallow โ root defines the software libraries available to users. If there are more software libraries on the server, this sentence needs to be reused. In addition, internal users can do this Define the environment variable CVSROOT
: pseve: usr@funam.simple.com: / cvsroot
7) Where usr is the username (for linux) funam.simple.com is the cvs server, and assumes / cvsroot is the directory name of the software library. The remote user can use the following form::
etx: psever: usr@funam.silple.com: / cvsroot
: etx: It is defined as a remote user, and the rest is the same as above.
8) If the client's ineted is used by general calls, only in / etc / seveice Add the following sentence:
cvspsever 2401 / tcp
restart ineted to read the initialization file.
9) CVS user management. In the default state (such as telnet login), the same user name and password as the Linux system That is: As long as you log in to the Linux system, you have read-only permissions for $ CVSROOT. Of course, for a software developer, you must have read-write permissions for the corresponding directory to complete the source code upgrade and other tasks. Therefore CVS also provides its own user authentication system to manage users more conveniently.
10) On the server side, there can be a passwd file under $ CVSROOT / CVSROOT (which can be defined with the environment variable CVS_PASSFILE.) To record cvs user information. He uses It is the same organization form as linux etc / passwd. Similarly, its passwold is also encrypted by linux standard. Here is the content of a passwd
anyone:
tom: xyzkue
mary: yuio: pubcvs
11) The first line means that when you log in as anyone, no password is required. Even if you type an empty string, of course, what you get in this way may be read-only rights. The second line means, Tom needs to enter passwold when logging in. The passworld is encrypted with xyzkue. After logging in in this way, generally higher permissions can be obtained
Written by UndercOde
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โโ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
๐ฆCVS remote user management by UndercOde :
Part 2:
pinterest.com/UndercOdeOfficial
1) The third line means that when mary logs in, the password needs to be entered. Enter and system users The same software library. The purpose of doing this is because .cvs will record all the actions of its users in the software library. Definitions and system users have different identities. Using cvs.
> For example; using user tom can log in in the following ways :
$ cvs --d: etx: tom@funam.simple.com: / cvsroot login
(If the user name tom is the same internally at the remote end, tom @ can also be omitted)
3) At the same time, you can use cvs loginout to change all Environment variables are revoked.
4) Accessing
CVS using GASSAPI also supports TCP direct access using GASSAPI. Before using Anzhuan, you need to recompile CVS to get GASSAPI support. Use --with --gassapi to connect, or use -a to select the direction Connect One way to use the same room and authenticate the GASSAPI.
5) However, when login is required to redefine $ CVSROOT such as:.
$ CVS -d: gsever: usr@cvssever.com: / CVSROOT Login
kerberos is directly connected
simplest use of rsh The method is described above. The main feature of this method is that all data is passed through an additional program. It is very time consuming. If kerberos is installed, you can directly use TCP connection.
6) Similarly, CVS needs to be recompiled to get keberos support. --With-krb4 can be used to connect. The data transmitted in this way is not encrypted. If you want to obtain security, you must use `` --enable-encryption '' on both the server and the client. At this time, you need to use the general variable -x to require encryption. You
need to edit inetd.conf on the server to run cvs kserver. The default port number of the client is 1999. If you want to use another port number, you need to define it on the user side. CVS_CLIENT_PORT
at this time should be the login command
9) cvs -d: kserver: faun.example.org: / usr / local / cvsroot checkout foo
with fork connection
with this mode, you can connect a local hard disk via the remote protocol software library in other words. He can have the same function as: local: The login command in this way is
cvs -d: fork: / usr / local / cvsroot login
and the same as: etx :. The default host name is cvs
Cvs server rack application example
๐ฆCVS remote user management by UndercOde :
Part 2:
pinterest.com/UndercOdeOfficial
1) The third line means that when mary logs in, the password needs to be entered. Enter and system users The same software library. The purpose of doing this is because .cvs will record all the actions of its users in the software library. Definitions and system users have different identities. Using cvs.
> For example; using user tom can log in in the following ways :
$ cvs --d: etx: tom@funam.simple.com: / cvsroot login
(If the user name tom is the same internally at the remote end, tom @ can also be omitted)
3) At the same time, you can use cvs loginout to change all Environment variables are revoked.
4) Accessing
CVS using GASSAPI also supports TCP direct access using GASSAPI. Before using Anzhuan, you need to recompile CVS to get GASSAPI support. Use --with --gassapi to connect, or use -a to select the direction Connect One way to use the same room and authenticate the GASSAPI.
5) However, when login is required to redefine $ CVSROOT such as:.
$ CVS -d: gsever: usr@cvssever.com: / CVSROOT Login
kerberos is directly connected
simplest use of rsh The method is described above. The main feature of this method is that all data is passed through an additional program. It is very time consuming. If kerberos is installed, you can directly use TCP connection.
6) Similarly, CVS needs to be recompiled to get keberos support. --With-krb4 can be used to connect. The data transmitted in this way is not encrypted. If you want to obtain security, you must use `` --enable-encryption '' on both the server and the client. At this time, you need to use the general variable -x to require encryption. You
need to edit inetd.conf on the server to run cvs kserver. The default port number of the client is 1999. If you want to use another port number, you need to define it on the user side. CVS_CLIENT_PORT
at this time should be the login command
9) cvs -d: kserver: faun.example.org: / usr / local / cvsroot checkout foo
with fork connection
with this mode, you can connect a local hard disk via the remote protocol software library in other words. He can have the same function as: local: The login command in this way is
cvs -d: fork: / usr / local / cvsroot login
and the same as: etx :. The default host name is cvs
Cvs server rack application example
Written by UndercOde
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โโ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
๐ฆ SERVER SETUP BY UNDERCODE :
If you have installed cvs, it is very easy to set up a server with cvs host cvs.exam.org. The steps are as follows:
instagram.com/UndercOdeTestingCompany
A) 1) Log in as root. Building a software repository (repository)
$ export CVSROOT = / cvsroot
$ mkdir / cvsroot
$ cd / cvsroot
$ cvs init
2) Set execute permissions
$ chmod / cvsroot / CVSROOT 744 (/ ccvsroo / CVSOOT set to read-only)
$ chmod / cvsroot 764 Group number (/ cvsroot for development (The group can read and write)
3)Modify the file for the benefit of others. Because the development team is a system user, it is better to use the system user name and password here. Edit the rhosts file as follows:
tom.example.com. Tom
modify /Etc/inetd.conf file on the server, add the following sentence
2401 stream tcp nowait root / usr / local / bin / cvs cvs -f --allow-root = / usr / cvsroot pserver. In
this way, a basic cvs The server is built.
We just provide a basic application here. The real details of the cvs application are very complicated. We only introduce some introductions here. Friends with interest can read its installation documentation.
B) 1) Application examples
( use cvs system on the host, you can telnet to the host, and then use, and no difference in the use of this machine, so this has been no mention of)
2) the assumption in the above example tom on the system you want to use cvs cvs host to everyone and collaborative development. It is the first camp to configure some of their own environment variables first edit / etc / services '' adding:
cvspserver 2401 / tcp
then add the following code to the .profile file
CVSROOT =: etx: psever: tom@cvs.exam.org: / cvsroot
Export CVSROOT
3) so he can use $ cvs login to log in. Below we will use tom The specific use is to explain the application of cvs. Like other linux commands. Cvs also has a large number of parameters. We will make a list in the next section.
Tom has the following file
Ecample.c exampl2.c tes1 in the / usr / test directory .c test2.c utimel.c tty.c
If you want to create your own directory in the software library
$ cd / usr / test
~ test $ cvs import โm โtom first creationโ tomdir tom tomwork
N tomdit / example.c
N tomdit / exampl2.c
N tomdir / test1.c
N tomdir / test2.c
N tomdir / utmel.c
N tomdit / tty.c
4) No conflicts creat by this import
command description import submit command -m followed by description.tom publisher tomwork is a release Label. If the prompt CVSROOT is wrong, you can use--d and add CVSROOT
Note: For all cvs commands, you can use cvs command -H to get help. At this time, there is a tomdir subdirectory under the / cvs directory on the server side. Contents:
example.c, v exampl2.c, v test1.c, v test2 .c, v tty.c, v utimel.c, v
This time the first submission is completed.
This way, you don't need to worry about accidentally deleting the test directory. Use the following command to check out a backup of the source file from the software library
$ / cd usr
`` usr $ / cvs checkout test tomdir-r 1.1
U test / exsample.c
U test / exampl1.c
U test / test1.c
U test / test2.c
U test / tty.c
U test / ulnem.c
6) The cvs checkout command is to get the latest version by default. We can also get an old version. This command is to remove the 1.1 version of tomdir code. After recovery, a CVS directory is added to manage the test directory. When submitting or modifying once, it interfaces with the management files on the server to ensure a good version. This example is very small. In reality, it is very likely that there are many files in the project, so you can restore the CVSROOT module first
~ usr / $ cvs checkout CVSROOT / mouldes
~ / usr / $ vi CVSROOT / mouldes Edit the module name, such as we add
src p to the end of the file roject / src
print project / src / print
After cvs commit
, we can use cvs checkout print instead of
cvs checkout project / src / print
. After editing, we can commit the file
๐ฆ SERVER SETUP BY UNDERCODE :
If you have installed cvs, it is very easy to set up a server with cvs host cvs.exam.org. The steps are as follows:
instagram.com/UndercOdeTestingCompany
A) 1) Log in as root. Building a software repository (repository)
$ export CVSROOT = / cvsroot
$ mkdir / cvsroot
$ cd / cvsroot
$ cvs init
2) Set execute permissions
$ chmod / cvsroot / CVSROOT 744 (/ ccvsroo / CVSOOT set to read-only)
$ chmod / cvsroot 764 Group number (/ cvsroot for development (The group can read and write)
3)Modify the file for the benefit of others. Because the development team is a system user, it is better to use the system user name and password here. Edit the rhosts file as follows:
tom.example.com. Tom
modify /Etc/inetd.conf file on the server, add the following sentence
2401 stream tcp nowait root / usr / local / bin / cvs cvs -f --allow-root = / usr / cvsroot pserver. In
this way, a basic cvs The server is built.
We just provide a basic application here. The real details of the cvs application are very complicated. We only introduce some introductions here. Friends with interest can read its installation documentation.
B) 1) Application examples
( use cvs system on the host, you can telnet to the host, and then use, and no difference in the use of this machine, so this has been no mention of)
2) the assumption in the above example tom on the system you want to use cvs cvs host to everyone and collaborative development. It is the first camp to configure some of their own environment variables first edit / etc / services '' adding:
cvspserver 2401 / tcp
then add the following code to the .profile file
CVSROOT =: etx: psever: tom@cvs.exam.org: / cvsroot
Export CVSROOT
3) so he can use $ cvs login to log in. Below we will use tom The specific use is to explain the application of cvs. Like other linux commands. Cvs also has a large number of parameters. We will make a list in the next section.
Tom has the following file
Ecample.c exampl2.c tes1 in the / usr / test directory .c test2.c utimel.c tty.c
If you want to create your own directory in the software library
$ cd / usr / test
~ test $ cvs import โm โtom first creationโ tomdir tom tomwork
N tomdit / example.c
N tomdit / exampl2.c
N tomdir / test1.c
N tomdir / test2.c
N tomdir / utmel.c
N tomdit / tty.c
4) No conflicts creat by this import
command description import submit command -m followed by description.tom publisher tomwork is a release Label. If the prompt CVSROOT is wrong, you can use--d and add CVSROOT
Note: For all cvs commands, you can use cvs command -H to get help. At this time, there is a tomdir subdirectory under the / cvs directory on the server side. Contents:
example.c, v exampl2.c, v test1.c, v test2 .c, v tty.c, v utimel.c, v
This time the first submission is completed.
This way, you don't need to worry about accidentally deleting the test directory. Use the following command to check out a backup of the source file from the software library
$ / cd usr
`` usr $ / cvs checkout test tomdir-r 1.1
U test / exsample.c
U test / exampl1.c
U test / test1.c
U test / test2.c
U test / tty.c
U test / ulnem.c
6) The cvs checkout command is to get the latest version by default. We can also get an old version. This command is to remove the 1.1 version of tomdir code. After recovery, a CVS directory is added to manage the test directory. When submitting or modifying once, it interfaces with the management files on the server to ensure a good version. This example is very small. In reality, it is very likely that there are many files in the project, so you can restore the CVSROOT module first
~ usr / $ cvs checkout CVSROOT / mouldes
~ / usr / $ vi CVSROOT / mouldes Edit the module name, such as we add
src p to the end of the file roject / src
print project / src / print
After cvs commit
, we can use cvs checkout print instead of
cvs checkout project / src / print
. After editing, we can commit the file
~ usr / $ cvs commit -m โedit of mouldes nameโ CVSROOT / mould except that we can restore the entire directory. You can restore a single file or module
~ usr / test / $ cvs checkout -m "newer file" tty.c
After restoring the file, tom can use various editors to modify the source file and submit it after the modification is completed The result of its work is
~ / usr / cvs commit test tomdir. In
this way, tom has completed an update of the source file. Other similar reasons can be obtained
~ usr / test / $ cvs checkout -m "newer file" tty.c
After restoring the file, tom can use various editors to modify the source file and submit it after the modification is completed The result of its work is
~ / usr / cvs commit test tomdir. In
this way, tom has completed an update of the source file. Other similar reasons can be obtained
Written by UndercOde
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โThis media is not supported in your browser
VIEW IN TELEGRAM
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
๐ฆ OpenLDAP Quick Installation Guide
twitter.com/UndercOdeTc
1) Obtain software
http://www.openldap.org/software/download/
http://www.openldap.org/software/repo.html
2) Unzip
gunzip -c openldap-VERSION.tgz | tar xfB-
at An ldap subdirectory will be created in the working directory.
3) Read README and INSTALL carefully
4) Run configure
./configure to
see the options of
configure ./configure --help
5) Compile
make depend
make
6) Test the compilation results
cd tests
make
cd.
7) Install the software
su root -c the install the make
8), a configuration file created SLAPD
editing /usr/local/etc/slapd.conf file, LDBM database definition file contains the following formats
database LDBM
suffix "" MY-DOMAIN = DC, the COM DC = ""
the rootdn " "cn = Manager, dc = MY-DOMAIN, dc = COM" "
The rootpw secret
> replaces the above MY-DOMAIN and COM into the actual domain name, for example:
database ldbm
suffix "" dc = mydomain, dc = com ""
rootdn "" cn = Manager, dc = mydomain, dc = com ""
rootpw secret
sample slapd.conf is placed in /usr/local/etc/openldap/slapd.conf
9)Start SLAPD
su root -c / usr / local / libexec / slapd -f myslapd.conf
slapd is installed in the "" libexecdir "specified in the configuration file "Directory, usually / usr / local / libexec / slpad.
10) increasing the initial entry (entries It)
. 1) to create an LDIF file
edit an LDIF format:
DN: DC = MY-DOMAIN, DC = the COM
DC: MY-DOMAIN
O: MY-the ORGANIZATION
objectClass: Organization
objectClass: dcObject
DN: CN = Manager, dc = MY-DOMAIN, dc = COM
cn: Manager
sn: Manager
objectclass: person
๐ฆ Run ldapadd
ldapadd -D "" cn = Manager, dc = MY-DOMAIN, dc = COM "" -W <myldif.ldif
11)Check whether it has started working normally
ldapsearch -L -b "" dc = MY-DOMAIN, dc = COM "" "" (objectclass = *) ""
For example:
ldapsearch -L -b "" dc = mydomain, dc = com "" -W "" (objectclass = *) ""
Written by UndercOde
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
๐ฆ OpenLDAP Quick Installation Guide
twitter.com/UndercOdeTc
1) Obtain software
http://www.openldap.org/software/download/
http://www.openldap.org/software/repo.html
2) Unzip
gunzip -c openldap-VERSION.tgz | tar xfB-
at An ldap subdirectory will be created in the working directory.
3) Read README and INSTALL carefully
4) Run configure
./configure to
see the options of
configure ./configure --help
5) Compile
make depend
make
6) Test the compilation results
cd tests
make
cd.
7) Install the software
su root -c the install the make
8), a configuration file created SLAPD
editing /usr/local/etc/slapd.conf file, LDBM database definition file contains the following formats
database LDBM
suffix "" MY-DOMAIN = DC, the COM DC = ""
the rootdn " "cn = Manager, dc = MY-DOMAIN, dc = COM" "
The rootpw secret
> replaces the above MY-DOMAIN and COM into the actual domain name, for example:
database ldbm
suffix "" dc = mydomain, dc = com ""
rootdn "" cn = Manager, dc = mydomain, dc = com ""
rootpw secret
sample slapd.conf is placed in /usr/local/etc/openldap/slapd.conf
9)Start SLAPD
su root -c / usr / local / libexec / slapd -f myslapd.conf
slapd is installed in the "" libexecdir "specified in the configuration file "Directory, usually / usr / local / libexec / slpad.
10) increasing the initial entry (entries It)
. 1) to create an LDIF file
edit an LDIF format:
DN: DC = MY-DOMAIN, DC = the COM
DC: MY-DOMAIN
O: MY-the ORGANIZATION
objectClass: Organization
objectClass: dcObject
DN: CN = Manager, dc = MY-DOMAIN, dc = COM
cn: Manager
sn: Manager
objectclass: person
๐ฆ Run ldapadd
ldapadd -D "" cn = Manager, dc = MY-DOMAIN, dc = COM "" -W <myldif.ldif
11)Check whether it has started working normally
ldapsearch -L -b "" dc = MY-DOMAIN, dc = COM "" "" (objectclass = *) ""
For example:
ldapsearch -L -b "" dc = mydomain, dc = com "" -W "" (objectclass = *) ""
Written by UndercOde
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
๐ฆ Introduction to OpenLDAPOPENLDAP is a very powerful tool for accessing network resources.
instagram.com/UndercOdeTestingCompany
๐ฆ ๐๐ผ๐๐ ๐๐๐ธโ๐
Introduction to OpenLDAPOPENLDAP is a very powerful tool for accessing network resources.
1) Download: ftp // ftp.OpenLDAP.org / pub / OpenLDAP / openldap-release / openldap-1.2.10.tgz
2) find it very useful after installation.
Unzip it first:
#tar xzvf $ ver_ldap.tgz
3) and compile and install:
#. / Configure --prefix = $ ldap --enable-dns --enable-cldap --enable-ldapd --enable-wrappers --enable-phonetic- -enable-passwd --enable-shell
#make depend
#make
#make install
4) Modify the configuration file:
add in / etc / profile:
PATH = "" "" $ "" "" PATH: $ ldap / bin: $ ldap / sbin : $ ldap / libexec
CPLUS_INCLUDE_PATH = "" "" $ "" "" CPLUS_INCLUDE_PATH: $ ldap / include
LD_LIBRARY_PATH = "" "" $ "" "" LD_LIBRARY_PATH: $ ldap / lib
LIBRARY_PATH = ""
5) export PATH CPLUS_INCLUDE_PATH LD_LIBRARY_PATH LIBRARY_PATH MANPATH
in /etc/rc.d/rc.local
su root -c `` $ ldap / libexec / slapd -f $ ldap / etc / openldap / slapd.conf ''
6) recompile PHP and bring The parameter --with-ldap = $ ldap makes PHP support openLDAP.
After recompiling and installing, your WEBSERVER will really support openLDAP. I will introduce the wonderful application of openLDAP in the future! !! !!
7) Download: ftp // ftp.OpenLDAP.org / pub / OpenLDAP / openldap-release / openldap-1.2.10.tgz
I find it very useful after installation.
Unzip it first:
#tar xzvf $ ver_ldap.tgz
and compile and install:
#. / Configure --prefix = $ ldap --enable-dns --enable-cldap --enable-ldapd --enable-wrappers --enable-phonetic- -enable-passwd --enable-shell
#make depend
#make
#make install
8) Modify the configuration file:
add in / etc / profile:
PATH = "" "" $ "" "" PATH: $ ldap / bin: $ ldap / sbin : $ ldap / libexec
CPLUS_INCLUDE_PATH = "" "" $ "" "" CPLUS_INCLUDE_PATH: $ ldap / include
LD_LIBRARY_PATH = "" "" $ "" "" LD_LIBRARY_PATH: $ ldap / lib
LIBRARY_PATH = ""
9) export PATH CPLUS_INCLUDE_PATH LD_LIBRARY_PATH LIBRARY_PATH MANPATH
in /etc/rc.d/rc.local
su root -c `` $ ldap / libexec / slapd -f $ ldap / etc / openldap / slapd.conf ''
10) recompile PHP and bring The parameter --with-ldap = $ ldap makes PHP support openLDAP.
After recompiling and installing, your WEBSERVER will really support openLDAP. I will introduce the wonderful application of openLDAP in the future! !! !!
Written by UndercOde
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
๐ฆ Introduction to OpenLDAPOPENLDAP is a very powerful tool for accessing network resources.
instagram.com/UndercOdeTestingCompany
๐ฆ ๐๐ผ๐๐ ๐๐๐ธโ๐
Introduction to OpenLDAPOPENLDAP is a very powerful tool for accessing network resources.
1) Download: ftp // ftp.OpenLDAP.org / pub / OpenLDAP / openldap-release / openldap-1.2.10.tgz
2) find it very useful after installation.
Unzip it first:
#tar xzvf $ ver_ldap.tgz
3) and compile and install:
#. / Configure --prefix = $ ldap --enable-dns --enable-cldap --enable-ldapd --enable-wrappers --enable-phonetic- -enable-passwd --enable-shell
#make depend
#make
#make install
4) Modify the configuration file:
add in / etc / profile:
PATH = "" "" $ "" "" PATH: $ ldap / bin: $ ldap / sbin : $ ldap / libexec
CPLUS_INCLUDE_PATH = "" "" $ "" "" CPLUS_INCLUDE_PATH: $ ldap / include
LD_LIBRARY_PATH = "" "" $ "" "" LD_LIBRARY_PATH: $ ldap / lib
LIBRARY_PATH = ""
5) export PATH CPLUS_INCLUDE_PATH LD_LIBRARY_PATH LIBRARY_PATH MANPATH
in /etc/rc.d/rc.local
su root -c `` $ ldap / libexec / slapd -f $ ldap / etc / openldap / slapd.conf ''
6) recompile PHP and bring The parameter --with-ldap = $ ldap makes PHP support openLDAP.
After recompiling and installing, your WEBSERVER will really support openLDAP. I will introduce the wonderful application of openLDAP in the future! !! !!
7) Download: ftp // ftp.OpenLDAP.org / pub / OpenLDAP / openldap-release / openldap-1.2.10.tgz
I find it very useful after installation.
Unzip it first:
#tar xzvf $ ver_ldap.tgz
and compile and install:
#. / Configure --prefix = $ ldap --enable-dns --enable-cldap --enable-ldapd --enable-wrappers --enable-phonetic- -enable-passwd --enable-shell
#make depend
#make
#make install
8) Modify the configuration file:
add in / etc / profile:
PATH = "" "" $ "" "" PATH: $ ldap / bin: $ ldap / sbin : $ ldap / libexec
CPLUS_INCLUDE_PATH = "" "" $ "" "" CPLUS_INCLUDE_PATH: $ ldap / include
LD_LIBRARY_PATH = "" "" $ "" "" LD_LIBRARY_PATH: $ ldap / lib
LIBRARY_PATH = ""
9) export PATH CPLUS_INCLUDE_PATH LD_LIBRARY_PATH LIBRARY_PATH MANPATH
in /etc/rc.d/rc.local
su root -c `` $ ldap / libexec / slapd -f $ ldap / etc / openldap / slapd.conf ''
10) recompile PHP and bring The parameter --with-ldap = $ ldap makes PHP support openLDAP.
After recompiling and installing, your WEBSERVER will really support openLDAP. I will introduce the wonderful application of openLDAP in the future! !! !!
Written by UndercOde
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
๐ฆ Install, reinstall windows backup Ubuntuโwubi by UndercOde :
pinterest.com/UndercOdeOfficial
๐ฆ ๐๐ผ๐๐ ๐๐๐ธโ๐
1) Back up a few small files. Before reinstalling windos, back up the wubidr, wubidr.mbr, boot.ini, bootfontbin, NTDETECT.COM, and NTLDR files in the C drive, and find them outside the C drive and save them. The above files are hidden system files. I believe you will find them if you
> install the system.
There are a few files that may not need to be changed, so I don't need to study them carefully. Copy and save them together. They are all very small.
2) Install it. I do nโt need to teach Windows
3) After installing the system, replace the backup files with the files of the same name in the C drive
It's over. It's that simple. After the restart everything is OK. Then use your dual system or ubuntu
Written by UndercOde
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
๐ฆ Install, reinstall windows backup Ubuntuโwubi by UndercOde :
pinterest.com/UndercOdeOfficial
๐ฆ ๐๐ผ๐๐ ๐๐๐ธโ๐
1) Back up a few small files. Before reinstalling windos, back up the wubidr, wubidr.mbr, boot.ini, bootfontbin, NTDETECT.COM, and NTLDR files in the C drive, and find them outside the C drive and save them. The above files are hidden system files. I believe you will find them if you
> install the system.
There are a few files that may not need to be changed, so I don't need to study them carefully. Copy and save them together. They are all very small.
2) Install it. I do nโt need to teach Windows
3) After installing the system, replace the backup files with the files of the same name in the C drive
It's over. It's that simple. After the restart everything is OK. Then use your dual system or ubuntu
Written by UndercOde
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
๐ฆ What is the NFS file systemโ What is NFS? Full by UndercOde :
pinterest.com/UndercOdeOfficial
๐ฆ ๐๐ผ๐๐ ๐๐๐ธโ๐
1) Network Film Systemใใใใ
NFS was developed by Sun Corporation and launched in 1984. NFS is an RPC service that enables us to achieve file sharing. It is designed to be used between different systems, so it The communication protocol design has nothing to do with the host and operating system. When users want to use remote files, they only need to use "mount" to mount the remote file system under their own file system. no two machines file.
2) machine a machine B
/ /
bin bin etc etc usr usr
man local man Share
3) If we on machine a, / usr / man machine should on machine a is attached to B / usr / man long Mount machine_name: / usr / man / usr / home
4) can mount over. And we can not only mount the directory, but also a file. After mounting, we can only do reading (or writing) on โโthe file, but you can not put this file or directory move, delete out on the remote machie, but it should be noted that as we mount / usr, can no longer mount / usr directory under, or an error will occur
5) Servers & Clients
NFS is to enable files on Servers to be mounted by other machines and achieve resource sharing. The machine that enjoys these files can be called a client. A client can mount a file or a hierarchy of files (file hierarchies) from the server. However, in fact, any machine can be an NFS server or NFS client, even NFS server and NFS client.
6) Servers Exporting & Clients Mounting
NFS server The files or directories exported are recorded in / etc / exports In a file, when we start the NFS server, this script in /etc/rc.local will automatically start the exportfs program, search for the existence of the file / etc / exports, and give the correct permissions to all exports. File hierarchies.
7) However, it should be noted that only the paths exported by the server can be mounted by the NFS client. Similarly, when the client is started, the system will automatically mount all server export paths, and all paths to the mount will be recorded Under / etc / fstab, the fstab file similar to the following
/ dev / sd0a / 4.2 rw 1 1
/ dev / sd0h / tmp 4.2 rw 1 3
/ dev / sd0g / usr 4.2 rw 1 2
/ dev / fd0 / pcfs pcfs rw, noauto 0 0
sparc20: / swap / swap nfs rw, intr, bg, soft 0 0
sparc17: / home / home nfs rw, intr, bg, soft 0 0
sparc17: / home3 / home3 nfs rw, intr, bg, soft 0 0
sparc14: / home4 / home4 nfs rw, intr, bg, soft 0 0
sparc20: / home2 / home2 nfs rw, intr, bg, soft 0 0
sparc20: / var / spool / mail / var / spool / mail nfs rw, intr, bg, soft 0 0
rs970: / home1 / home1 nfs rw, intr, bg , Soft 0 0
Written by UndercOde
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
๐ฆ What is the NFS file systemโ What is NFS? Full by UndercOde :
pinterest.com/UndercOdeOfficial
๐ฆ ๐๐ผ๐๐ ๐๐๐ธโ๐
1) Network Film Systemใใใใ
NFS was developed by Sun Corporation and launched in 1984. NFS is an RPC service that enables us to achieve file sharing. It is designed to be used between different systems, so it The communication protocol design has nothing to do with the host and operating system. When users want to use remote files, they only need to use "mount" to mount the remote file system under their own file system. no two machines file.
2) machine a machine B
/ /
bin bin etc etc usr usr
man local man Share
3) If we on machine a, / usr / man machine should on machine a is attached to B / usr / man long Mount machine_name: / usr / man / usr / home
4) can mount over. And we can not only mount the directory, but also a file. After mounting, we can only do reading (or writing) on โโthe file, but you can not put this file or directory move, delete out on the remote machie, but it should be noted that as we mount / usr, can no longer mount / usr directory under, or an error will occur
5) Servers & Clients
NFS is to enable files on Servers to be mounted by other machines and achieve resource sharing. The machine that enjoys these files can be called a client. A client can mount a file or a hierarchy of files (file hierarchies) from the server. However, in fact, any machine can be an NFS server or NFS client, even NFS server and NFS client.
6) Servers Exporting & Clients Mounting
NFS server The files or directories exported are recorded in / etc / exports In a file, when we start the NFS server, this script in /etc/rc.local will automatically start the exportfs program, search for the existence of the file / etc / exports, and give the correct permissions to all exports. File hierarchies.
7) However, it should be noted that only the paths exported by the server can be mounted by the NFS client. Similarly, when the client is started, the system will automatically mount all server export paths, and all paths to the mount will be recorded Under / etc / fstab, the fstab file similar to the following
/ dev / sd0a / 4.2 rw 1 1
/ dev / sd0h / tmp 4.2 rw 1 3
/ dev / sd0g / usr 4.2 rw 1 2
/ dev / fd0 / pcfs pcfs rw, noauto 0 0
sparc20: / swap / swap nfs rw, intr, bg, soft 0 0
sparc17: / home / home nfs rw, intr, bg, soft 0 0
sparc17: / home3 / home3 nfs rw, intr, bg, soft 0 0
sparc14: / home4 / home4 nfs rw, intr, bg, soft 0 0
sparc20: / home2 / home2 nfs rw, intr, bg, soft 0 0
sparc20: / var / spool / mail / var / spool / mail nfs rw, intr, bg, soft 0 0
rs970: / home1 / home1 nfs rw, intr, bg , Soft 0 0
Written by UndercOde
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
๐ฆ Understanding Before L Attack :
> What is the NFS file systemโ What is NFS? Full by UndercOde :
pinterest.com/UndercOdeOfficial
PART 2
๐ฆ ๐๐ผ๐๐ ๐๐๐ธโ๐
โ Noted:
when the client mount to a path, not saying this a path on the copy server to the local machine, we can cd into this mount to a path, just as is the use of local directory as
โก Setting Up a NFS Server
1) Define the machine as an NFS file server
2) Divide the servers disk and define which partitions are to be provided as
the file system shared by the client
3) Define the parameters of each client on the Client Form
4) Write Export / etc / exports (General systems have a default exports)
5) Re-boot NFS server or exportfs -a output instruction with all of the directories and start nfsd 8 & nfsd Daemon, resident in the background
๐ฆ ps details
1) check / etc / exports permission output path, can be modified to determine only root ,
all user can only read
2) Use exportfs to add or delete directories
exportfs -o access = engineering, ro = dancer / usr
exportfs -u / usr
3) If your machine does not have NIS (YP server) service, when changing data Remember to modify
/ etc / passwd
/ etc / group
/ etc / hosts
/ etc / ethers
4) Set
the syntax of security exportfs for your own network
/ usr / etc / exportfs [-avu] [-o option] [directory]
- a: export all the paths in / etc / exports
-u: unload the exported paths, such as exportfs -u / usr
-o option: such as exportfs -o ro / usr, everyone is read only to / usr
option also has root = hostname, access = client
access = netgroup
๐ฆ For example:
exportfs -a exports all the paths in exports
exportfs -o access = engineering: other / usr
/ usr This path has only engineering and other
group can read & write
exportfs -o access = oak, ro = dancer / usr
set the client to read / usr as read only, and only the oak group can read
/ etc / exports file
. directory -option [, option]
(set two groups to rw)
/ usr -access = engineering: accounting
/ home -access = engineering: accounting
/ var / spool / mail -access = engineering: accounting
/ export / exec / sun3 -access = engineering: accounting
/export/exec/sun3.sunos.4.1 -access = engineering: accounting
/export/exec/kvm/sun3.sunos.4.1 -access = engineering: accounting
/ export / root / birch -access = birch, root = birch
/ export / swap / birch -access = birch, root = birch
/ export / root / oak -access = oak, root = oak
/ export / swap / oak -access = oak, root = oak
/ export / root / willow -access = willow, root = willow
/ export / swap / willow -access = willow, root = willow
/ export / root / pine -accsee = pine, root = pine
/ export / swap / pine -accsee = pine, root = pine
(access = client, root = hostname so only the superuser of this client has the power rw)
Written by UndercOde
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
๐ฆ Understanding Before L Attack :
> What is the NFS file systemโ What is NFS? Full by UndercOde :
pinterest.com/UndercOdeOfficial
PART 2
๐ฆ ๐๐ผ๐๐ ๐๐๐ธโ๐
โ Noted:
when the client mount to a path, not saying this a path on the copy server to the local machine, we can cd into this mount to a path, just as is the use of local directory as
โก Setting Up a NFS Server
1) Define the machine as an NFS file server
2) Divide the servers disk and define which partitions are to be provided as
the file system shared by the client
3) Define the parameters of each client on the Client Form
4) Write Export / etc / exports (General systems have a default exports)
5) Re-boot NFS server or exportfs -a output instruction with all of the directories and start nfsd 8 & nfsd Daemon, resident in the background
๐ฆ ps details
1) check / etc / exports permission output path, can be modified to determine only root ,
all user can only read
2) Use exportfs to add or delete directories
exportfs -o access = engineering, ro = dancer / usr
exportfs -u / usr
3) If your machine does not have NIS (YP server) service, when changing data Remember to modify
/ etc / passwd
/ etc / group
/ etc / hosts
/ etc / ethers
4) Set
the syntax of security exportfs for your own network
/ usr / etc / exportfs [-avu] [-o option] [directory]
- a: export all the paths in / etc / exports
-u: unload the exported paths, such as exportfs -u / usr
-o option: such as exportfs -o ro / usr, everyone is read only to / usr
option also has root = hostname, access = client
access = netgroup
๐ฆ For example:
exportfs -a exports all the paths in exports
exportfs -o access = engineering: other / usr
/ usr This path has only engineering and other
group can read & write
exportfs -o access = oak, ro = dancer / usr
set the client to read / usr as read only, and only the oak group can read
/ etc / exports file
. directory -option [, option]
(set two groups to rw)
/ usr -access = engineering: accounting
/ home -access = engineering: accounting
/ var / spool / mail -access = engineering: accounting
/ export / exec / sun3 -access = engineering: accounting
/export/exec/sun3.sunos.4.1 -access = engineering: accounting
/export/exec/kvm/sun3.sunos.4.1 -access = engineering: accounting
/ export / root / birch -access = birch, root = birch
/ export / swap / birch -access = birch, root = birch
/ export / root / oak -access = oak, root = oak
/ export / swap / oak -access = oak, root = oak
/ export / root / willow -access = willow, root = willow
/ export / swap / willow -access = willow, root = willow
/ export / root / pine -accsee = pine, root = pine
/ export / swap / pine -accsee = pine, root = pine
(access = client, root = hostname so only the superuser of this client has the power rw)
Written by UndercOde
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
๐ฆ How Setting Up a NFS Client
Twitter.com/UndercOdeTC
๐ฆ Setting Up a NFS Client
1) Declare the machine as a client without a drive or data. Before using SunInstall
2) Edit the file / etc / fstab and make sure that the paths to be mounted are in fstab
3) According to fstab Set the content, set Mount points on the client
(mount_points is the path exported by exports using mkdir)
4) Make sure that the path we want to mount is in / etc / exports
5) You can start the mount to link the directories on the server (mount -a)
/ etc / fstab Example of a file
โ syntax filesystem directory type options freq pass
oak: / export / root / boomer / nfs rw 0 0
^^^
Because the file is on the server, not on client,
the client setting is 0
oak: / export / exec / sun3 / usr nfs ro 0 0
oak: / export / exec / kvm / sun3 / usr / kvm nfs ro 0 0
oak: / usr / share / usr / share nfs ro 0 0
oak: / home / oak / home / oak nfs rw, bg 0 0
๐ฆ mount syntax
โ syntax: mount -t type [-rv] -o [option] server: pathname / mount_point
MOUNT:
mount -a mount all the paths listed in / etc / fstab
mount -o ro, soft, bg dancer : / usr / local / usr / local / dancer
to dancer server's / usr / local mount to the client
/ usr / local / dancer and is only the Read
-t of the type: you want to mount Type, such as nfs or 4.2
-r: The mounted path is set to read only
-v: For each action of the mount process, messages are returned to the screen.
Hard: Repeat the request until the server responds. Do not respond to
the server may be down!
Soft: When the client's request cannot be responded, an
error message is returned after retry one time.
Bg: When the first request is unsuccessful, the second mount will be executed in the background.
Fg: retries mount has been performing
intr under the prompt symbol : when an NFS request is in progress, allow the keyboard to interrupt
๐ฆ the message when the mount is successful
NFS server hostname ok
hard mount fail
NFS server hostname not responding, still trying
soft... hostname server not reponding: RPC: Timed out
ยง UNMOUNT:
umount mount_point
umount -a unmount all the paths already mounted
1) Declare the machine as a client without a drive or data. Before using SunInstall
2) Edit the file / etc / fstab and make sure that the paths to be mounted are in fstab
3) According to fstab Set the content, set Mount points on the client
(mount_points is the path exported by exports using mkdir)
4) Make sure that the path we want to mount is in / etc / exports
5) You can start the mount to link the directories on the server (mount -a)
/ etc / fstab Example of a file
โ syntax filesystem directory type options freq pass
oak: / export / root / boomer / nfs rw 0 0
^^^
Because the file is on the server, not on client,
the client setting is 0
oak: / export / exec / sun3 / usr nfs ro 0 0
oak: / export / exec / kvm / sun3 / usr / kvm nfs ro 0 0
oak: / usr / share / usr / share nfs ro 0 0
oak: / home / oak / home / oak nfs rw, bg 0 0
๐ฆ How NFS Work?
When we start the NFS file server, /etc/rc.local will automatically launch the exportfs program, specifying the files or directories that can be exported And we can only mount the specified directory.
โก NFS is built on top of the XDR / RPC protocol.
XDR: (eXternal Data Representation) External data representation
XDR (eXternal Data Representation) provides a way to data from one format to another data format standard notation to ensure that different computer, operating system and computer language, meaning that all data are represented by the same
RPC: (Remote procedure calls) remote procedure call
RPC (Remote Procedure Calls) Remote procedure calls, requesting the remote computer to provide service. The client will send RPC to the remote computer through the network, requesting service.
(General local machine: client remote machine: server)
Written by UndercOde
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
๐ฆ How Setting Up a NFS Client
Twitter.com/UndercOdeTC
๐ฆ Setting Up a NFS Client
1) Declare the machine as a client without a drive or data. Before using SunInstall
2) Edit the file / etc / fstab and make sure that the paths to be mounted are in fstab
3) According to fstab Set the content, set Mount points on the client
(mount_points is the path exported by exports using mkdir)
4) Make sure that the path we want to mount is in / etc / exports
5) You can start the mount to link the directories on the server (mount -a)
/ etc / fstab Example of a file
โ syntax filesystem directory type options freq pass
oak: / export / root / boomer / nfs rw 0 0
^^^
Because the file is on the server, not on client,
the client setting is 0
oak: / export / exec / sun3 / usr nfs ro 0 0
oak: / export / exec / kvm / sun3 / usr / kvm nfs ro 0 0
oak: / usr / share / usr / share nfs ro 0 0
oak: / home / oak / home / oak nfs rw, bg 0 0
๐ฆ mount syntax
โ syntax: mount -t type [-rv] -o [option] server: pathname / mount_point
MOUNT:
mount -a mount all the paths listed in / etc / fstab
mount -o ro, soft, bg dancer : / usr / local / usr / local / dancer
to dancer server's / usr / local mount to the client
/ usr / local / dancer and is only the Read
-t of the type: you want to mount Type, such as nfs or 4.2
-r: The mounted path is set to read only
-v: For each action of the mount process, messages are returned to the screen.
Hard: Repeat the request until the server responds. Do not respond to
the server may be down!
Soft: When the client's request cannot be responded, an
error message is returned after retry one time.
Bg: When the first request is unsuccessful, the second mount will be executed in the background.
Fg: retries mount has been performing
intr under the prompt symbol : when an NFS request is in progress, allow the keyboard to interrupt
๐ฆ the message when the mount is successful
NFS server hostname ok
hard mount fail
NFS server hostname not responding, still trying
soft... hostname server not reponding: RPC: Timed out
ยง UNMOUNT:
umount mount_point
umount -a unmount all the paths already mounted
1) Declare the machine as a client without a drive or data. Before using SunInstall
2) Edit the file / etc / fstab and make sure that the paths to be mounted are in fstab
3) According to fstab Set the content, set Mount points on the client
(mount_points is the path exported by exports using mkdir)
4) Make sure that the path we want to mount is in / etc / exports
5) You can start the mount to link the directories on the server (mount -a)
/ etc / fstab Example of a file
โ syntax filesystem directory type options freq pass
oak: / export / root / boomer / nfs rw 0 0
^^^
Because the file is on the server, not on client,
the client setting is 0
oak: / export / exec / sun3 / usr nfs ro 0 0
oak: / export / exec / kvm / sun3 / usr / kvm nfs ro 0 0
oak: / usr / share / usr / share nfs ro 0 0
oak: / home / oak / home / oak nfs rw, bg 0 0
๐ฆ How NFS Work?
When we start the NFS file server, /etc/rc.local will automatically launch the exportfs program, specifying the files or directories that can be exported And we can only mount the specified directory.
โก NFS is built on top of the XDR / RPC protocol.
XDR: (eXternal Data Representation) External data representation
XDR (eXternal Data Representation) provides a way to data from one format to another data format standard notation to ensure that different computer, operating system and computer language, meaning that all data are represented by the same
RPC: (Remote procedure calls) remote procedure call
RPC (Remote Procedure Calls) Remote procedure calls, requesting the remote computer to provide service. The client will send RPC to the remote computer through the network, requesting service.
(General local machine: client remote machine: server)
Written by UndercOde
โ โ โ ๏ฝ๐๐ปโบ๐ซฤ๐ฌ๐โ โ โ โ
This media is not supported in your browser
VIEW IN TELEGRAM